diff --git a/CMakeLists.txt b/CMakeLists.txt index f05f25659..7d87c928b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -403,7 +403,7 @@ add_library( experimental/rsocket-src/transports/TcpConnectionAcceptor.cpp experimental/rsocket/transports/TcpConnectionFactory.h experimental/rsocket-src/transports/TcpConnectionFactory.cpp - experimental/rsocket/RSocketRequestHandler.h + experimental/rsocket/RSocketResponder.h experimental/rsocket/RSocketConnectionHandler.h experimental/rsocket-src/RSocketConnectionHandler.cpp ) diff --git a/examples/channel-hello-world/ChannelHelloWorld_Server.cpp b/examples/channel-hello-world/ChannelHelloWorld_Server.cpp index 0c1f57df8..436cfa119 100644 --- a/examples/channel-hello-world/ChannelHelloWorld_Server.cpp +++ b/examples/channel-hello-world/ChannelHelloWorld_Server.cpp @@ -16,7 +16,7 @@ using namespace yarpl::flowable; DEFINE_int32(port, 9898, "port to connect to"); -class HelloChannelRequestHandler : public rsocket::RSocketRequestHandler { +class HelloChannelRequestHandler : public rsocket::RSocketResponder { public: /// Handles a new inbound Stream requested by the other end. yarpl::Reference> handleRequestChannel( diff --git a/examples/conditional-request-handling/ConditionalRequestHandling_Server.cpp b/examples/conditional-request-handling/ConditionalRequestHandling_Server.cpp index f299cb3d7..a5b989794 100644 --- a/examples/conditional-request-handling/ConditionalRequestHandling_Server.cpp +++ b/examples/conditional-request-handling/ConditionalRequestHandling_Server.cpp @@ -36,7 +36,7 @@ int main(int argc, char* argv[]) { // start accepting connections rs->startAndPark( [textHandler, jsonHandler](std::shared_ptr r) - -> std::shared_ptr { + -> std::shared_ptr { if (r->getDataMimeType() == "text/plain") { LOG(INFO) << "Connection Request => text/plain MimeType"; return textHandler; diff --git a/examples/conditional-request-handling/JsonRequestHandler.h b/examples/conditional-request-handling/JsonRequestHandler.h index 948c4a976..01a65008b 100644 --- a/examples/conditional-request-handling/JsonRequestHandler.h +++ b/examples/conditional-request-handling/JsonRequestHandler.h @@ -5,7 +5,7 @@ #include "rsocket/RSocket.h" #include "src/Payload.h" -class JsonRequestHandler : public rsocket::RSocketRequestHandler { +class JsonRequestHandler : public rsocket::RSocketResponder { public: /// Handles a new inbound Stream requested by the other end. yarpl::Reference> diff --git a/examples/conditional-request-handling/TextRequestHandler.h b/examples/conditional-request-handling/TextRequestHandler.h index 9d07ca26f..575dd6971 100644 --- a/examples/conditional-request-handling/TextRequestHandler.h +++ b/examples/conditional-request-handling/TextRequestHandler.h @@ -5,7 +5,7 @@ #include "src/Payload.h" #include "rsocket/RSocket.h" -class TextRequestHandler : public rsocket::RSocketRequestHandler { +class TextRequestHandler : public rsocket::RSocketResponder { public: /// Handles a new inbound Stream requested by the other end. yarpl::Reference> diff --git a/examples/request-response-hello-world/RequestResponseHelloWorld_Server.cpp b/examples/request-response-hello-world/RequestResponseHelloWorld_Server.cpp index 55ab9a2f7..a9454f8d6 100644 --- a/examples/request-response-hello-world/RequestResponseHelloWorld_Server.cpp +++ b/examples/request-response-hello-world/RequestResponseHelloWorld_Server.cpp @@ -18,7 +18,7 @@ using namespace yarpl::single; DEFINE_int32(port, 9898, "port to connect to"); class HelloRequestResponseRequestHandler - : public rsocket::RSocketRequestHandler { + : public rsocket::RSocketResponder { public: Reference> handleRequestResponse( Payload request, diff --git a/examples/stream-hello-world/StreamHelloWorld_Server.cpp b/examples/stream-hello-world/StreamHelloWorld_Server.cpp index 3b2a563a4..0a7ea0b8f 100644 --- a/examples/stream-hello-world/StreamHelloWorld_Server.cpp +++ b/examples/stream-hello-world/StreamHelloWorld_Server.cpp @@ -16,7 +16,7 @@ using namespace yarpl::flowable; DEFINE_int32(port, 9898, "port to connect to"); -class HelloStreamRequestHandler : public rsocket::RSocketRequestHandler { +class HelloStreamRequestHandler : public rsocket::RSocketResponder { public: /// Handles a new inbound Stream requested by the other end. yarpl::Reference> diff --git a/examples/stream-observable-to-flowable/StreamObservableToFlowable_Server.cpp b/examples/stream-observable-to-flowable/StreamObservableToFlowable_Server.cpp index 206709eab..ca28dc863 100644 --- a/examples/stream-observable-to-flowable/StreamObservableToFlowable_Server.cpp +++ b/examples/stream-observable-to-flowable/StreamObservableToFlowable_Server.cpp @@ -20,7 +20,7 @@ using namespace yarpl::observable; DEFINE_int32(port, 9898, "port to connect to"); -class PushStreamRequestHandler : public rsocket::RSocketRequestHandler { +class PushStreamRequestHandler : public rsocket::RSocketResponder { public: /// Handles a new inbound Stream requested by the other end. yarpl::Reference> handleRequestStream( diff --git a/experimental/rsocket-src/RSocketConnectionHandler.cpp b/experimental/rsocket-src/RSocketConnectionHandler.cpp index f62267186..b981322b1 100644 --- a/experimental/rsocket-src/RSocketConnectionHandler.cpp +++ b/experimental/rsocket-src/RSocketConnectionHandler.cpp @@ -16,7 +16,7 @@ using namespace reactivesocket; class RSocketHandlerBridge : public reactivesocket::DefaultRequestHandler { public: - RSocketHandlerBridge(std::shared_ptr handler) + RSocketHandlerBridge(std::shared_ptr handler) : handler_(std::move(handler)){}; void handleRequestStream( @@ -107,7 +107,7 @@ class RSocketHandlerBridge : public reactivesocket::DefaultRequestHandler { } private: - std::shared_ptr handler_; + std::shared_ptr handler_; }; void RSocketConnectionHandler::setupNewSocket( @@ -122,7 +122,7 @@ void RSocketConnectionHandler::setupNewSocket( SocketParameters(setupPayload.resumable, setupPayload.protocolVersion); std::shared_ptr setupRequest = std::make_shared(std::move(setupPayload)); - std::shared_ptr requestHandler; + std::shared_ptr requestHandler; try { requestHandler = getHandler(setupRequest); } catch (const RSocketError& e) { diff --git a/experimental/rsocket-src/RSocketServer.cpp b/experimental/rsocket-src/RSocketServer.cpp index cabdbdd67..982fa6aa7 100644 --- a/experimental/rsocket-src/RSocketServer.cpp +++ b/experimental/rsocket-src/RSocketServer.cpp @@ -17,7 +17,7 @@ class RSocketServerConnectionHandler : public virtual RSocketConnectionHandler { onAccept_ = onAccept; } - std::shared_ptr getHandler( + std::shared_ptr getHandler( std::shared_ptr request) override { return onAccept_(std::move(request)); } diff --git a/experimental/rsocket-test/handlers/HelloStreamRequestHandler.h b/experimental/rsocket-test/handlers/HelloStreamRequestHandler.h index a5f3b3a1f..feb56ff21 100644 --- a/experimental/rsocket-test/handlers/HelloStreamRequestHandler.h +++ b/experimental/rsocket-test/handlers/HelloStreamRequestHandler.h @@ -3,7 +3,7 @@ #pragma once #include -#include "rsocket/RSocketRequestHandler.h" +#include "rsocket/RSocketResponder.h" #include "src/NullRequestHandler.h" #include "src/Payload.h" #include "src/ReactiveStreamsCompat.h" @@ -13,7 +13,7 @@ namespace rsocket { namespace tests { -class HelloStreamRequestHandler : public RSocketRequestHandler { +class HelloStreamRequestHandler : public RSocketResponder { public: /// Handles a new inbound Stream requested by the other end. yarpl::Reference> diff --git a/experimental/rsocket/RSocketConnectionHandler.h b/experimental/rsocket/RSocketConnectionHandler.h index fcb37c0b5..f92e3dbaf 100644 --- a/experimental/rsocket/RSocketConnectionHandler.h +++ b/experimental/rsocket/RSocketConnectionHandler.h @@ -4,7 +4,7 @@ #include "rsocket/ConnectionResumeRequest.h" #include "rsocket/ConnectionSetupRequest.h" -#include "rsocket/RSocketRequestHandler.h" +#include "rsocket/RSocketResponder.h" #include "src/FrameTransport.h" #include "src/ServerConnectionAcceptor.h" @@ -36,11 +36,11 @@ class RSocketConnectionHandler : public reactivesocket::ConnectionHandler { private: /** - * An RSocketRequestHandler is responsible for translating a request stream + * An RSocketResponder is responsible for translating a request stream * into action. This function provides the appropriate request handler for * an RSocket given the setup of the socket. */ - virtual std::shared_ptr getHandler( + virtual std::shared_ptr getHandler( std::shared_ptr request) = 0; /** diff --git a/experimental/rsocket/RSocketRequester.h b/experimental/rsocket/RSocketRequester.h index a5492a0bd..2acb57785 100644 --- a/experimental/rsocket/RSocketRequester.h +++ b/experimental/rsocket/RSocketRequester.h @@ -17,6 +17,19 @@ namespace rsocket { * * This is most commonly used by an RSocketClient, but due to the symmetric * nature of RSocket, this can be used from server->client as well. + * + * For context within the overall RSocket protocol: + * + * - Client: The side initiating a connection. + * - Server: The side accepting connections from clients. + * - Connection: The instance of a transport session between client and server. + * - Requester: The side sending a request. + * A connection has at most 2 Requesters. One in each direction. + * - Responder: The side receiving a request. + * A connection has at most 2 Responders. One in each direction. + * + * See https://github.com/rsocket/rsocket/blob/master/Protocol.md#terminology + * for more information on how this fits into the RSocket protocol terminology. */ class RSocketRequester { public: diff --git a/experimental/rsocket/RSocketRequestHandler.h b/experimental/rsocket/RSocketResponder.h similarity index 73% rename from experimental/rsocket/RSocketRequestHandler.h rename to experimental/rsocket/RSocketResponder.h index 15debc5da..caaf45eaf 100644 --- a/experimental/rsocket/RSocketRequestHandler.h +++ b/experimental/rsocket/RSocketResponder.h @@ -13,14 +13,27 @@ namespace rsocket { /** - * RequestHandler APIs to handle requests on an RSocket connection. + * Responder APIs to handle requests on an RSocket connection. * * This is most commonly used by an RSocketServer, but due to the symmetric * nature of RSocket, this can be used on the client as well. + * + * For context within the overall RSocket protocol: + * + * - Client: The side initiating a connection. + * - Server: The side accepting connections from clients. + * - Connection: The instance of a transport session between client and server. + * - Requester: The side sending a request. + * A connection has at most 2 Requesters. One in each direction. + * - Responder: The side receiving a request. + * A connection has at most 2 Responders. One in each direction. + * + * See https://github.com/rsocket/rsocket/blob/master/Protocol.md#terminology + * for more information on how this fits into the RSocket protocol terminology. */ -class RSocketRequestHandler { +class RSocketResponder { public: - virtual ~RSocketRequestHandler() {} + virtual ~RSocketResponder() {} /** * Called when a new `requestResponse` occurs from an RSocketRequester. diff --git a/experimental/rsocket/RSocketServer.h b/experimental/rsocket/RSocketServer.h index 16af83c33..e999cf353 100644 --- a/experimental/rsocket/RSocketServer.h +++ b/experimental/rsocket/RSocketServer.h @@ -9,13 +9,13 @@ #include "rsocket/ConnectionAcceptor.h" #include "rsocket/ConnectionSetupRequest.h" -#include "rsocket/RSocketRequestHandler.h" +#include "rsocket/RSocketResponder.h" #include "src/ReactiveSocket.h" #include "src/ServerConnectionAcceptor.h" namespace rsocket { -using OnAccept = std::function( +using OnAccept = std::function( std::shared_ptr)>; /** * API for starting an RSocket server. Returned from RSocket::createServer.