#include <icallback.hpp>
Public Types | |
| typedef Graph | graph_type |
| typedef update_task< Graph > | update_task_type |
| typedef iengine< Graph > | iengine_type |
|
typedef update_task_type::update_function_type | update_function_type |
Public Member Functions | |
| void | add_task (vertex_id_t vertex, update_function_type update_fun, double priority=1.0) |
| virtual void | add_task (update_task_type task, double priority)=0 |
| virtual void | add_tasks (const std::vector< vertex_id_t > &vertices, update_function_type func, double priority)=0 |
| virtual void | force_abort ()=0 |
| virtual void | enable_buffering () |
| virtual void | commit () |
| virtual int | num_of_buffered_tasks () |
This is the class that is passed to the update functions. This class allows the update functions to create and add new tasks to be scheduled. The commit() function should be called by the task executor at the end of the update function call. This allows the scheduler to either "buffer" the tasks and apply them only on a commit, or to do some intelligent pre-pruning of tasks, or to even insert the task directly into the scheduler.
Definition at line 41 of file icallback.hpp.
| void graphlab::icallback< Graph >::add_task | ( | vertex_id_t | vertex, | |
| update_function_type | update_fun, | |||
| double | priority = 1.0 | |||
| ) | [inline] |
Adds a task to execute the update function on the vertex with the given priority.
Definition at line 57 of file icallback.hpp.
| virtual void graphlab::icallback< Graph >::add_task | ( | update_task_type | task, | |
| double | priority | |||
| ) | [pure virtual] |
Adds an update task with a particular priority. The exact behavior of this function depends on the type of scheduler
Implemented in graphlab::binary_scheduler_callback< Graph >, and graphlab::direct_callback< Graph >.
| virtual void graphlab::icallback< Graph >::add_tasks | ( | const std::vector< vertex_id_t > & | vertices, | |
| update_function_type | func, | |||
| double | priority | |||
| ) | [pure virtual] |
Creates a collection of tasks on all the vertices in 'vertices', and all with the same update function and priority
Implemented in graphlab::binary_scheduler_callback< Graph >, and graphlab::direct_callback< Graph >.
| virtual void graphlab::icallback< Graph >::force_abort | ( | ) | [pure virtual] |
Calling this function will force the engine to abort immediately
Implemented in graphlab::binary_scheduler_callback< Graph >, and graphlab::direct_callback< Graph >.
1.7.1