- Schola Documentation
-
Examples
- Index
- Training NPCs to Play a MultiAgent Game of Tag
- Training StateTree RL Agents via Hierarchical Reinforcement Learning
-
Training an X-Arm 5 Robotic Arm with AMD Schola and Unreal Engine
-
API Documentation
- Index
-
Python API
- Index
-
Core
-
Extensions
-
Rllib
-
-
Scripts
- Index
-
Minari
-
Rllib
-
Sb3
-
Utils
- Index
-
Compile Proto
- Index
- compile_proto.add_api_macro
- compile_proto.add_third_party_include_guards
- compile_proto.default_warnings
- compile_proto.disable_warnings
- compile_proto.ensure_ue_verify_macro_sandbox
- compile_proto.fix_imports
- compile_proto.get_expected_generated_files
- compile_proto.get_files
- compile_proto.get_generated_cpp_file_types
- compile_proto.get_generated_python_file_types
- compile_proto.get_proto_files
- compile_proto.make_grpc_files
- compile_proto.make_proto_files
- compile_proto.move_files
- compile_proto.remove_stale_generated_files
-
C++ API (Unreal)
- Index
-
Classes
- Index
- AGymConnectorManager
- AImitationConnectorManager
- AImitationPlayerController
- AImitationPlayerControllerBase
- AMultiAgentImitationPlayerController
- ConstPointVisitor
- ConstSpaceVisitor
- ExchangeRPCWorker
- FCPUModelWrapper
- FCPURuntimeWrapper
- FEnhancedInputUtils
- FGPUModelWrapper
- FGPURuntimeWrapper
- FScholaEditorModule
- FScholaImitationModule
- FScholaInferenceUtilsModule
- FScholaInteractorsModule
- FScholaModule
- FScholaNNEModule
- FScholaProtobufModule
- FScholaTrainingModule
- IAgent
- IBaseImitationScholaEnvironment
- IBaseScholaEnvironment
- IConsumerBackend
- ICppOnlyMultiAgentEnvironment
- IExchangeBackend
- IGymConnector
- IImitationScholaEnvironment
- IModelInstanceInterface
- IModelInterface
- IMultiAgentImitationScholaEnvironment
- IMultiAgentScholaEnvironment
- IPolicy
- IProducerBackend
- IProtobufBackend
- IRuntimeInterface
- IScholaActuator
- IScholaEnvironment
- IScholaSensor
- ISingleAgentImitationScholaEnvironment
- ISingleAgentScholaEnvironment
- IStepper
- PointAllocator
- PointVisitor
- ProducerRPCWorker
- ProtobufPointDeserializer
- ProtobufPointSerializer
- ProtobufSpaceDeserializer
- ProtobufSpaceSerializer
- SpaceTransmuter
- SpaceVisitor
- TCallData
- TConsumerRPCBackend
- TConsumerRPCWorker
- TExchangeCallData
- TExchangeRPCBackend
- TImitationScholaEnvironment
- TProducerRPCBackend
- TRPCBackend
- TScholaEnvironment
- UAbstractGymConnector
- UAbstractImitationConnector
- UAgent
- UBaseImitationScholaEnvironment
- UBaseScholaEnvironment
- UBlueprintPolicy
- UBoxPointBlueprintLibrary
- UBoxSpaceBlueprintLibrary
- UBoxStacker
- UCameraSensor
- UCommunicationManager
- UCppOnlyMultiAgentEnvironment
- UDictPointBlueprintLibrary
- UDictSpaceBlueprintLibrary
- UDictStacker
- UDiscretePointBlueprintLibrary
- UDiscreteSpaceBlueprintLibrary
- UExternalGymConnector
- UGymConnector
- ULaunchableScriptFunctionLibrary
- UManualGymConnector
- UMovementInputActuator
- UMultiAgentImitationScholaEnvironment
- UMultiAgentScholaEnvironment
- UMultiBinaryPointBlueprintLibrary
- UMultiBinarySpaceBlueprintLibrary
- UMultiDiscretePointBlueprintLibrary
- UMultiDiscreteSpaceBlueprintLibrary
- UNNEPolicy
- UPipelinedStepper
- UPointBlueprintLibrary
- UPolicy
- URPCGymConnector
- URPCImitationConnector
- URayCastSensor
- URotationActuator
- UScholaActuator
- UScholaSensor
- USimpleStepper
- USingleAgentImitationScholaEnvironment
- USingleAgentScholaEnvironment
- USpaceBlueprintLibrary
- UStackerBase
- UStepper
- UTeleportActuator
-
Structs
- Index
- FAgentState
- FBoxPoint
- FBoxSpace
- FBoxSpaceDimension
- FCustomTrainingSettings
- FDictPoint
- FDictSpace
- FDiscretePoint
- FDiscreteSpace
- FEnvReset
- FEnvStep
- FEnvironmentDefinition
- FEnvironmentState
- FExternalGymConnectorSettings
- FImitationAgentState
- FImitationEnvironmentState
- FImitationLoggingSettings
- FImitationScriptSettings
- FImitationSettings
- FImitationState
- FImitationTrainingState
- FInitialAgentState
- FInitialEnvironmentState
- FInitialState
- FInteractionDefinition
- FLaunchableScript
- FLaunchableScriptRunnable
- FMinariCollectionSettings
- FMultiBinaryPoint
- FMultiBinarySpace
- FMultiDiscretePoint
- FMultiDiscreteSpace
- FNNEBindingCreator
- FNNEBoxBuffer
- FNNEBufferAllocator
- FNNEBufferVisitor
- FNNEDictBuffer
- FNNEDiscreteBuffer
- FNNEMultiBinaryBuffer
- FNNEMultiDiscreteBuffer
- FNNEPointBuffer
- FNNEPointCreator
- FNNEPointToBufferConverter
- FNNEStateBuffer
- FPoint
- FRLlibAPPOSettings
- FRLlibCheckpointSettings
- FRLlibIMPALASettings
- FRLlibLoggingSettings
- FRLlibNetworkArchSettings
- FRLlibPPOSettings
- FRLlibResourceSettings
- FRLlibResumeSettings
- FRLlibSACSettings
- FRLlibTrainingSettings
- FRPCServerSettings
- FSB3CheckpointSettings
- FSB3LoggingSettings
- FSB3NetworkArchSettings
- FSB3PPOSettings
- FSB3ResumeSettings
- FSB3SACSettings
- FSB3TrainingSettings
- FScriptArgBuilder
- FScriptSettingsBase
- FSpace
- FStartRequest
- FTrainingDefinition
- FTrainingReset
- FTrainingScriptSettings
- FTrainingSettings
- FTrainingState
- FTrainingStateUpdate
- FTrainingStep
- TBaseStructure
- TBaseStructure
- FPipelinedStepperFrame
-
Enums
- Index
- EConnectorStatus
- EImitationConnectorStatus
- EAgentStatus
- EAutoResetType
- EChannels
- EComSystemState
- EEnvironmentStatus
- EAgentTrainingStatus
- ERuntimeType
- EPointType
- EFrameOfReference
- ERLlibActivationFunctionEnum
- ERLlibTrainingAlgorithm
- ESB3ActivationFunctionEnum
- ESB3TrainingAlgorithm
- EScriptType
- EPythonEnvironmentType
- ESpaceValidationResult
- ESpaceType
- ETeleportDimensionFlags
- EPythonScript
- ETrainingUpdateType
- EConnectorStatusUpdate
TExchangeRPCBackend
gRPC exchange backend: async request/response pairing for bidirectional RPCs.
template <class ServiceType, typename RequestType, typename ResponseType>class TExchangeRPCBackend : public TRPCBackend<ServiceType, RequestType, ResponseType>, public IExchangeBackend<RequestType, ResponseType>Methods
TExchangeRPCBackend
inline TExchangeRPCBackend(gRPCBackend::AsyncRPCHandle TargetRPC, std::shared_ptr<ServiceType> Service, std::unique_ptr<ServerCompletionQueue> CQueue)Parameters
-
TargetRPC(gRPCBackend::AsyncRPCHandle) -
Service(std::shared_ptr<ServiceType>) -
CQueue(std::unique_ptr<ServerCompletionQueue>)
TExchangeRPCBackend
inline ~TExchangeRPCBackend()Receive
inline virtual TFuture<const RequestType *> Receive() overrideInitiate an Exchange with the Client.
Respond
inline virtual void Respond(ResponseType *Response) overrideRespond to a message from the client.
Parameters
Response(ResponseType)
Initialize
inline virtual void Initialize()Perform any setup that happens prior to establishing any external connection.
Start
inline virtual void Start()Starts the exchange completion-queue worker thread.
Establish
inline virtual void Establish()Perform any setup that involves handshakes with the external communication (e.g.
Shutdown
inline virtual void Shutdown() overrideClose the external connection.
Restart
inline virtual void Restart()Reset the Communication backend.
Reset
inline virtual void Reset() overrideReset the backend to clear any stale exchange state from previous connections.
Source: Source/ScholaProtobuf/Public/ProtobufBackends/gRPC/ExchangeRPCBackend.h