Skip to content

ExchangeCallData

template<class ServiceType, typename RequestType, typename ResponseType>
class ExchangeCallData : public CallData<ServiceType, RequestType, ResponseType>

Template Parameters

  • class ServiceType
  • typename RequestType
  • typename ResponseType

Dependencies: CallData

Inherits from: public CallData<ServiceType, RequestType, ResponseType>

Public Interface

Constructor:

ExchangeCallData

inline ExchangeCallData(ServiceType *Service, ServerCompletionQueue *CQueue, CallData::AsyncAPIHandler TargetRPC, bool bIsFirst=false)

Parameters:

NameTypeDefault
ServiceServiceType *
CQueueServerCompletionQueue *
TargetRPCCallData::AsyncAPIHandler
bIsFirstboolfalse

Attributes: inline

Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (line 22, column 1)

Public Functions:

GetRequestFuture

inline TFuture<const RequestType *> GetRequestFuture()

Get a future representing an eventual request from a client.

Returns: A Future that will be fulfilled once a RPC is initiated

Returns: TFuture&lt;const RequestType &#42;&gt;

Attributes: inline

Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (line 32, column 9)

FulfillRequestPromise

inline void FulfillRequestPromise()

Send a request from a client to any consumers in Unreal.

Attributes: inline

Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (line 40, column 6)

DefaultOnRequestPromise

inline void DefaultOnRequestPromise()

Send a default value to the Unreal-side consumer.

used to handle edge cases where two exchanges are made in a row

Attributes: inline

Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (line 56, column 6)

Fail

inline void Fail()

Attributes: inline

Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (line 61, column 6)

CanSubmit

inline bool CanSubmit()

Is this RPC ready to be completed.

Returns: bool

Attributes: inline

Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (line 70, column 6)

Public Members:

bool bHasRequest

bool bHasRequest = = false

Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (line 19, column 6)

bool bIsFirst

bool bIsFirst = = false

Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (line 20, column 6)

Protected Interface

Protected Members:

TPromise<const RequestType *> RequestPromise

TPromise<const RequestType *> RequestPromise

Attributes: protected

Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (line 15, column 10)

Used By: ExchangeRPCBackend

Source: Schola/Source/Schola/Public/Communicator/ExchangeRPCBackend.h (line 12, column 1)