14 """Common interfaces and implementation."""
23 return tuplified_metadata + ((
24 'grpc.metadata_added_by_runtime',
25 'gRPC is allowed to add metadata in transmission and does so.',
29 FUSSED_EMPTY_METADATA =
_fuss(())
34 return FUSSED_EMPTY_METADATA
36 return _fuss(tuple(metadata))
40 rpc_names_to_descriptors = {}
41 for service_descriptor
in service_descriptors:
42 for method_descriptor
in service_descriptor.methods_by_name.values():
43 rpc_name =
'/{}/{}'.
format(service_descriptor.full_name,
44 method_descriptor.name)
45 rpc_names_to_descriptors[rpc_name] = method_descriptor
46 return rpc_names_to_descriptors
50 collections.namedtuple(
'ChannelRpcRead', (
63 raise NotImplementedError()
67 raise NotImplementedError()
71 raise NotImplementedError()
75 raise NotImplementedError()
79 raise NotImplementedError()
83 raise NotImplementedError()
87 raise NotImplementedError()
91 raise NotImplementedError()
95 raise NotImplementedError()
101 def invoke_rpc(self, method_full_rpc_name, invocation_metadata, requests,
102 requests_closed, timeout):
103 raise NotImplementedError()
107 collections.namedtuple(
'ServerRpcRead', (
123 raise NotImplementedError()
127 raise NotImplementedError()
131 raise NotImplementedError()
135 raise NotImplementedError()
139 raise NotImplementedError()
146 invocation_metadata, request, deadline):
147 raise NotImplementedError()
151 invocation_metadata, request, deadline):
152 raise NotImplementedError()
156 invocation_metadata, deadline):
157 raise NotImplementedError()
161 invocation_metadata, deadline):
162 raise NotImplementedError()