18 from grpc_testing
import _common
27 servicer = descriptors_to_servicers[method_descriptor.containing_service]
28 return getattr(servicer, method_descriptor.name)
33 def service(implementation, rpc, servicer_context):
34 _service.unary_unary(implementation, rpc, request, servicer_context)
41 def service(implementation, rpc, servicer_context):
42 _service.unary_stream(implementation, rpc, request, servicer_context)
49 def service(implementation, rpc, servicer_context):
50 _service.stream_unary(implementation, rpc, handler, servicer_context)
57 def service(implementation, rpc, servicer_context):
58 _service.stream_stream(implementation, rpc, handler, servicer_context)
65 def __init__(self, descriptors_to_servicers, time):
69 def _invoke(self, service_behavior, method_descriptor, handler,
70 invocation_metadata, deadline):
73 rpc =
_rpc.Rpc(handler, invocation_metadata)
74 if handler.add_termination_callback(rpc.extrinsic_abort):
76 rpc, self.
_time, deadline)
77 service_thread = threading.Thread(target=service_behavior,
83 service_thread.start()
86 invocation_metadata, request, deadline):
88 invocation_metadata, deadline)
91 invocation_metadata, request, deadline):
93 invocation_metadata, deadline)
96 invocation_metadata, deadline):
98 invocation_metadata, deadline)
101 invocation_metadata, deadline):
103 handler, invocation_metadata, deadline)
108 return None, _handler.handler_without_deadline(requests_closed)
110 deadline = time.time() + timeout
111 handler = _handler.handler_with_deadline(requests_closed, time,
113 return deadline, handler
126 invocation_metadata, request,
134 invocation_metadata, request,
142 invocation_metadata, deadline)
149 invocation_metadata, deadline)