跳至内容

UCommunicationManager

class UCommunicationManager : public UObject

一个在指定 URL 上运行 gRPC 服务器的管理器类。

依赖项: IExchangeBackendInterface, IPollingBackendInterface, IProducerBackendInterface

继承自: public UObject

公共接口

析构函数

~UCommunicationManager

~UCommunicationManager()

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

实现: Schola/Source/Schola/Private/Communicator/CommunicationManager.cpp (第 54-63 行)

公共函数

RegisterService

bool RegisterService(std::shared_ptr<grpc::Service> Service)

向服务器注册服务。

返回值:如果服务成功注册,则为 True,否则为 False

参数

  • Service (std::shared_ptr<grpc::Service>) – [输入] 要注册的服务

返回: bool

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

实现: Schola/Source/Schola/Private/Communicator/CommunicationManager.cpp (第 5-27 行)

GetCompletionQueue

std::unique_ptr<ServerCompletionQueue> GetCompletionQueue()

获取服务器的完成队列。

返回值:完成队列

返回值: std::unique&#95;ptr&lt;ServerCompletionQueue&gt;

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

实现: Schola/Source/Schola/Private/Communicator/CommunicationManager.cpp (第 29-32 行)

CreatePollingBackend

inline IPollingBackendInterface<In> * CreatePollingBackend(AsyncRPCHandle<ServiceType, In, Out> TargetRPC, std::shared_ptr<ServiceType> Service)

创建一个新的轮询后端,Unreal 从中轮询 In 类型的消息。

参数

  • TargetRPC (AsyncRPCHandle<ServiceType, In, Out>) – 要包装的 RPC 方法
  • Service (std::shared_ptr<ServiceType>) – 要附加后端的服务

返回值: IPollingBackendInterface&lt;In&gt; &#42;

属性: inline

来源: Schola/Source/Schola/Public/Communicator/CommunicationManager.h (第 113 行,第 26 列)

CreateProducerBackend

inline IProducerBackendInterface<Out> * CreateProducerBackend(AsyncRPCHandle<ServiceType, In, Out> TargetRPC, std::shared_ptr<ServiceType> Service)

创建一个新的生产者后端,Unreal 从中发送 Out 类型的消息。

参数

  • TargetRPC (AsyncRPCHandle<ServiceType, In, Out>) – 要包装的 RPC 方法
  • Service (std::shared_ptr<ServiceType>) – 要附加后端的服务

返回值: IProducerBackendInterface&lt;Out&gt; &#42;

属性: inline

来源: Schola/Source/Schola/Public/Communicator/CommunicationManager.h (第 132 行,第 27 列)

CreateExchangeBackend

inline IExchangeBackendInterface<In, Out> * CreateExchangeBackend(AsyncRPCHandle<ServiceType, In, Out> TargetRPC, std::shared_ptr<ServiceType> Service)

创建一个新的交换后端,Unreal 从中发送 Out 类型的消息并接收 In 类型的消息。

参数

  • TargetRPC (AsyncRPCHandle<ServiceType, In, Out>) – 要包装的 RPC 方法
  • Service (std::shared_ptr<ServiceType>) – 要附加后端的服务

返回值: IExchangeBackendInterface&lt;In, Out&gt; &#42;

属性: inline

来源: Schola/Source/Schola/Public/Communicator/CommunicationManager.h (第 152 行,第 27 列)

ShutdownServer

void ShutdownServer()

关闭通信管理器。

触发 OnServerShutdownDelegate

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

实现: Schola/Source/Schola/Private/Communicator/CommunicationManager.cpp (第 34-52 行)

StartBackends

bool StartBackends()

启动通信管理器创建的所有后端。

触发 OnServerStartDelegate 和 OnServerReadyDelegate

返回: bool

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

实现: Schola/Source/Schola/Private/Communicator/CommunicationManager.cpp (第 65-91 行)

Initialize

void Initialize()

初始化通信管理器。

从设置面板设置服务器的端口和 URL

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

实现: Schola/Source/Schola/Private/Communicator/CommunicationManager.cpp (第 93-106 行)

公共成员

FOnServerStartSignature OnServerStartDelegate

FOnServerStartSignature OnServerStartDelegate

服务器启动时调用的委托。

来源: Schola/Source/Schola/Public/Communicator/CommunicationManager.h (第 80 行,第 27 列)

FOnServerReadySignature OnServerReadyDelegate

FOnServerReadySignature OnServerReadyDelegate

服务器准备就绪时调用的委托。

来源: Schola/Source/Schola/Public/Communicator/CommunicationManager.h (第 82 行,第 27 列)

FOnServerReadySignature OnConnectionEstablishedDelegate

FOnServerReadySignature OnConnectionEstablishedDelegate

服务器建立连接时调用的委托。

来源: Schola/Source/Schola/Public/Communicator/CommunicationManager.h (第 84 行,第 27 列)

FOnServerShutdownSignature OnServerShutdownDelegate

FOnServerShutdownSignature OnServerShutdownDelegate

服务器关闭时调用的委托。

来源: Schola/Source/Schola/Public/Communicator/CommunicationManager.h (第 86 行,第 28 列)

私有接口

私有成员

FString ServerURL

FString ServerURL

服务器的 URL。

属性: private

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

grpc::ServerBuilder * Builder

grpc::ServerBuilder * Builder = = nullptr

服务器构建器对象。

属性: private

来源: Schola/Source/Schola/Public/Communicator/CommunicationManager.h (第 51 行,第 20 列)

std::unique_ptr<Server> Server

std::unique_ptr<Server> Server

服务器对象。

属性: private

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

std::unordered_set<grpc::Service *> RegisteredServices

std::unordered_set<grpc::Service *> RegisteredServices

现有服务的列表,以防止重复添加服务

属性: private

来源: Schola/Source/Schola/Public/Communicator/CommunicationManager.h (第 57 行,第 20 列)

EComSystemState State

EComSystemState State = = EComSystemState::NOTSTARTED

通信系统的状态。

属性: private

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

被使用: UPythonGymConnector

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

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