benchmark_servicer.py
Go to the documentation of this file.
1 # Copyright 2020 The gRPC Authors
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 """The Python AsyncIO Benchmark Servicers."""
15 
16 import asyncio
17 import logging
18 import unittest
19 
20 from grpc.experimental import aio
21 
22 from src.proto.grpc.testing import benchmark_service_pb2_grpc
23 from src.proto.grpc.testing import messages_pb2
24 
25 
26 class BenchmarkServicer(benchmark_service_pb2_grpc.BenchmarkServiceServicer):
27 
28  async def UnaryCall(self, request, unused_context):
29  payload = messages_pb2.Payload(body=b'\0' * request.response_size)
30  return messages_pb2.SimpleResponse(payload=payload)
31 
32  async def StreamingFromServer(self, request, unused_context):
33  payload = messages_pb2.Payload(body=b'\0' * request.response_size)
34  # Sends response at full capacity!
35  while True:
36  yield messages_pb2.SimpleResponse(payload=payload)
37 
38  async def StreamingCall(self, request_iterator, unused_context):
39  async for request in request_iterator:
40  payload = messages_pb2.Payload(body=b'\0' * request.response_size)
41  yield messages_pb2.SimpleResponse(payload=payload)
42 
43 
45  benchmark_service_pb2_grpc.BenchmarkServiceServicer):
46  """Generic (no-codec) Server implementation for the Benchmark service."""
47 
48  def __init__(self, resp_size):
49  self._response = '\0' * resp_size
50 
51  async def UnaryCall(self, unused_request, unused_context):
52  return self._response
53 
54  async def StreamingCall(self, request_iterator, unused_context):
55  async for _ in request_iterator:
56  yield self._response
benchmark_servicer.GenericBenchmarkServicer
Definition: benchmark_servicer.py:45
benchmark_servicer.GenericBenchmarkServicer.__init__
def __init__(self, resp_size)
Definition: benchmark_servicer.py:48
grpc::experimental
Definition: include/grpcpp/channel.h:46
benchmark_servicer.GenericBenchmarkServicer.StreamingCall
def StreamingCall(self, request_iterator, unused_context)
Definition: benchmark_servicer.py:54
benchmark_servicer.GenericBenchmarkServicer._response
_response
Definition: benchmark_servicer.py:49
benchmark_servicer.GenericBenchmarkServicer.UnaryCall
def UnaryCall(self, unused_request, unused_context)
Definition: benchmark_servicer.py:51
benchmark_servicer.BenchmarkServicer.UnaryCall
def UnaryCall(self, request, unused_context)
Definition: benchmark_servicer.py:28
messages_pb2.Payload
Payload
Definition: messages_pb2.py:583
messages_pb2.SimpleResponse
SimpleResponse
Definition: messages_pb2.py:604
benchmark_servicer.BenchmarkServicer
Definition: benchmark_servicer.py:26


grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:36