aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/grpcio/py3/grpc/_typing.py
diff options
context:
space:
mode:
authornkozlovskiy <nmk@ydb.tech>2023-09-29 12:24:06 +0300
committernkozlovskiy <nmk@ydb.tech>2023-09-29 12:41:34 +0300
commite0e3e1717e3d33762ce61950504f9637a6e669ed (patch)
treebca3ff6939b10ed60c3d5c12439963a1146b9711 /contrib/python/grpcio/py3/grpc/_typing.py
parent38f2c5852db84c7b4d83adfcb009eb61541d1ccd (diff)
downloadydb-e0e3e1717e3d33762ce61950504f9637a6e669ed.tar.gz
add ydb deps
Diffstat (limited to 'contrib/python/grpcio/py3/grpc/_typing.py')
-rw-r--r--contrib/python/grpcio/py3/grpc/_typing.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/contrib/python/grpcio/py3/grpc/_typing.py b/contrib/python/grpcio/py3/grpc/_typing.py
new file mode 100644
index 00000000000..d2a0b472153
--- /dev/null
+++ b/contrib/python/grpcio/py3/grpc/_typing.py
@@ -0,0 +1,58 @@
+# Copyright 2022 gRPC authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""Common types for gRPC Sync API"""
+
+from typing import (TYPE_CHECKING, Any, Callable, Iterable, Iterator, Optional,
+ Sequence, Tuple, TypeVar, Union)
+
+from grpc._cython import cygrpc
+
+if TYPE_CHECKING:
+ from grpc import ServicerContext
+ from grpc._server import _RPCState
+
+RequestType = TypeVar('RequestType')
+ResponseType = TypeVar('ResponseType')
+SerializingFunction = Callable[[Any], bytes]
+DeserializingFunction = Callable[[bytes], Any]
+MetadataType = Sequence[Tuple[str, Union[str, bytes]]]
+ChannelArgumentType = Tuple[str, Any]
+DoneCallbackType = Callable[[Any], None]
+NullaryCallbackType = Callable[[], None]
+RequestIterableType = Iterable[Any]
+ResponseIterableType = Iterable[Any]
+UserTag = Callable[[cygrpc.BaseEvent], bool]
+IntegratedCallFactory = Callable[[
+ int, bytes, None, Optional[float], Optional[MetadataType], Optional[
+ cygrpc.CallCredentials], Sequence[Sequence[cygrpc.
+ Operation]], UserTag, Any
+], cygrpc.IntegratedCall]
+ServerTagCallbackType = Tuple[Optional['_RPCState'],
+ Sequence[NullaryCallbackType]]
+ServerCallbackTag = Callable[[cygrpc.BaseEvent], ServerTagCallbackType]
+ArityAgnosticMethodHandler = Union[
+ Callable[[RequestType, 'ServicerContext', Callable[[ResponseType], None]],
+ ResponseType],
+ Callable[[RequestType, 'ServicerContext', Callable[[ResponseType], None]],
+ Iterator[ResponseType]],
+ Callable[[
+ Iterator[RequestType], 'ServicerContext', Callable[[ResponseType], None]
+ ], ResponseType], Callable[[
+ Iterator[RequestType], 'ServicerContext', Callable[[ResponseType], None]
+ ], Iterator[ResponseType]], Callable[[RequestType, 'ServicerContext'],
+ ResponseType],
+ Callable[[RequestType, 'ServicerContext'], Iterator[ResponseType]],
+ Callable[[Iterator[RequestType], 'ServicerContext'],
+ ResponseType], Callable[[Iterator[RequestType], 'ServicerContext'],
+ Iterator[ResponseType]]]