webkit
2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
|
Public Member Functions | |
Descriptors.ServiceDescriptor | getDescriptorForType () |
void | callMethod (Descriptors.MethodDescriptor method, RpcController controller, Message request, RpcCallback< Message > done) |
Message | getRequestPrototype (Descriptors.MethodDescriptor method) |
Message | getResponsePrototype (Descriptors.MethodDescriptor method) |
Abstract base interface for protocol-buffer-based RPC services. Services themselves are abstract classes (implemented either by servers or as stubs), but they subclass this base interface. The methods of this interface can be used to call the methods of the service without knowing its exact type at compile time (analogous to the Message interface).
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.
void com.google.protobuf.Service.callMethod | ( | Descriptors.MethodDescriptor | method, |
RpcController | controller, | ||
Message | request, | ||
RpcCallback< Message > | done | ||
) |
Call a method of the service specified by MethodDescriptor. This is normally implemented as a simple
that calls the standard definitions of the service's methods.
Preconditions:
Postconditions:
Descriptors.ServiceDescriptor com.google.protobuf.Service.getDescriptorForType | ( | ) |
Get the
describing this service and its methods.
Message com.google.protobuf.Service.getRequestPrototype | ( | Descriptors.MethodDescriptor | method | ) |
requires that the request passed in is of a particular subclass of
.
gets the default instances of this type for a given method. You can then call
on this instance to construct a builder to build an object which you can then pass to
.
Example:
MethodDescriptor method = service.getDescriptorForType().findMethodByName("Foo"); Message request = stub.getRequestPrototype(method).newBuilderForType() .mergeFrom(input).build(); service.callMethod(method, request, callback);
Message com.google.protobuf.Service.getResponsePrototype | ( | Descriptors.MethodDescriptor | method | ) |
Like
, but gets a prototype of the response message.
is generally not needed because the
implementation constructs the response message itself, but it may be useful in some cases to know ahead of time what type of object will be returned.