#include <SmacqScheduler.h>

Public Member Functions | |
| SmacqScheduler () | |
| A default graph must be specified. | |
| void | setDebug () |
| Set debug output. | |
| bool | isDebug () |
| Get debug status. | |
| void | seed_produce (SmacqGraph *) |
| Cue the head(s) of the given graph to start producing data. | |
| void | seed_produce (SmacqGraphNode *startf) |
| Cue the graph to start producing data. | |
| void | input (SmacqGraph *g, DtsObject din) |
| Queue an object for input to the specified graph. | |
| DtsObject | get () |
| Run until an output object is ready, and return that object. | |
| smacq_result | decide (SmacqGraphNode *, DtsObject din) |
| Process a single action or object. | |
| smacq_result | decideContainer (SmacqGraph *, DtsObject din) |
| Process a single action or object. | |
| bool | busy_loop () |
| Run to completion. | |
| void | enqueue (SmacqGraphNode *f, DtsObject d, int outchan) |
| Handle an object produced by a currently running node. | |
| void | queue_children (SmacqGraphNode_ptr, DtsObject d, int outchan) |
| Handle an object produced by the specified node. | |
| bool | element (DtsObject &dout) |
| Process a single action or object. | |
| DtsObject | pyelement () |
| Created for the python smacq library Process a single action or object, if output is produced, return that output. | |
| bool | done () |
| Return true if the query is done processing. | |
| void | start_threads (int numt) |
| Create some threads to process the current workload. | |
Public Attributes | |
| runq< SmacqGraphNode_ptr > | consumeq |
| runq< SmacqGraphNode_ptr > | produceq |
| runq< DtsObject > | outputq |
| SmacqScheduler::SmacqScheduler | ( | ) | [inline] |
A default graph must be specified.
Graph graph's init() method is called before anything else is done.
| bool SmacqScheduler::busy_loop | ( | ) |
Run to completion.
Process until completion. Returns true unless there is an error. Ignores any output.
Return false iff error.
| smacq_result SmacqScheduler::decide | ( | SmacqGraphNode * | g, | |
| DtsObject | din | |||
| ) |
Process a single action or object.
Take an input and run it through a boolean graph.
Return SMACQ_PASS or SMACQ_FREE.
| smacq_result SmacqScheduler::decideContainer | ( | SmacqGraph * | g, | |
| DtsObject | din | |||
| ) |
Process a single action or object.
Take an input and run it through a boolean graph.
Return SMACQ_PASS or SMACQ_FREE.
| bool SmacqScheduler::element | ( | DtsObject & | dout | ) |
Process a single action or object.
Do a _little_ work.
dout will be set to NULL or to a returned object. Returns false if we're done and true if we want to be called again.
| DtsObject SmacqScheduler::get | ( | ) |
Run until an output object is ready, and return that object.
Return NULL if execution completes without producing object.
| DtsObject SmacqScheduler::pyelement | ( | ) |
Created for the python smacq library Process a single action or object, if output is produced, return that output.
| void SmacqScheduler::seed_produce | ( | SmacqGraph * | startf | ) |
Cue the head(s) of the given graph to start producing data.
Otherwise data must be provided using the input() method.
| void SmacqScheduler::start_threads | ( | int | numt | ) |
Create some threads to process the current workload.
They will exit when there is nothing to do.
1.5.8