Kanzi Connect  3.9.8
Kanzi Connect C++ API
kanzi::connect::RPCResultBase< _T > Class Template Reference

#include <rpcresult.hpp>

Inheritance diagram for kanzi::connect::RPCResultBase< _T >:
kanzi::connect::RPCResultImpl< _T >

Public Member Functions

RPCTypes::CommHandle getHandle () const
 Retrieve the communication handle. More...
 
int32_t getRPCCallResult () const
 Returns the low level RPC result. More...
 
void invalidate ()
 Invalidates the object. More...
 
bool isComplete () const
 Checks whether RPC call is complete. More...
 
 RPCResultBase ()
 C++ constructor - initialize the object. More...
 
bool testIsTimedOut (const chrono::steady_clock::time_point &now) const
 Tests whether operation has timed out. More...
 
bool valid () const
 Determines whether the RPC Result is still valid. More...
 
bool waitComplete (int msToWait) const
 Checks whether RPC call is complete. More...
 

Protected Member Functions

void setHandle (RPCTypes::CommHandle handle)
 Attach a handle to this object. More...
 
void setTimeout (int ms)
 Sets the timeout for a RPC operation. More...
 

Protected Attributes

optional< chrono::steady_clock::time_point > m_expires
 
std::shared_future< _T > m_future
 
RPCTypes::CommHandle m_handle
 
shared_ptr< std::promise< _T > > m_promise
 
int32_t m_rpcresult
 

Friends

class RPCResult< _T >
 

Constructor & Destructor Documentation

◆ RPCResultBase()

template<class _T>
kanzi::connect::RPCResultBase< _T >::RPCResultBase ( )
inline

C++ constructor - initialize the object.

Member Function Documentation

◆ getHandle()

template<class _T>
RPCTypes::CommHandle kanzi::connect::RPCResultBase< _T >::getHandle ( ) const
inline

Retrieve the communication handle.

Returns
handle.

◆ getRPCCallResult()

template<class _T>
int32_t kanzi::connect::RPCResultBase< _T >::getRPCCallResult ( ) const
inline

Returns the low level RPC result.

Returns
result, oneof RPCResultValue::RESULT_ enumerations. If value differs from RPCResultValue::RESULT_OK then the destination service has not been contacted (at least not just yet if RESULT_INPROGRESS).

◆ invalidate()

template<class _T>
void kanzi::connect::RPCResultBase< _T >::invalidate ( )
inline

Invalidates the object.

After this, valid() will return false and quering the value will throw an exception.

◆ isComplete()

template<class _T>
bool kanzi::connect::RPCResultBase< _T >::isComplete ( ) const
inline

Checks whether RPC call is complete.

Returns
true if call is complete and getValue can be safely called.

◆ setHandle()

template<class _T>
void kanzi::connect::RPCResultBase< _T >::setHandle ( RPCTypes::CommHandle  handle)
inlineprotected

Attach a handle to this object.

Parameters
handlenew handle.

◆ setTimeout()

template<class _T>
void kanzi::connect::RPCResultBase< _T >::setTimeout ( int  ms)
inlineprotected

Sets the timeout for a RPC operation.

Parameters
msamount of milliseconds after which the operation completes.

◆ testIsTimedOut()

template<class _T>
bool kanzi::connect::RPCResultBase< _T >::testIsTimedOut ( const chrono::steady_clock::time_point &  now) const
inline

Tests whether operation has timed out.

Returns
true if operation has timed out.

◆ valid()

template<class _T>
bool kanzi::connect::RPCResultBase< _T >::valid ( ) const
inline

Determines whether the RPC Result is still valid.

Returns
true if still valid.

◆ waitComplete()

template<class _T>
bool kanzi::connect::RPCResultBase< _T >::waitComplete ( int  msToWait) const
inline

Checks whether RPC call is complete.

Optionally waits for specific amount of time

Parameters
msToWaithow long to wait for RPC to become complete
Returns
true if call is complete and getValue can be safely called.

Friends And Related Function Documentation

◆ RPCResult< _T >

template<class _T>
friend class RPCResult< _T >
friend

Member Data Documentation

◆ m_expires

template<class _T>
optional<chrono::steady_clock::time_point> kanzi::connect::RPCResultBase< _T >::m_expires
protected

◆ m_future

template<class _T>
std::shared_future<_T> kanzi::connect::RPCResultBase< _T >::m_future
protected

◆ m_handle

template<class _T>
RPCTypes::CommHandle kanzi::connect::RPCResultBase< _T >::m_handle
protected

◆ m_promise

template<class _T>
shared_ptr<std::promise<_T> > kanzi::connect::RPCResultBase< _T >::m_promise
protected

◆ m_rpcresult

template<class _T>
int32_t kanzi::connect::RPCResultBase< _T >::m_rpcresult
protected

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