webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | List of all members
com.google.protobuf.RpcChannel Interface Reference

Public Member Functions

void callMethod (Descriptors.MethodDescriptor method, RpcController controller, Message request, Message responsePrototype, RpcCallback< Message > done)
 

Detailed Description

Abstract interface for an RPC channel. An

RpcChannel

represents a communication line to a Service which can be used to call that Service's methods. The Service may be running on another machine. Normally, you should not call an

RpcChannel

directly, but instead construct a stub Service wrapping it. Example:

  RpcChannel channel = rpcImpl.newChannel("remotehost.example.com:1234");
  RpcController controller = rpcImpl.newController();
  MyService service = MyService.newStub(channel);
  service.myMethod(controller, request, callback);

Starting with version 2.3.0, RPC implementations should not try to build on this, but should instead provide code generator plugins which generate code specific to the particular RPC implementation. This way the generated code can be more appropriate for the implementation in use and can avoid unnecessary layers of indirection.

Author
kento.nosp@m.n@go.nosp@m.ogle..nosp@m.com Kenton Varda

Member Function Documentation

◆ callMethod()

void com.google.protobuf.RpcChannel.callMethod ( Descriptors.MethodDescriptor  method,
RpcController  controller,
Message  request,
Message  responsePrototype,
RpcCallback< Message done 
)

Call the given method of the remote service. This method is similar to

Service.callMethod()

with one important difference: the caller decides the types of the

objects, not the callee. The request may be of any type as long as

request.getDescriptor() == method.getInputType()

. The response passed to the callback will be of the same type as

responsePrototype

(which must have

getDescriptor() == method.getOutputType()

).


The documentation for this interface was generated from the following file: