cpp-msgpack-rpc 0.2.0
An RPC library implementing MessagePack RPC.
Loading...
Searching...
No Matches
msgpack_rpc::clients::impl::ICallFutureImpl Class Referenceabstract

Interface of internal implementation of future objects to get results of RPCs asynchronously. More...

#include <msgpack_rpc/clients/impl/i_call_future_impl.h>

Inheritance diagram for msgpack_rpc::clients::impl::ICallFutureImpl:
Collaboration diagram for msgpack_rpc::clients::impl::ICallFutureImpl:

Public Member Functions

 ICallFutureImpl (const ICallFutureImpl &)=delete
 ICallFutureImpl (ICallFutureImpl &&)=delete
virtual ~ICallFutureImpl () noexcept=default
 Destructor.
virtual messages::CallResult get_result ()=0
 Get the result of RPC.
virtual messages::CallResult get_result_within (std::chrono::nanoseconds timeout)=0
 Get the result of RPC within a timeout.
ICallFutureImploperator= (const ICallFutureImpl &)=delete
ICallFutureImploperator= (ICallFutureImpl &&)=delete

Protected Member Functions

 ICallFutureImpl () noexcept=default
 Constructor.

Detailed Description

Interface of internal implementation of future objects to get results of RPCs asynchronously.

Definition at line 32 of file i_call_future_impl.h.

Member Function Documentation

◆ get_result()

virtual messages::CallResult msgpack_rpc::clients::impl::ICallFutureImpl::get_result ( )
nodiscardpure virtual

Get the result of RPC.

Returns
Result.
Note
This function will wait for the result if not received.

Implemented in msgpack_rpc::clients::impl::CallFutureImpl.

◆ get_result_within()

virtual messages::CallResult msgpack_rpc::clients::impl::ICallFutureImpl::get_result_within ( std::chrono::nanoseconds timeout)
nodiscardpure virtual

Get the result of RPC within a timeout.

Parameters
[in]timeoutTimeout.
Returns
Result.
Note
This function will wait for the result if not received, and throw an exception when no result can be received within the given timeout.

Implemented in msgpack_rpc::clients::impl::CallFutureImpl.


The documentation for this class was generated from the following file: