Public Types | Public Member Functions

graphlab::icallback< Graph > Class Template Reference

#include <icallback.hpp>

Inheritance diagram for graphlab::icallback< Graph >:
graphlab::binary_scheduler_callback< Graph > graphlab::direct_callback< Graph >

List of all members.

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 ()

Detailed Description

template<typename Graph>
class graphlab::icallback< Graph >

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.


Member Function Documentation

template<typename Graph>
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.

template<typename Graph>
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 >.

template<typename 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 >.

template<typename 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 >.


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