ExchangeRPCBackend
template<class ServiceType, typename RequestType, typename ResponseType>class ExchangeRPCBackend : public RPCBackend<ServiceType, RequestType, ResponseType>, public IExchangeBackendInterface<RequestType, ResponseType>
Template Parameters
class ServiceType
typename RequestType
typename ResponseType
Dependencies
This type depends on:
Inherits from: public RPCBackend<ServiceType, RequestType, ResponseType>, public IExchangeBackendInterface<RequestType, ResponseType>
Public Interface
Constructor:
ExchangeRPCBackend
inline ExchangeRPCBackend(RPCBackend::AsyncRPCHandle TargetRPC, std::shared_ptr<ServiceType> Service, std::unique_ptr<ServerCompletionQueue> CQueue)
Parameters:
Name | Type | Default |
---|---|---|
TargetRPC | RPCBackend::AsyncRPCHandle | “ |
Service | std::shared_ptr<ServiceType> | “ |
CQueue | std::unique_ptr<ServerCompletionQueue> | “ |
Attributes: inline
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 221, column 1)
Destructor:
~ExchangeRPCBackend
inline ~ExchangeRPCBackend()
Attributes: inline
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 228, column 1)
Public Functions:
Receive
inline virtual TFuture<const RequestType *> Receive() override
Initiate an Exchange with the Client.
Returns: A future that will be fulfilled with the result of the exchange. The value ptr from the future is valid until the next time exchange is called.
Returns: TFuture<const RequestType *>
Attributes: inline
, virtual
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 235, column 9)
Respond
inline virtual void Respond(ResponseType *Response) override
Respond to a message from the client.
Parameters:
Response
(ResponseType *
) – [in] The message to send to the client
Attributes: inline
, virtual
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 248, column 6)
Initialize
inline virtual void Initialize()
Perform any setup that happens prior to establishing any external connection.
this could include opening a socket and waiting for a connection.
Attributes: inline
, virtual
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 259, column 14)
Start
inline virtual void Start()
Attributes: inline
, virtual
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 261, column 14)
Establish
inline virtual void Establish()
Perform any setup that involves handshakes with the external communication (e.g.
setting up serialization). Use after Initialize.
Attributes: inline
, virtual
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 266, column 14)
Shutdown
inline virtual void Shutdown() override
Close the external connection.
Attributes: inline
, virtual
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 268, column 14)
Restart
inline virtual void Restart()
Reset the Communication backend.
Attributes: inline
, virtual
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 274, column 14)
Private Interface
Private Members:
int LocalID
int LocalID = = 0
Attributes: private
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 212, column 5)
_ExchCallData * CurrExchange
_ExchCallData * CurrExchange = = nullptr
Attributes: private
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 215, column 17)
ExchangeRPCWorker<ServiceType, RequestType, ResponseType> * Worker
ExchangeRPCWorker<ServiceType, RequestType, ResponseType> * Worker
Attributes: private
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 216, column 19)
int MsgID
int MsgID = = 0
Attributes: private
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 217, column 7)
Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h
(line 209, column 1)