跳至内容

ExchangeRPCBackend

template<class ServiceType, typename RequestType, typename ResponseType>
class ExchangeRPCBackend : public RPCBackend<ServiceType, RequestType, ResponseType>, public IExchangeBackendInterface<RequestType, ResponseType>

模板参数

  • class ServiceType
  • typename RequestType
  • typename ResponseType

依赖项

此类型依赖于

继承自: public RPCBackend<ServiceType, RequestType, ResponseType>, public IExchangeBackendInterface<RequestType, ResponseType>

公共接口

构造函数

ExchangeRPCBackend

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

参数

名称类型默认
TargetRPCRPCBackend::AsyncRPCHandle
Servicestd::shared_ptr<ServiceType>
CQueuestd::unique_ptr<ServerCompletionQueue>

属性: inline

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 221 行, 第 1 列)

析构函数

~ExchangeRPCBackend

inline ~ExchangeRPCBackend()

属性: inline

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 228 行, 第 1 列)

公共函数

接收

inline virtual TFuture<const RequestType *> Receive() override

与客户端进行一次交换。

返回值:一个 future,它将被交换的结果所满足。future 中的值指针在下次调用 exchange 之前有效。

返回值: TFuture&lt;const RequestType &#42;&gt;

属性: inline, virtual

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 235 行, 第 9 列)

响应

inline virtual void Respond(ResponseType *Response) override

响应来自客户端的消息。

参数

  • Response (ResponseType *) – [in] 要发送给客户端的消息

属性: inline, virtual

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 248 行, 第 6 列)

Initialize

inline virtual void Initialize()

执行任何发生在建立任何外部连接之前的设置。

这可能包括打开套接字并等待连接。

属性: inline, virtual

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 259 行, 第 14 列)

Start

inline virtual void Start()

属性: inline, virtual

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 261 行, 第 14 列)

Establish

inline virtual void Establish()

执行涉及与外部通信进行握手的任何设置(例如。

设置序列化)。在 Initialize 之后使用。

属性: inline, virtual

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 266 行, 第 14 列)

关闭

inline virtual void Shutdown() override

关闭外部连接。

属性: inline, virtual

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 268 行, 第 14 列)

Restart

inline virtual void Restart()

重置通信后端。

属性: inline, virtual

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 274 行, 第 14 列)

私有接口

私有成员

int LocalID

int LocalID = = 0

属性: private

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 212 行, 第 5 列)

_ExchCallData * CurrExchange

_ExchCallData * CurrExchange = = nullptr

属性: private

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 215 行, 第 17 列)

ExchangeRPCWorker<ServiceType, RequestType, ResponseType> * Worker

ExchangeRPCWorker<ServiceType, RequestType, ResponseType> * Worker

属性: private

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 216 行, 第 19 列)

int MsgID

int MsgID = = 0

属性: private

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 217 行, 第 7 列)

来源: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (第 209 行, 第 1 列)

© . This site is unofficial and not affiliated with AMD.