# Package com.google.gwt.user.client.rpc

Classes used in client-side implementation of remote procedure calls.

See: Description

Interface Summary
AsyncCallback<T>: The primary interface a caller must implement to receive a response from a remote procedure call.
HasRpcToken: An interface implemented by client-side RPC proxy objects.
IsSerializable: Marker interface indicating that a type is intended to be used with a `RemoteService`.
RemoteService: Marker interface that RPC interfaces should extend.
RpcToken: An interface for RPC token implementation objects included with each RPC call.
RpcTokenExceptionHandler: Handles an exception produced while processing `RpcToken`.
SerializationStreamFactory: An interface for creating `SerializationStreamReader`s and `SerializationStreamWriter`s.
SerializationStreamReader: An interface for reading values from a stream.
SerializationStreamWriter: An interface for writing values into a stream.
ServiceDefTarget: An interface implemented by client-side RPC proxy objects.
XsrfProtectedService: XSRF protected equivalent of `RemoteService`.
XsrfProtectedServiceAsync: Async peer of `XsrfProtectedService`.
XsrfTokenService: XSRF token generation RPC service.
XsrfTokenServiceAsync: Async peer of `XsrfTokenService`.

Class Summary
CustomFieldSerializer<T>: An interface that may be implemented by class-based custom field serializers which will reduce the amount of server-side reflection during serialization, hence improving their serialization performance.
RpcRequestBuilder: This class encapsulates the logic necessary to configure a RequestBuilder for use with an RPC proxy object.
XsrfToken: XSRF token.

Exception Summary
IncompatibleRemoteServiceException: Exception that will be passed to the `AsyncCallback.onFailure(Throwable)` method when an incompatibility is detected between a `RemoteService` client and its corresponding `RemoteService` server.
InvocationException: Occurs when a service invocation did not complete cleanly.
RpcTokenException: Exception that will be passed to the `RpcTokenExceptionHandler.onRpcTokenException(RpcTokenException)` method when RPC token processing resulted in an error.
SerializableException: Deprecated As of GWT 1.5, `Exception` implements `Serializable` and can be used in place of this class
SerializationException: Base exception type for errors relating to the serialization stream.
SerializedTypeViolationException: Exception that will be passed to the `AsyncCallback.onFailure(Throwable)` method when the value of an argument to a method in an RPC message is of the incorrect type.
ServiceDefTarget.NoServiceEntryPointSpecifiedException: This exception is thrown when a service is invoked without `ServiceDefTarget.setServiceEntryPoint(String)` having been called.
StatusCodeException: Indicates that an RPC response was returned with an invalid HTTP status code.

Annotation Types Summary
GwtTransient: This annotation means the same thing as the `transient` keyword, but it is ignored by all serialization systems other than GWT's.
RemoteServiceRelativePath: Associates a `RemoteService` with a relative path.
RpcToken.RpcTokenImplementation: `RemoteService` interfaces specifying `RpcToken` implementation using this annotation will only have serializers for the specific class generated, as opposed to generating serializers for all `RpcToken` implementations.

## Package com.google.gwt.user.client.rpc Description

Classes used in client-side implementation of remote procedure calls. Most applications will be interested in AsyncCallback, InvocationException, RemoteService, and ServiceDefTarget. The other classes in this package are used primarily in implementing RPC proxies.