Ingen  0.5.1
Public Types | Public Member Functions | List of all members
Ingen::Server::Task Class Reference
+ Inheritance diagram for Ingen::Server::Task:
+ Collaboration diagram for Ingen::Server::Task:

Public Types

enum  Mode {
  Mode::SINGLE,
  Mode::SEQUENTIAL,
  Mode::PARALLEL
}
 

Public Member Functions

 Task (Mode mode, BlockImpl *block=NULL)
 
Taskoperator= (const Task &copy)
 
 Task (const Task &copy)
 
void run (RunContext &context)
 Run task in the given context. More...
 
void dump (std::function< void(const std::string &)> sink, unsigned indent, bool first) const
 Pretty print task to the given stream (recursively). More...
 
void simplify ()
 Simplify task expression. More...
 
Tasksteal (RunContext &context)
 Steal a child task from this task (succeeds for PARALLEL only). More...
 
Mode mode () const
 
BlockImplblock () const
 
bool done () const
 
void set_done (bool done)
 

Member Enumeration Documentation

§ Mode

Enumerator
SINGLE 

Single block to run.

SEQUENTIAL 

Elements must be run sequentially in order.

PARALLEL 

Elements may be run in any order in parallel.

Member Function Documentation

§ run()

void Ingen::Server::Task::run ( RunContext context)

Run task in the given context.

References PARALLEL, Ingen::Server::BlockImpl::process(), run(), SEQUENTIAL, SINGLE, and steal().

Referenced by run().

§ dump()

void Ingen::Server::Task::dump ( std::function< void(const std::string &)>  sink,
unsigned  indent,
bool  first 
) const

Pretty print task to the given stream (recursively).

References SEQUENTIAL, and SINGLE.

§ simplify()

void Ingen::Server::Task::simplify ( )

Simplify task expression.

References SINGLE.

§ steal()

Task * Ingen::Server::Task::steal ( RunContext context)

Steal a child task from this task (succeeds for PARALLEL only).

References PARALLEL.

Referenced by Ingen::Server::Engine::locate(), and run().


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