BeeeOn Gateway  v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
Public Types | Public Member Functions
BeeeOn::AsyncWork< Result > Class Template Reference

AsyncWork is an interface allowing to wait until an asynchronous operation finishes. It is also possible to force-stop it by calling cancel(). More...

#include <AsyncWork.h>

Inheritance diagram for BeeeOn::AsyncWork< Result >:
BeeeOn::AnyAsyncWork BeeeOn::Cancellable BeeeOn::AbstractAsyncWork< Result > BeeeOn::BlockingAsyncWork< Result > BeeeOn::DelayedAsyncWork< Result > BeeeOn::ThreadWrapperAsyncWork< Result >

Public Types

typedef Poco::SharedPtr
< AsyncWork
Ptr
 
- Public Types inherited from BeeeOn::AnyAsyncWork
typedef Poco::SharedPtr
< AnyAsyncWork
Ptr
 
- Public Types inherited from BeeeOn::Cancellable
typedef Poco::SharedPtr
< Cancellable
Ptr
 

Public Member Functions

virtual Poco::Nullable< Resultresult () const
 If the asynchronous operation provides a result, this method gives access to it. Until the operation finishes, the result would be null. AsyncWork implementations with no result returns always null. More...
 
- Public Member Functions inherited from BeeeOn::AnyAsyncWork
virtual bool tryJoin (const Poco::Timespan &timeout)=0
 
- Public Member Functions inherited from BeeeOn::Cancellable
virtual void cancel ()=0
 Cancel the operation this object represents. It should exit immediatelly or at least as soon as possible.
 

Detailed Description

template<typename Result = Poco::Void>
class BeeeOn::AsyncWork< Result >

AsyncWork is an interface allowing to wait until an asynchronous operation finishes. It is also possible to force-stop it by calling cancel().

The AsyncWork can be parametrized to return a result. Access to the result MUST be protected for safe parallel access. The type of the result is based on the template parameter.

Member Function Documentation

template<typename Result >
Poco::Nullable< Result > BeeeOn::AsyncWork< Result >::result ( ) const
virtual

If the asynchronous operation provides a result, this method gives access to it. Until the operation finishes, the result would be null. AsyncWork implementations with no result returns always null.

Returns
result of the asynchronous operation if any

Reimplemented in BeeeOn::AbstractAsyncWork< Result >, BeeeOn::AbstractAsyncWork< Result >, and BeeeOn::AbstractAsyncWork< std::set< BeeeOn::DeviceID > >.


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