Beispiel #1
0
 def Echo(self, rpc_controller, request, done):
     response = echo.EchoResponse()
     response.message = request.message
     if done is not None:
         done(response)
     else:
         return response
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #6
0
 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)
Beispiel #7
0
 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)
Beispiel #9
0
 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)
Beispiel #10
0
        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
Beispiel #11
0
 def RepeatMultiple(self, request):
     output = request.input
     if request.count > 0:
         output = output * request.count
     return pb.EchoResponse(output=output)
Beispiel #12
0
 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)
Beispiel #16
0
            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,
         )