tf::Pipeflow class

class to create a pipeflow object used by the pipe callable

Pipeflow represents a scheduling token in the pipeline scheduling framework. A pipeflow is created by the pipeline scheduler at runtime to pass to the pipe callable. Users can query the present statistics of that scheduling token, including the line identifier, pipe identifier, and token identifier, and build their application algorithms based on these statistics. At the first stage, users can explicitly call the stop method to stop the pipeline scheduler.

tf::Pipe{tf::PipeType::SERIAL, [](tf::Pipeflow& pf){
  std::cout << "token id=" << pf.token()
            << " at line=" << pf.line()
            << " at pipe=" << pf.pipe()
            << '\n';
}};

Pipeflow can only be created privately by the tf::Pipeline and be used through the pipe callable.

Constructors, destructors, conversion operators

Pipeflow() defaulted
default constructor

Public functions

auto line() const -> size_t
queries the line identifier of the present token
auto pipe() const -> size_t
queries the pipe identifier of the present token
auto token() const -> size_t
queries the token identifier
void stop()
stops the pipeline scheduling

Function documentation

void tf::Pipeflow::stop()

stops the pipeline scheduling

Only the first pipe can call this method to stop the pipeline. Others have no effect.