diff options
author | 2015-05-04 00:23:41 -0700 | |
---|---|---|
committer | 2015-05-04 00:23:41 -0700 | |
commit | 1ac95abbf3a8204d24f7d3a98e0072605cf291e7 (patch) | |
tree | bd345d113a319893b2802047a754d37dd379a3bf /src/objective-c/GRPCClient/private/GRPCCompletionQueue.m | |
parent | c71a9d2b56c8881bd076423d9c52f58fc822f6f7 (diff) | |
parent | 40b1e23b8c3998c6f64401c558872c5747c00f29 (diff) |
merge with head
Diffstat (limited to 'src/objective-c/GRPCClient/private/GRPCCompletionQueue.m')
-rw-r--r-- | src/objective-c/GRPCClient/private/GRPCCompletionQueue.m | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m b/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m index b98e8ea439..a0a10164b1 100644 --- a/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m +++ b/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m @@ -66,30 +66,21 @@ while (YES) { // The following call blocks until an event is available. grpc_event *event = grpc_completion_queue_next(unmanagedQueue, gpr_inf_future); + GRPCQueueCompletionHandler handler; switch (event->type) { - case GRPC_WRITE_ACCEPTED: - case GRPC_FINISH_ACCEPTED: - case GRPC_CLIENT_METADATA_READ: - case GRPC_READ: - case GRPC_FINISHED: - if (event->tag) { - GRPCEventHandler handler = (__bridge_transfer GRPCEventHandler) event->tag; - handler(event); - } + case GRPC_OP_COMPLETE: + handler = (__bridge_transfer GRPCQueueCompletionHandler)event->tag; + handler(event->data.op_complete); grpc_event_finish(event); - continue; + break; case GRPC_QUEUE_SHUTDOWN: - grpc_completion_queue_destroy(unmanagedQueue); grpc_event_finish(event); + grpc_completion_queue_destroy(unmanagedQueue); return; - case GRPC_SERVER_RPC_NEW: - NSAssert(NO, @"C gRPC library produced a server-only event."); - continue; + default: + grpc_event_finish(event); + [NSException raise:@"Unrecognized completion type" format:@""]; } - // This means the C gRPC library produced an event that wasn't known - // when this library was written. To preserve evolvability, ignore the - // unknown event on release builds. - NSAssert(NO, @"C gRPC library produced an unknown event."); }; }); } |