RpcController mediates a single method call. The primary purpose of the controller is
to provide a way to manipulate settings specific to the RPC implementation and to find out about
RPC-level errors.
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.
The methods provided by the RpcController interface are intended to be a "least common
denominator" set of features which we expect all implementations to support. Specific
implementations may provide more advanced features (e.g. deadline propagation).
| Modifier and Type | Method and Description |
|---|---|
| public String | |
| public boolean | |
| public boolean | isCanceled()
If |
| public void | notifyOnCancel(RpcCallback<Object> callback)
Asks that the given callback be called when the RPC is canceled. |
| public void | |
| public void | |
| public void |
| errorText | back to summary |
|---|---|
| public String errorText() If | |
| failed | back to summary |
|---|---|
| public boolean failed() After a call has finished, returns true if the call failed. The possible reasons for failure
depend on the RPC implementation. | |
| isCanceled | back to summary |
|---|---|
| public boolean isCanceled() If | |
| notifyOnCancel | back to summary |
|---|---|
| public void notifyOnCancel(RpcCallback<Object> callback) Asks that the given callback be called when the RPC is canceled. The parameter passed to the
callback will always be
| |
| reset | back to summary |
|---|---|
| public void reset() Resets the RpcController to its initial state so that it may be reused in a new call. This can be called from the client side only. It must not be called while an RPC is in progress. | |
| setFailed | back to summary |
|---|---|
| public void setFailed(String reason) Causes | |
| startCancel | back to summary |
|---|---|
| public void startCancel() Advises the RPC system that the caller desires that the RPC call be canceled. The RPC system may cancel it immediately, may wait awhile and then cancel it, or may not even cancel the call at all. If the call is canceled, the "done" callback will still be called and the RpcController will indicate that the call failed at that time. | |