public interface RSocketRequester
RSocket
with a fluent API accepting
and returning higher level Objects for input and for output, along with
methods to prepare routing and other metadata.Modifier and Type | Interface and Description |
---|---|
static interface |
RSocketRequester.Builder
Builder to create a requester by connecting to a server.
|
static interface |
RSocketRequester.MetadataSpec<S extends RSocketRequester.MetadataSpec<S>>
Spec for specifying the metadata.
|
static interface |
RSocketRequester.RequestSpec
Spec for providing input data for an RSocket request and triggering the exchange.
|
Modifier and Type | Method and Description |
---|---|
static RSocketRequester.Builder |
builder()
Obtain a builder to create a client
RSocketRequester by connecting
to an RSocket server. |
MimeType |
dataMimeType()
Return the data
MimeType selected for the underlying RSocket
at connection time. |
RSocketRequester.RequestSpec |
metadata(Object metadata,
MimeType mimeType)
Begin to specify a new request with the given metadata value.
|
MimeType |
metadataMimeType()
Return the metadata
MimeType selected for the underlying RSocket
at connection time. |
RSocketRequester.RequestSpec |
route(String route,
Object... routeVars)
Begin to specify a new request with the given route to a remote handler.
|
io.rsocket.RSocket |
rsocket()
Return the underlying sending RSocket.
|
static RSocketRequester |
wrap(io.rsocket.RSocket rsocket,
MimeType dataMimeType,
MimeType metadataMimeType,
RSocketStrategies strategies)
Wrap an existing
RSocket . |
io.rsocket.RSocket rsocket()
MimeType dataMimeType()
MimeType
selected for the underlying RSocket
at connection time. On the client side this is configured via
RSocketRequester.Builder.dataMimeType(MimeType)
while on the
server side it's obtained from the ConnectionSetupPayload
.MimeType metadataMimeType()
MimeType
selected for the underlying RSocket
at connection time. On the client side this is configured via
RSocketRequester.Builder.metadataMimeType(MimeType)
while on the
server side it's obtained from the ConnectionSetupPayload
.RSocketRequester.RequestSpec route(String route, Object... routeVars)
The route can be a template with placeholders, e.g.
"flight.{code}"
in which case the supplied route variables are
formatted via toString()
and expanded into the template.
If a formatted variable contains a "." it is replaced with the escape
sequence "%2E" to avoid treating it as separator by the responder .
If the connection is set to use composite metadata, the route is
encoded as "message/x.rsocket.routing.v0"
. Otherwise the route
is encoded according to the mime type for the connection.
route
- the route expressing a remote handler mappingrouteVars
- variables to be expanded into the route templateRSocketRequester.RequestSpec metadata(Object metadata, @Nullable MimeType mimeType)
metadata
- the metadata value to encodemimeType
- the mime type that describes the metadata;
This is required for connection using composite metadata. Otherwise the
value is encoded according to the mime type for the connection and this
argument may be left as null
.static RSocketRequester.Builder builder()
RSocketRequester
by connecting
to an RSocket server.static RSocketRequester wrap(io.rsocket.RSocket rsocket, MimeType dataMimeType, MimeType metadataMimeType, RSocketStrategies strategies)
RSocket
. Typically used in client or server
responders to wrap the RSocket
for the remote side.