@@ -45,10 +45,10 @@ private import Synchronization
45
45
/// ## Creating a client manually
46
46
///
47
47
/// If the `with`-style methods for creating clients isn't suitable for your application then you
48
- /// can create and run a client manually. This requires you to call the ``run ()`` method in a task
48
+ /// can create and run a client manually. This requires you to call the ``maintainConnections ()`` method in a task
49
49
/// which instructs the client to start connecting to the server.
50
50
///
51
- /// The ``run ()`` method won't return until the client has finished handling all requests. You can
51
+ /// The ``maintainConnections ()`` method won't return until the client has finished handling all requests. You can
52
52
/// signal to the client that it should stop creating new request streams by calling ``beginGracefulShutdown()``.
53
53
/// This gives the client enough time to drain any requests already in flight. To stop the client
54
54
/// more abruptly you can cancel the task running your client. If your application requires
@@ -114,7 +114,7 @@ public final class GRPCClient: Sendable {
114
114
func checkExecutable( ) throws {
115
115
switch self {
116
116
case . notStarted, . running:
117
- // Allow .notStarted as making a request can race with 'run ()'. Transports should tolerate
117
+ // Allow .notStarted as making a request can race with 'maintainConnections ()'. Transports should tolerate
118
118
// queuing the request if not yet started.
119
119
( )
120
120
case . stopping, . stopped:
@@ -208,7 +208,7 @@ public final class GRPCClient: Sendable {
208
208
///
209
209
/// The client, and by extension this function, can only be run once. If the client is already
210
210
/// running or has already been closed then a ``RuntimeError`` is thrown.
211
- public func run ( ) async throws {
211
+ public func maintainConnections ( ) async throws {
212
212
try self . stateMachine. withLock { try $0. state. run ( ) }
213
213
214
214
// When this function exits the client must have stopped.
@@ -227,6 +227,11 @@ public final class GRPCClient: Sendable {
227
227
}
228
228
}
229
229
230
+ @available ( * , deprecated, renamed: " maintainConnections " , message: " It'll be removed before v2. " )
231
+ public func run( ) async throws {
232
+ try await self . maintainConnections ( )
233
+ }
234
+
230
235
/// Close the client.
231
236
///
232
237
/// The transport will be closed: this means that it will be given enough time to wait for
@@ -338,7 +343,7 @@ public final class GRPCClient: Sendable {
338
343
339
344
/// Start a bidirectional streaming RPC.
340
345
///
341
- /// - Note: ``run ()`` must have been called and still executing, and ``beginGracefulShutdown()`` mustn't
346
+ /// - Note: ``maintainConnections ()`` must have been called and still executing, and ``beginGracefulShutdown()`` mustn't
342
347
/// have been called.
343
348
///
344
349
/// - Parameters:
@@ -430,7 +435,7 @@ public func withGRPCClient<Result: Sendable>(
430
435
try await withThrowingDiscardingTaskGroup { group in
431
436
let client = GRPCClient ( transport: transport, interceptorPipeline: interceptorPipeline)
432
437
group. addTask {
433
- try await client. run ( )
438
+ try await client. maintainConnections ( )
434
439
}
435
440
436
441
let result = try await handleClient ( client)
0 commit comments