Beispiel #1
0
    def __init__(self,
                 request_async_iterator: Optional[AsyncIterable[RequestType]],
                 deadline: Optional[float], metadata: MetadataType,
                 credentials: Optional[grpc.CallCredentials],
                 channel: cygrpc.AioChannel, method: bytes,
                 request_serializer: SerializingFunction,
                 response_deserializer: DeserializingFunction,
                 loop: asyncio.AbstractEventLoop) -> None:
        super().__init__(channel.call(method, deadline, credentials), loop)
        self._metadata = metadata
        self._request_serializer = request_serializer
        self._response_deserializer = response_deserializer

        self._metadata_sent = asyncio.Event(loop=loop)
        self._done_writing = False

        self._initializer = self._loop.create_task(self._prepare_rpc())

        # If user passes in an async iterator, create a consumer coroutine.
        if request_async_iterator is not None:
            self._async_request_poller = loop.create_task(
                self._consume_request_iterator(request_async_iterator))
        else:
            self._async_request_poller = None
        self._message_aiter = None
Beispiel #2
0
 def __init__(self, request: RequestType, deadline: Optional[float],
              metadata: MetadataType,
              credentials: Optional[grpc.CallCredentials],
              channel: cygrpc.AioChannel, method: bytes,
              request_serializer: SerializingFunction,
              response_deserializer: DeserializingFunction,
              loop: asyncio.AbstractEventLoop) -> None:
     super().__init__(channel.call(method, deadline, credentials), metadata,
                      request_serializer, response_deserializer, loop)
     self._request = request
     self._init_unary_response_mixin(self._invoke())
Beispiel #3
0
 def __init__(self, request: RequestType, deadline: Optional[float],
              metadata: MetadataType,
              credentials: Optional[grpc.CallCredentials],
              channel: cygrpc.AioChannel, method: bytes,
              request_serializer: SerializingFunction,
              response_deserializer: DeserializingFunction) -> None:
     super().__init__(channel.call(method, deadline, credentials))
     self._request = request
     self._metadata = metadata
     self._request_serializer = request_serializer
     self._response_deserializer = response_deserializer
     self._call = self._loop.create_task(self._invoke())
Beispiel #4
0
 def __init__(self, request_iterator: Optional[RequestIterableType],
              deadline: Optional[float], metadata: Metadata,
              credentials: Optional[grpc.CallCredentials],
              wait_for_ready: Optional[bool], channel: cygrpc.AioChannel,
              method: bytes, request_serializer: SerializingFunction,
              response_deserializer: DeserializingFunction,
              loop: asyncio.AbstractEventLoop) -> None:
     super().__init__(
         channel.call(method, deadline, credentials, wait_for_ready),
         metadata, request_serializer, response_deserializer, loop)
     self._initializer = self._loop.create_task(self._prepare_rpc())
     self._init_stream_request_mixin(request_iterator)
     self._init_stream_response_mixin(self._initializer)
Beispiel #5
0
    def __init__(self,
                 request_async_iterator: Optional[AsyncIterable[RequestType]],
                 deadline: Optional[float], metadata: MetadataType,
                 credentials: Optional[grpc.CallCredentials],
                 channel: cygrpc.AioChannel, method: bytes,
                 request_serializer: SerializingFunction,
                 response_deserializer: DeserializingFunction,
                 loop: asyncio.AbstractEventLoop) -> None:
        super().__init__(channel.call(method, deadline, credentials), metadata,
                         request_serializer, response_deserializer, loop)

        self._init_stream_request_mixin(request_async_iterator)
        self._init_unary_response_mixin(self._conduct_rpc())
Beispiel #6
0
 def __init__(self, request: RequestType, deadline: Optional[float],
              metadata: Metadata,
              credentials: Optional[grpc.CallCredentials],
              wait_for_ready: Optional[bool], channel: cygrpc.AioChannel,
              method: bytes, request_serializer: SerializingFunction,
              response_deserializer: DeserializingFunction,
              loop: asyncio.AbstractEventLoop) -> None:
     super().__init__(
         channel.call(method, deadline, credentials, wait_for_ready),
         metadata, request_serializer, response_deserializer, loop)
     self._request = request
     self._send_unary_request_task = loop.create_task(
         self._send_unary_request())
     self._init_stream_response_mixin(self._send_unary_request_task)
Beispiel #7
0
 def __init__(self, request: RequestType, deadline: Optional[float],
              metadata: MetadataType,
              credentials: Optional[grpc.CallCredentials],
              channel: cygrpc.AioChannel, method: bytes,
              request_serializer: SerializingFunction,
              response_deserializer: DeserializingFunction,
              loop: asyncio.AbstractEventLoop) -> None:
     super().__init__(channel.call(method, deadline, credentials), loop)
     self._request = request
     self._metadata = metadata
     self._request_serializer = request_serializer
     self._response_deserializer = response_deserializer
     self._send_unary_request_task = loop.create_task(
         self._send_unary_request())
     self._message_aiter = None