YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
yaclib::ManualExecutor Class Reference

TODO(mkornaukhov03) Doxygen. More...

#include <manual.hpp>

Inheritance diagram for yaclib::ManualExecutor:
[legend]
Collaboration diagram for yaclib::ManualExecutor:
[legend]

Public Member Functions

Type Tag () const noexcept final
 Return type of this executor.
 
bool Alive () const noexcept final
 Return true if executor still alive, that means job passed to submit will be Call.
 
void Submit (Job &f) noexcept final
 Submit given job.
 
std::size_t Drain () noexcept
 
- Public Member Functions inherited from yaclib::IRef
virtual void IncRef () noexcept
 Increments reference counter.
 
virtual void DecRef () noexcept
 Decrements reference counter.
 
virtual ~IRef () noexcept=default
 

Additional Inherited Members

- Public Types inherited from yaclib::IExecutor
enum class  Type : unsigned char {
  Custom = 0 , Inline = 1 , Manual = 2 , Strand = 3 ,
  SingleThread = 4 , FairThreadPool = 5 , GolangThreadPool = 6
}
 

Detailed Description

TODO(mkornaukhov03) Doxygen.

Definition at line 14 of file manual.hpp.

Member Function Documentation

◆ Alive()

bool yaclib::ManualExecutor::Alive ( ) const
finalvirtualnoexcept

Return true if executor still alive, that means job passed to submit will be Call.

Implements yaclib::IExecutor.

Definition at line 10 of file manual.cpp.

◆ Drain()

std::size_t yaclib::ManualExecutor::Drain ( )
noexcept

◆ Submit()

void yaclib::ManualExecutor::Submit ( Job job)
finalvirtualnoexcept

Submit given job.

This method may either Call or Drop the job

This method increments reference counter if task is submitted.

Call if executor is Alive, otherwise Drop

Parameters
jobjob to execute

Implements yaclib::IExecutor.

Definition at line 14 of file manual.cpp.

References yaclib::MakeContract().

◆ Tag()

IExecutor::Type yaclib::ManualExecutor::Tag ( ) const
finalvirtualnoexcept

Return type of this executor.

Implements yaclib::IExecutor.

Definition at line 6 of file manual.cpp.

References yaclib::IExecutor::Manual.


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