Skip to content

Template Class TExchangeRPCBackend

Template Class TExchangeRPCBackend

  • Defined in File ExchangeRPCBackend.h

Inheritance Relationships

Base Types

template <class ServiceType, typename RequestType, typename ResponseType>
class TExchangeRPCBackend
: public TRPCBackend<ServiceType, RequestType, ResponseType>,
public IExchangeBackend<RequestType, ResponseType>

Source: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h

Dependencies: CallData, ExchangeRPCWorker, TExchangeCallData, TRPCBackend


Public Functions

SymbolDetails
TExchangeRPCBackend
~TExchangeRPCBackend
ReceiveInitiate an Exchange with the Client.
RespondRespond to a message from the client.
InitializePerform any setup that happens prior to establishing any external connection.
Start
EstablishPerform any setup that involves handshakes with the external communication (e.g.
ShutdownClose the external connection.
RestartReset the Communication backend.
ResetReset the backend to clear any stale exchange state from previous connections.

TExchangeRPCBackend

inline TExchangeRPCBackend(gRPCBackend::AsyncRPCHandle TargetRPC,
std::shared_ptr<ServiceType> Service,
std::unique_ptr<ServerCompletionQueue> CQueue)
#DirectionNameTypeDescription
1TargetRPCgRPCBackend::AsyncRPCHandle
2Servicestd::shared_ptr< ServiceType >
3CQueuestd::unique_ptr< ServerCompletionQueue >

Attributes: inline

Source: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h


~TExchangeRPCBackend

inline ~TExchangeRPCBackend()

Attributes: inline

Source: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h

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.

Attributes: inline, virtual

Source: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h

Respond

inline virtual void Respond(ResponseType *Response) override

Respond to a message from the client.

Parameters

Response – [in] The message to send to the client

#DirectionNameTypeDescription
1ResponseResponseType *The message to send to the client

Attributes: inline, virtual

Source: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h

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: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h

Start

inline virtual void Start()

Attributes: inline, virtual

Source: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h

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: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h

Shutdown

inline virtual void Shutdown() override

Close the external connection.

Attributes: inline, virtual

Source: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h

Restart

inline virtual void Restart()

Reset the Communication backend.

Attributes: inline, virtual

Source: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h

Reset

inline virtual void Reset() override

Reset the backend to clear any stale exchange state from previous connections.

Attributes: inline, virtual

Source: Source/Schola/Protobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h