Getting Started
The Vanilla RSocket getting started guide overviews key concepts and patterns that you will encounter when working with the various language specific RSocket reference implementations.
#
DependenciesEach language specific RSocket reference implementation requires a number of different dependencies. While these dependencies will differ between the various language specific reference implementations, many common patterns are shared amongst them.
- Java
- Kotlin
#
Connectors (Clients)Connectors are the primary method for connecting an RSocket Client to an RSocket Server. Each connector implementation is geared towards supporting one of the various transports as described in the transports protocol.
The below examples demonstrate creating a RSocket Connector in various languages using the WebSocket transport.
- Java
- Kotlin
info
RSocket has been designed for and tested with TCP, WebSocket, Aeron, and HTTP/2 streams as transport protocols.
#
ServersTODO
#
Working with Payloads (data & metadata)Payloads represent the concept of passing data back and forth between an RSocket Client and an RSocket Server, with a distinction between data and metadata. If we were to relate these concepts to HTTP, then data would represent the HTTP response/request body,
and metadata would describe the HTTP request/response headers.
A single RSocket payload
is capable of containing both data
as well as metadata
, and each can leverage different encodings. For example, an RSocket payload could encode its data as JSON (application/json
), and its metadata as protobuf (application/vnd.google.protobuf
).
note
It is most common for data and metadata to leverage the same encoding, but is not required.
#
Specifying EncodingEncoding for the data/metadata frames in an RSocket payload can be specified when the RSocket Client or RSocket Server is created.
- Java
- Kotlin
#
Composite MetadataTODO
#
Request routingTODO
#
TracingTODO
#
Authentication MetadataTODO
#
Getting Started with RSocket RPC#
Dependency SetupTODO
#
Code GenerationTODO
#
Reactive APITODO
#
SingleTODO
#
FlowableTODO
#
Project ReactorTODO
#
TutorialsTODO
#
Chat AppTODO