Safe DDS
eprosima::safedds::execution::BasicExecutor Class Reference

Basic executor implementation. More...

#include <BasicExecutor.hpp>

Public Member Functions

 BasicExecutor (transport::ITransport &transport_implementation, memory::IReferenceList< execution::ISpinnable > &entities_list) noexcept
 BasicExecutor constructor. More...
 
virtual ~BasicExecutor () noexcept=default
 Virtual destructor. More...
 
 BasicExecutor (const BasicExecutor &) noexcept=delete
 Copy deleted. More...
 
 BasicExecutor (BasicExecutor &&) noexcept=delete
 Movement deleted. More...
 
BasicExecutoroperator= (const BasicExecutor &) noexcept=delete
 Copy operator deleted. More...
 
BasicExecutoroperator= (BasicExecutor &&) noexcept=delete
 Movement operator deleted. More...
 
void spin (const execution::TimePoint &timepoint) noexcept override
 Secuential synchronization interface. More...
 
bool has_pending_work () const noexcept override
 Check if the entity has pending work. More...
 
TimePoint get_next_work_timepoint () const noexcept override
 Get next work timepoint. More...
 

Additional Inherited Members

- Protected Member Functions inherited from eprosima::safedds::execution::ISpinnable
 ~ISpinnable () noexcept=default
 Protected destructor ownership defined on creation. More...
 
 ISpinnable () noexcept=default
 Default creation. More...
 
 ISpinnable (const ISpinnable &) noexcept=default
 Copy allowed. More...
 
 ISpinnable (ISpinnable &&) noexcept=default
 Movement allowed. More...
 
ISpinnableoperator= (const ISpinnable &) noexcept=default
 Copy operator allowed. More...
 
ISpinnableoperator= (ISpinnable &&) noexcept=default
 Movement operator allowed. More...
 

Detailed Description

Basic executor implementation.

Constructor & Destructor Documentation

◆ BasicExecutor() [1/3]

eprosima::safedds::execution::BasicExecutor::BasicExecutor ( transport::ITransport transport_implementation,
memory::IReferenceList< execution::ISpinnable > &  entities_list 
)
noexcept

BasicExecutor constructor.

Parameters
transport_implementationreference to transport. Ownership is not taken.
entities_listlist of spinnable entities. Ownership is not taken.

◆ ~BasicExecutor()

virtual eprosima::safedds::execution::BasicExecutor::~BasicExecutor ( )
virtualdefaultnoexcept

Virtual destructor.

◆ BasicExecutor() [2/3]

eprosima::safedds::execution::BasicExecutor::BasicExecutor ( const BasicExecutor )
deletenoexcept

Copy deleted.

◆ BasicExecutor() [3/3]

eprosima::safedds::execution::BasicExecutor::BasicExecutor ( BasicExecutor &&  )
deletenoexcept

Movement deleted.

Member Function Documentation

◆ get_next_work_timepoint()

TimePoint eprosima::safedds::execution::BasicExecutor::get_next_work_timepoint ( ) const
overridevirtualnoexcept

Get next work timepoint.

Returns
TimePoint.

Implements eprosima::safedds::execution::ISpinnable.

◆ has_pending_work()

bool eprosima::safedds::execution::BasicExecutor::has_pending_work ( ) const
overridevirtualnoexcept

Check if the entity has pending work.

Returns
bool.

Implements eprosima::safedds::execution::ISpinnable.

◆ operator=() [1/2]

BasicExecutor& eprosima::safedds::execution::BasicExecutor::operator= ( BasicExecutor &&  )
deletenoexcept

Movement operator deleted.

◆ operator=() [2/2]

BasicExecutor& eprosima::safedds::execution::BasicExecutor::operator= ( const BasicExecutor )
deletenoexcept

Copy operator deleted.

◆ spin()

void eprosima::safedds::execution::BasicExecutor::spin ( const execution::TimePoint timepoint)
overridevirtualnoexcept

Secuential synchronization interface.

Note
This method is called by the execution context to perform actions on the entity. The entity is expected to perform some of the work that is pending up to the given timepoint. And can return before the given timepoint even with pending work.
Parameters
timepointexpiration execution deadline.

Implements eprosima::safedds::execution::ISpinnable.


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