@@ -21,10 +21,10 @@ private import Synchronization
21
21
/// A ``GRPCClient`` communicates to a server via a ``ClientTransport``.
22
22
///
23
23
/// You can start RPCs to the server by calling the corresponding method:
24
- /// - ``unary(request:descriptor:serializer:deserializer:options:handler :)``
25
- /// - ``clientStreaming(request:descriptor:serializer:deserializer:options:handler :)``
26
- /// - ``serverStreaming(request:descriptor:serializer:deserializer:options:handler :)``
27
- /// - ``bidirectionalStreaming(request:descriptor:serializer:deserializer:options:handler :)``
24
+ /// - ``unary(request:descriptor:serializer:deserializer:options:onResponse :)``
25
+ /// - ``clientStreaming(request:descriptor:serializer:deserializer:options:onResponse :)``
26
+ /// - ``serverStreaming(request:descriptor:serializer:deserializer:options:onResponse :)``
27
+ /// - ``bidirectionalStreaming(request:descriptor:serializer:deserializer:options:onResponse :)``
28
28
///
29
29
/// However, in most cases you should prefer wrapping the ``GRPCClient`` with a generated stub.
30
30
///
@@ -247,16 +247,18 @@ public final class GRPCClient: Sendable {
247
247
/// - serializer: A request serializer.
248
248
/// - deserializer: A response deserializer.
249
249
/// - options: Call specific options.
250
- /// - handler : A unary response handler.
250
+ /// - handleResponse : A unary response handler.
251
251
///
252
- /// - Returns: The return value from the `handler `.
252
+ /// - Returns: The return value from the `handleResponse `.
253
253
public func unary< Request, Response, ReturnValue: Sendable > (
254
254
request: ClientRequest < Request > ,
255
255
descriptor: MethodDescriptor ,
256
256
serializer: some MessageSerializer < Request > ,
257
257
deserializer: some MessageDeserializer < Response > ,
258
258
options: CallOptions ,
259
- handler: @Sendable @escaping ( ClientResponse < Response > ) async throws -> ReturnValue
259
+ onResponse handleResponse: @Sendable @escaping (
260
+ _ response: ClientResponse < Response >
261
+ ) async throws -> ReturnValue
260
262
) async throws -> ReturnValue {
261
263
try await self . bidirectionalStreaming (
262
264
request: StreamingClientRequest ( single: request) ,
@@ -266,7 +268,7 @@ public final class GRPCClient: Sendable {
266
268
options: options
267
269
) { stream in
268
270
let singleResponse = await ClientResponse ( stream: stream)
269
- return try await handler ( singleResponse)
271
+ return try await handleResponse ( singleResponse)
270
272
}
271
273
}
272
274
@@ -278,16 +280,18 @@ public final class GRPCClient: Sendable {
278
280
/// - serializer: A request serializer.
279
281
/// - deserializer: A response deserializer.
280
282
/// - options: Call specific options.
281
- /// - handler : A unary response handler.
283
+ /// - handleResponse : A unary response handler.
282
284
///
283
- /// - Returns: The return value from the `handler `.
285
+ /// - Returns: The return value from the `handleResponse `.
284
286
public func clientStreaming< Request, Response, ReturnValue: Sendable > (
285
287
request: StreamingClientRequest < Request > ,
286
288
descriptor: MethodDescriptor ,
287
289
serializer: some MessageSerializer < Request > ,
288
290
deserializer: some MessageDeserializer < Response > ,
289
291
options: CallOptions ,
290
- handler: @Sendable @escaping ( ClientResponse < Response > ) async throws -> ReturnValue
292
+ onResponse handleResponse: @Sendable @escaping (
293
+ _ response: ClientResponse < Response >
294
+ ) async throws -> ReturnValue
291
295
) async throws -> ReturnValue {
292
296
try await self . bidirectionalStreaming (
293
297
request: request,
@@ -297,7 +301,7 @@ public final class GRPCClient: Sendable {
297
301
options: options
298
302
) { stream in
299
303
let singleResponse = await ClientResponse ( stream: stream)
300
- return try await handler ( singleResponse)
304
+ return try await handleResponse ( singleResponse)
301
305
}
302
306
}
303
307
@@ -309,24 +313,26 @@ public final class GRPCClient: Sendable {
309
313
/// - serializer: A request serializer.
310
314
/// - deserializer: A response deserializer.
311
315
/// - options: Call specific options.
312
- /// - handler : A response stream handler.
316
+ /// - handleResponse : A response stream handler.
313
317
///
314
- /// - Returns: The return value from the `handler `.
318
+ /// - Returns: The return value from the `handleResponse `.
315
319
public func serverStreaming< Request, Response, ReturnValue: Sendable > (
316
320
request: ClientRequest < Request > ,
317
321
descriptor: MethodDescriptor ,
318
322
serializer: some MessageSerializer < Request > ,
319
323
deserializer: some MessageDeserializer < Response > ,
320
324
options: CallOptions ,
321
- handler: @Sendable @escaping ( StreamingClientResponse < Response > ) async throws -> ReturnValue
325
+ onResponse handleResponse: @Sendable @escaping (
326
+ _ response: StreamingClientResponse < Response >
327
+ ) async throws -> ReturnValue
322
328
) async throws -> ReturnValue {
323
329
try await self . bidirectionalStreaming (
324
330
request: StreamingClientRequest ( single: request) ,
325
331
descriptor: descriptor,
326
332
serializer: serializer,
327
333
deserializer: deserializer,
328
334
options: options,
329
- handler : handler
335
+ onResponse : handleResponse
330
336
)
331
337
}
332
338
@@ -341,16 +347,18 @@ public final class GRPCClient: Sendable {
341
347
/// - serializer: A request serializer.
342
348
/// - deserializer: A response deserializer.
343
349
/// - options: Call specific options.
344
- /// - handler : A response stream handler.
350
+ /// - handleResponse : A response stream handler.
345
351
///
346
- /// - Returns: The return value from the `handler `.
352
+ /// - Returns: The return value from the `handleResponse `.
347
353
public func bidirectionalStreaming< Request, Response, ReturnValue: Sendable > (
348
354
request: StreamingClientRequest < Request > ,
349
355
descriptor: MethodDescriptor ,
350
356
serializer: some MessageSerializer < Request > ,
351
357
deserializer: some MessageDeserializer < Response > ,
352
358
options: CallOptions ,
353
- handler: @Sendable @escaping ( StreamingClientResponse < Response > ) async throws -> ReturnValue
359
+ onResponse handleResponse: @Sendable @escaping (
360
+ _ response: StreamingClientResponse < Response >
361
+ ) async throws -> ReturnValue
354
362
) async throws -> ReturnValue {
355
363
let applicableInterceptors = try self . stateMachine. withLock {
356
364
try $0. checkExecutableAndGetApplicableInterceptors ( for: descriptor)
@@ -367,7 +375,7 @@ public final class GRPCClient: Sendable {
367
375
deserializer: deserializer,
368
376
transport: self . transport,
369
377
interceptors: applicableInterceptors,
370
- handler: handler
378
+ handler: handleResponse
371
379
)
372
380
}
373
381
}
0 commit comments