DUNE: Uniform Navigational Environment  2022.04.0
DUNE::Concurrency::Runnable Class Referenceabstract

Public Types

enum  State {
  StateStarting, StateRunning, StateStopping, StateDead,
  StateUnknown
}
 

Public Member Functions

 Runnable (void)
 
virtual ~Runnable (void)
 
void start (void)
 
void stop (void)
 
void join (void)
 
void stopAndJoin (void)
 
void setPriority (Scheduler::Policy policy, unsigned priority)
 
unsigned getPriority (void)
 
State getState (void)
 
bool isCreated (void)
 
bool isStopping (void)
 
bool isRunning (void)
 
bool isStarting (void)
 
bool isDead (void)
 

Protected Member Functions

virtual void run (void)=0
 
virtual void startImpl (void)=0
 
virtual void stopImpl (void)=0
 
virtual void joinImpl (void)=0
 
virtual void setStateImpl (State value)=0
 
virtual State getStateImpl (void)=0
 
virtual void setPriorityImpl (Scheduler::Policy policy, unsigned priority)=0
 
virtual unsigned getPriorityImpl (void)=0
 

Member Enumeration Documentation

◆ State

Enumerator
StateStarting 
StateRunning 
StateStopping 
StateDead 
StateUnknown 

Constructor & Destructor Documentation

◆ Runnable()

DUNE::Concurrency::Runnable::Runnable ( void  )
inline

◆ ~Runnable()

virtual DUNE::Concurrency::Runnable::~Runnable ( void  )
inlinevirtual

Member Function Documentation

◆ getPriority()

unsigned DUNE::Concurrency::Runnable::getPriority ( void  )
inline

References getPriorityImpl().

◆ getPriorityImpl()

virtual unsigned DUNE::Concurrency::Runnable::getPriorityImpl ( void  )
protectedpure virtual

Implemented in DUNE::Concurrency::Thread.

Referenced by getPriority(), and isDead().

◆ getState()

State DUNE::Concurrency::Runnable::getState ( void  )
inline

References getStateImpl().

Referenced by isDead(), isRunning(), isStarting(), and isStopping().

◆ getStateImpl()

virtual State DUNE::Concurrency::Runnable::getStateImpl ( void  )
protectedpure virtual

Referenced by getState(), and isDead().

◆ isCreated()

bool DUNE::Concurrency::Runnable::isCreated ( void  )
inline

◆ isDead()

bool DUNE::Concurrency::Runnable::isDead ( void  )
inline

◆ isRunning()

bool DUNE::Concurrency::Runnable::isRunning ( void  )
inline

◆ isStarting()

bool DUNE::Concurrency::Runnable::isStarting ( void  )
inline

References getState(), and StateStarting.

◆ isStopping()

◆ join()

void DUNE::Concurrency::Runnable::join ( void  )
inline

References joinImpl().

Referenced by stopAndJoin().

◆ joinImpl()

virtual void DUNE::Concurrency::Runnable::joinImpl ( void  )
protectedpure virtual

Implemented in DUNE::Concurrency::Thread.

Referenced by isDead(), and join().

◆ run()

virtual void DUNE::Concurrency::Runnable::run ( void  )
protectedpure virtual

◆ setPriority()

void DUNE::Concurrency::Runnable::setPriority ( Scheduler::Policy  policy,
unsigned  priority 
)
inline

References setPriorityImpl().

◆ setPriorityImpl()

virtual void DUNE::Concurrency::Runnable::setPriorityImpl ( Scheduler::Policy  policy,
unsigned  priority 
)
protectedpure virtual

Implemented in DUNE::Concurrency::Thread.

Referenced by isDead(), and setPriority().

◆ setStateImpl()

virtual void DUNE::Concurrency::Runnable::setStateImpl ( State  value)
protectedpure virtual

Referenced by isDead().

◆ start()

void DUNE::Concurrency::Runnable::start ( void  )
inline

◆ startImpl()

virtual void DUNE::Concurrency::Runnable::startImpl ( void  )
protectedpure virtual

Implemented in DUNE::Concurrency::Thread.

Referenced by isDead(), and start().

◆ stop()

void DUNE::Concurrency::Runnable::stop ( void  )
inline

◆ stopAndJoin()

void DUNE::Concurrency::Runnable::stopAndJoin ( void  )
inline

References join(), and stop().

Referenced by Transports::FTP::Task::onResourceRelease().

◆ stopImpl()

virtual void DUNE::Concurrency::Runnable::stopImpl ( void  )
protectedpure virtual

Implemented in DUNE::Concurrency::Thread.

Referenced by isDead(), and stop().

Collaboration diagram for DUNE::Concurrency::Runnable:
Collaboration graph