Browse Source

Merge pull request #141 from MrMage/move-free-methods

Add some free methods as static members to a `gRPC` class instead
Tim Burks 7 years ago
parent
commit
07e081152b
2 changed files with 35 additions and 31 deletions
  1. 26 22
      Sources/gRPC/gRPC.swift
  2. 9 9
      Tests/gRPCTests/GRPCTests.swift

+ 26 - 22
Sources/gRPC/gRPC.swift

@@ -18,28 +18,32 @@
 #endif
 import Foundation // for String.Encoding
 
-/// Initializes gRPC system
-public func initialize() {
-  grpc_init()
-}
-
-/// Shuts down gRPC system
-public func shutdown() {
-  grpc_shutdown()
-}
-
-/// Returns version of underlying gRPC library
-///
-/// Returns: gRPC version string
-public func version() -> String? {
-  return String(cString: grpc_version_string(), encoding: String.Encoding.utf8)
-}
-
-/// Returns name associated with gRPC version
-///
-/// Returns: gRPC version name
-public func gStandsFor() -> String? {
-  return String(cString: grpc_g_stands_for(), encoding: String.Encoding.utf8)
+public final class gRPC {
+  private init() { }  // Static members only.
+  
+  /// Initializes gRPC system
+  public static func initialize() {
+    grpc_init()
+  }
+  
+  /// Shuts down gRPC system
+  public static func shutdown() {
+    grpc_shutdown()
+  }
+  
+  /// Returns version of underlying gRPC library
+  ///
+  /// Returns: gRPC version string
+  public static var version: String? {
+    return String(cString: grpc_version_string(), encoding: String.Encoding.utf8)
+  }
+  
+  /// Returns name associated with gRPC version
+  ///
+  /// Returns: gRPC version name
+  public static var gStandsFor: String? {
+    return String(cString: grpc_g_stands_for(), encoding: String.Encoding.utf8)
+  }
 }
 
 /// Status codes for gRPC operations (replicated from status_code_enum.h)

+ 9 - 9
Tests/gRPCTests/GRPCTests.swift

@@ -80,7 +80,7 @@ func runTest(useSSL: Bool) {
   let serverRunningSemaphore = DispatchSemaphore(value: 0)
 
   // create the server
-  let server: gRPC.Server
+  let server: Server
   if useSSL {
     let certificateURL = URL(fileURLWithPath: "Tests/ssl.crt")
     let keyURL = URL(fileURLWithPath: "Tests/ssl.key")
@@ -90,11 +90,11 @@ func runTest(useSSL: Bool) {
     else {
       return
     }
-    server = gRPC.Server(address: address,
-                         key: key,
-                         certs: certificate)
+    server = Server(address: address,
+                    key: key,
+                    certs: certificate)
   } else {
-    server = gRPC.Server(address: address)
+    server = Server(address: address)
   }
 
   // start the server
@@ -135,7 +135,7 @@ func verify_metadata(_ metadata: Metadata, expected: [String: String], file: Sta
 
 func runClient(useSSL: Bool) throws {
   let message = clientText.data(using: .utf8)
-  let channel: gRPC.Channel
+  let channel: Channel
 
   if useSSL {
     let certificateURL = URL(fileURLWithPath: "Tests/ssl.crt")
@@ -145,9 +145,9 @@ func runClient(useSSL: Bool) throws {
       return
     }
     let host = "example.com"
-    channel = gRPC.Channel(address: address, certificates: certificates, host: host)
+    channel = Channel(address: address, certificates: certificates, host: host)
   } else {
-    channel = gRPC.Channel(address: address, secure: false)
+    channel = Channel(address: address, secure: false)
   }
 
   channel.host = host
@@ -179,7 +179,7 @@ func runClient(useSSL: Bool) throws {
   }
 }
 
-func runServer(server: gRPC.Server) throws {
+func runServer(server: Server) throws {
   var requestCount = 0
   let sem = DispatchSemaphore(value: 0)
   server.run { requestHandler in