SSP21-CPP
Public Member Functions | Static Public Member Functions | List of all members
exe4cpp::BasicExecutor Class Referencefinal

#include <exe4cpp/asio/BasicExecutor.h>

Public Member Functions

 BasicExecutor (const std::shared_ptr< asio::io_service > &io_service)
 
 BasicExecutor (const BasicExecutor &)=delete
 
BasicExecutoroperator= (const BasicExecutor &)=delete
 
virtual Timer start (const duration_t &duration, const action_t &action) override
 
virtual Timer start (const steady_time_t &expiration, const action_t &action) override
 
virtual void post (const action_t &action) override
 
virtual steady_time_t get_time () override
 
std::shared_ptr< asio::io_service > get_service ()
 

Static Public Member Functions

static std::shared_ptr< BasicExecutorcreate (const std::shared_ptr< asio::io_service > &io_service)
 

Detailed Description

Simple implementation of openpal::IExecutor that directly uses asio::io_context

Should only be used when asio::io_context::run() is called from a single thread

Definition at line 43 of file BasicExecutor.h.

Member Function Documentation

◆ start() [1/2]

virtual Timer exe4cpp::BasicExecutor::start ( const duration_t &  duration,
const action_t &  action 
)
inlineoverridevirtual
Returns
start a new timer based on a relative time duration

Implements exe4cpp::IExecutor.

Definition at line 62 of file BasicExecutor.h.

◆ start() [2/2]

virtual Timer exe4cpp::BasicExecutor::start ( const steady_time_t &  expiration,
const action_t &  action 
)
inlineoverridevirtual
Returns
start a new timer based on an absolute timestamp of the steady clock

Implements exe4cpp::IExecutor.

Definition at line 67 of file BasicExecutor.h.

◆ post()

virtual void exe4cpp::BasicExecutor::post ( const action_t &  action)
inlineoverridevirtual
Returns
Thread-safe way to post an event to be handled asynchronously

Implements exe4cpp::IExecutor.

Definition at line 87 of file BasicExecutor.h.

◆ get_time()

virtual steady_time_t exe4cpp::BasicExecutor::get_time ( )
inlineoverridevirtual
Returns
a non-absolute timestamp for the monotonic time source

Implements exe4cpp::ISteadyTimeSource.

Definition at line 92 of file BasicExecutor.h.