ExchangeRPCBackend
template<class ServiceType, typename RequestType, typename ResponseType>class ExchangeRPCBackend : public RPCBackend<ServiceType, RequestType, ResponseType>, public IExchangeBackendInterface<RequestType, ResponseType>模板参数
class ServiceTypetypename RequestTypetypename 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)参数
| 名称 | 类型 | 默认 |
|---|---|---|
TargetRPC | RPCBackend::AsyncRPCHandle | “ |
Service | std::shared_ptr<ServiceType> | “ |
CQueue | std::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<const RequestType *>
属性: 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 列)