37 return CanceledDelegate;
47 virtual FText GetStatusText()
override
54 return ProgressChangedDelegate;
59 virtual void Cancel()
override
62 CanceledDelegate.ExecuteIfBound();
72 virtual FDateTime GetLastUpdated()
const override
77 virtual FDateTime GetTimeCreated()
const override
88 ProgressChangedDelegate.ExecuteIfBound();
107 template<
typename RpcType,
typename... P>
113 TCall(
const FGuid& CallId, P... Params)
114 : MessageTemplate(
new typename RpcType::FRequest(Params...))
116 MessageTemplate->CallId = CallId;
121 delete MessageTemplate;
126 if (
ResponseContext->GetMessageTypeInfo() == RpcType::FResponse::StaticStruct())
134 Promise.SetValue(
typename RpcType::FResult());
138 virtual void* ConstructMessage()
const override
140 return FMessageEndpoint::MakeMessage<typename RpcType::FRequest>(*MessageTemplate);
145 return Promise.GetFuture();
148 virtual const FGuid& GetId()
const override
150 return MessageTemplate->CallId;
153 virtual void* GetMessageTemplate()
const override
155 return MessageTemplate;
160 return RpcType::FRequest::StaticStruct();
163 virtual void TimeOut()
override
166 Promise.SetValue(
typename RpcType::FResult());
172 typename RpcType::FRequest* MessageTemplate;
208 template<
typename RpcType,
typename... P>
218 Call->OnCancelled().BindLambda([
this, CallId]() {
SharedPointerInternals::TRawPtrProxy< ObjectType > MakeShareable(ObjectType *InObject)
Definition SharedPointer.h:1947
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EAsyncTaskState
Definition IAsyncTask.h:11
#define Expose_TNameOf(type)
Definition UnrealTypeTraits.h:199
Definition IAsyncProgress.h:13
Definition IAsyncTask.h:37
Definition IMessageRpcCall.h:24
Definition IMessageRpcClient.h:19
virtual void Connect(const FMessageAddress &InServerAddress)=0
TAsyncResult< typename RpcType::FResult > Call(P... Params)
Definition IMessageRpcClient.h:209
virtual void Disconnect()=0
virtual void CancelCall(const FGuid &CallId)=0
virtual bool IsConnected() const =0
virtual ~IMessageRpcClient()
Definition IMessageRpcClient.h:245
virtual void AddCall(const TSharedRef< IMessageRpcCall > &Call)=0
Definition AsyncResult.h:18
const TFuture< ResultType > & GetFuture() const
Definition AsyncResult.h:85
Definition SharedPointer.h:153
static CORE_API FDateTime UtcNow()
Definition DateTime.cpp:980
static CORE_API FGuid NewGuid()
Definition Guid.cpp:236
Definition IMessageContext.h:26
Definition Optional.h:131