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 {

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


Single block to run.


Elements must be run sequentially in order.


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: