def Echo(self, rpc_controller, request, done): response = echo.EchoResponse() response.message = request.message if done is not None: done(response) else: return response
def Chat(self, request_iterator, context): print("==== received request for Chat ===") for key, value in context.invocation_metadata(): print('Received initial metadata: key=%s value=%s' % (key, value)) context.set_trailing_metadata(( ('checksum-bin', b'I agree'), ('retry', 'false'), )) for req in request_iterator: yield echo_pb2.EchoResponse(content=req.content)
def Expand(self, request, context): print("==== received request for Expand ===") print(request) context.set_trailing_metadata(( ('checksum-bin', b'I agree'), ('retry', 'false'), )) arr = request.content.split() for word in arr: yield echo_pb2.EchoResponse(content=word)
def Echo(self, request, context): metadata = context.invocation_metadata() logging.debug("Echo metadata: " + str(metadata)) metadata_dict = GetTracingMetadata(context) logging.debug("Metadata dict: " + str(metadata_dict)) if 'x-b3-traceid' in metadata_dict: trace_id = metadata_dict['x-b3-traceid'] logging.debug("Trace ID: " + trace_id) span_context = SpanContext(trace_id=trace_id, span_id=metadata_dict['x-b3-spanid']) tracer = Tracer(span_context=span_context, exporter=exporter, sampler=always_on.AlwaysOnSampler()) with tracer.span(name='echo') as span: logging.debug("Processing Echo: " + str(request)) span.add_attribute("message", request.message) time.sleep(0.2) return echo_pb2.EchoResponse(message=request.message)
def Echo(self, request, context): return echo_pb2.EchoResponse(message=request.message)
def Collect(self, request_iterator, context): print("==== received request for Collect ===") res = "" for req in request_iterator: res = res + " " + req.content return echo_pb2.EchoResponse(content=res)
def Echo(self, request, context): print("==== received request for Echo ===") print(request) return echo_pb2.EchoResponse(content=request.content)
def EchoAbort(self, request, context): context.set_code(grpc.StatusCode.ABORTED) return echo_pb2.EchoResponse(message=request.message)
def Echo(self, request, context): print(f"received an echo request (unary)... { request.message }") return echo_pb2.EchoResponse(message='Hello, %s!' % request.message, message_count=22)
errmsg = "Py exec function (%s.%s) failed: %s" % ( class_name, method_name, e.message) print errmsg print 'invoke method failed.' print '%s' % traceback.format_exc() return (-21, errmsg) if __name__ == "__main__": import echo_pb2 request = echo_pb2.EchoRequest() request.part1 = 'hello' request.part2 = 'from python' request.number = 15 req_data = request.SerializeToString() ext_info = [ 1, ] (ret, rsp_data) = process('echosample.EchoService.echoCall', req_data, ext_info) if ret == 0: response = echo_pb2.EchoResponse() response.ParseFromString(rsp_data) print response else: print 'error ret: ' + str(ret) print 'error msg: ' + rsp_data
def RepeatMultiple(self, request): output = request.input if request.count > 0: output = output * request.count return pb.EchoResponse(output=output)
def Repeat(self, request): return pb.EchoResponse(output=request.input)
def ServerStreamingEcho(self, request, context): logging.debug("Processing ServerStreamingEcho: " + str(request)) for _ in range(request.message_count): time.sleep(request.message_interval / 1000) yield echo_pb2.EchoResponse(message=request.message)
def EchoAbort(self, request, context): logging.debug("Processing Abort: " + str(request)) context.set_code(grpc.StatusCode.ABORTED) return echo_pb2.EchoResponse(message=request.message)
def ServerStreamingEcho(self, request, context): for _ in range(10): yield echo_pb2.EchoResponse(message=request.message)
size = int(packet_header[1]) while True: return_data += self._socket_connection.recv(size) if len(return_data) >= size: break raw_meta = return_data[0:packet_header[2]] rpc_meta = baidu_rpc_meta_pb2.RpcMeta() rpc_meta.ParseFromString(raw_meta) #print(rpc_meta) raw_res = return_data[packet_header[2]:] res_pb.ParseFromString(raw_res) return True except Exception as e: print("exception " + str(e)) return False if __name__ == '__main__': import echo_pb2 ip = "localhost" port = 8000 client = BrpcClient(ip, port) req_msg = echo_pb2.EchoRequest() req_msg.message = "hello world" res_msg = echo_pb2.EchoResponse() rc = client.send_req("EchoService", "Echo", req_msg, res_msg) if not rc: sys.exit(1) print("recieve the response sucessfully") print("response: {0}".format(res_msg.message))
def ServerStreamingEchoAbort(self, request, context): for _ in range(5): yield echo_pb2.EchoResponse(message=request.message) context.set_code(grpc.StatusCode.ABORTED)
def Echo(self, request_iterator, context): for request in request_iterator: yield echo_pb2.EchoResponse( message=request.message, )