Skip to content

ProducerRPCBackend

template<class ServiceType, typename RequestType, typename ResponseType>
class ProducerRPCBackend : public RPCBackend<ServiceType, RequestType, ResponseType>, public IProducerBackendInterface<ResponseType>

Template Parameters

  • class ServiceType
  • typename RequestType
  • typename ResponseType

Dependencies: IProducerBackendInterface, ProducerRPCWorker, RPCBackend

Inherits from: public RPCBackend<ServiceType, RequestType, ResponseType>, public IProducerBackendInterface<ResponseType>

Public Interface

Constructor:

ProducerRPCBackend

inline ProducerRPCBackend(RPCBackend::AsyncRPCHandle TargetRPC, std::shared_ptr<ServiceType> Service, std::unique_ptr<ServerCompletionQueue> CQueue)

Parameters:

NameTypeDefault
TargetRPCRPCBackend::AsyncRPCHandle
Servicestd::shared_ptr<ServiceType>
CQueuestd::unique_ptr<ServerCompletionQueue>

Attributes: inline

Source: Schola/Source/Schola/Public/Communicator/ProducerRPCBackend.h (line 132, column 1)

Destructor:

~ProducerRPCBackend

inline ~ProducerRPCBackend()

Attributes: inline

Source: Schola/Source/Schola/Public/Communicator/ProducerRPCBackend.h (line 139, column 1)

Public Functions:

SendProtobufMessage

inline virtual void SendProtobufMessage(ResponseType *Response) override

Send a message to the client.

Parameters:

  • Msg (ResponseType *) – [in] The message to send to the client

Attributes: inline, virtual

Source: Schola/Source/Schola/Public/Communicator/ProducerRPCBackend.h (line 146, 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/ProducerRPCBackend.h (line 156, column 14)

Start

inline virtual void Start()

Attributes: inline, virtual

Source: Schola/Source/Schola/Public/Communicator/ProducerRPCBackend.h (line 158, 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/ProducerRPCBackend.h (line 163, column 14)

Shutdown

inline virtual void Shutdown() override

Close the external connection.

Attributes: inline, virtual

Source: Schola/Source/Schola/Public/Communicator/ProducerRPCBackend.h (line 165, column 14)

Restart

inline virtual void Restart()

Reset the Communication backend.

Attributes: inline, virtual

Source: Schola/Source/Schola/Public/Communicator/ProducerRPCBackend.h (line 170, column 14)

Private Interface

Private Members:

int LocalID

int LocalID = = 0

Attributes: private

Source: Schola/Source/Schola/Public/Communicator/ProducerRPCBackend.h (line 124, column 5)

int MsgID

int MsgID = = 0

Attributes: private

Source: Schola/Source/Schola/Public/Communicator/ProducerRPCBackend.h (line 125, column 5)

ProducerRPCWorker<ServiceType, RequestType, ResponseType> * Worker

ProducerRPCWorker<ServiceType, RequestType, ResponseType> * Worker

Attributes: private

Source: Schola/Source/Schola/Public/Communicator/ProducerRPCBackend.h (line 128, column 19)

Source: Schola/Source/Schola/Public/Communicator/ProducerRPCBackend.h (line 121, column 1)