This is a project to demonstrate the capabilities of:
- RSocket RPC
- more to come, see roadmap
RSocket RPC (like gRPC) uses protocol buffers as the Interface Definition Language (IDL) for describing both the service interface and the structure of the payload messages.
This IDL is essentially text and is shared by communicating parties (client, server etc) and using RSocket RPC libraries the client and server can be generated in various programming languages. Java being the one that was chosen for this project.
./gradlew clean build
To run a server instance of the service: ./gradlew startServer
The following clients are available to demonstrate capabilities:
- PingAndForgetClient (./gradlew startPingAndForgetClient) Starts up a client which will send a single ping to the server and shutdown. The server is configured programmatically shutdown when this happens.
- SinglePingAndPongClient (./gradlew startSinglePingAndPongClient) Starts up a client which will send a single ping and wait for a single pong from the server.
- SinglePingAndLotsOfPongsClient (./gradlew startSinglePingAndLotsOfPongsClient) Starts up a client which will send a single ping to the server and get multiple pongs back
The following clients are still a work in progress:
- PingsAndPongsClient - WIP
- PingsAndSinglePongClient - WIP