FlashGraph-ng
A new frontier in large-scale graph analysis and data mining
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | List of all members
fg::vertex_program_impl< vertex_type > Class Template Reference

The default implementation of a vertex program in the graph engine. More...

#include <vertex_program.h>

Inheritance diagram for fg::vertex_program_impl< vertex_type >:
fg::vertex_program

Public Member Functions

virtual void run (compute_vertex &comp_v)
 This is a pre-run before users get any information of adjacency list of vertices. This is commonly where a user would issue a request for the vertex data it needs on disk for the two other run methods. More...
 
virtual void run (compute_vertex &comp_v, const page_vertex &vertex)
 Run user's code ideally/generally when the adjacency list of the vertex is read from disks. More...
 
virtual void run_on_message (compute_vertex &comp_v, const vertex_message &msg)
 Run user's code when the vertex receives messages from other. More...
 
virtual void run_on_messages (const vertex_message *v_msgs[], int num)
 Run user's code when the vertex receives messages from others. More...
 
virtual void run_on_multicast_message (multicast_message &mmsg)
 Run user's code when a multicast message is received. More...
 
virtual void run_on_num_edges (compute_vertex &c_vertex, const vertex_header &header)
 Run user's code when the vertex header is read from disks. More...
 
virtual void notify_iteration_end (compute_vertex &comp_v)
 A vertex requests the end of an iteration. `notify_iteration_end' of the vertex will be invoked at the end of an iteration. More...
 
- Public Member Functions inherited from fg::vertex_program
 vertex_program ()
 
virtual ~vertex_program ()
 Destructor.
 
graph_engineget_graph ()
 Get a pointer to the graph_engine. More...
 
void multicast_msg (vertex_id_t ids[], int num, vertex_message &msg)
 Multicast the same message to several other vertices. If the number of vertices receiving the message is too small the graph engine will automatically alter the message type to point-to-point. More...
 
void multicast_msg (edge_seq_iterator &it, vertex_message &msg)
 Multicast the same message to several other vertices. If the number of vertices receiving the message is too small the graph engine will automatically alter the message type to point-to-point. More...
 
void send_msg (vertex_id_t dest, vertex_message &msg)
 Send a point-to-point message from one vertex to another. More...
 
void activate_vertices (vertex_id_t ids[], int num)
 Activate vertices to be processed in the next level (iteration). More...
 
void activate_vertices (edge_seq_iterator &it)
 Activate vertices to be processed in the next level (iteration). More...
 
void activate_vertex (vertex_id_t vertex)
 Activate a singel vertex to be processed in the next level (iteration). More...
 
void request_notify_iter_end (const compute_vertex &v)
 A vertex requests the end of an iteration. `notify_iteration_end' of the vertex will be invoked at the end of an iteration. More...
 

Detailed Description

template<class vertex_type>
class fg::vertex_program_impl< vertex_type >

The default implementation of a vertex program in the graph engine.

Member Function Documentation

template<class vertex_type>
virtual void fg::vertex_program_impl< vertex_type >::notify_iteration_end ( compute_vertex comp_v)
inlinevirtual

A vertex requests the end of an iteration. `notify_iteration_end' of the vertex will be invoked at the end of an iteration.

Parameters
vThe vertex that is requesting the notification.

Implements fg::vertex_program.

template<class vertex_type>
virtual void fg::vertex_program_impl< vertex_type >::run ( compute_vertex comp_v)
inlinevirtual

This is a pre-run before users get any information of adjacency list of vertices. This is commonly where a user would issue a request for the vertex data it needs on disk for the two other run methods.

Parameters
vertexThe current vertex.

Implements fg::vertex_program.

template<class vertex_type>
virtual void fg::vertex_program_impl< vertex_type >::run ( compute_vertex comp_v,
const page_vertex vertex 
)
inlinevirtual

Run user's code ideally/generally when the adjacency list of the vertex is read from disks.

Parameters
comp_vThe current compute_vertex.
vertexThe curren page vertex.

Implements fg::vertex_program.

template<class vertex_type>
virtual void fg::vertex_program_impl< vertex_type >::run_on_message ( compute_vertex comp_v,
const vertex_message msg 
)
inlinevirtual

Run user's code when the vertex receives messages from other.

Parameters
c_vertexThe current compute_vertex.
vertex_mA single vertex_message received from a vertex in the current iteration.

Implements fg::vertex_program.

template<class vertex_type>
virtual void fg::vertex_program_impl< vertex_type >::run_on_messages ( const vertex_message v_msgs[],
int  num 
)
inlinevirtual

Run user's code when the vertex receives messages from others.

Parameters
v_msgsvertex_messages received from one or more vertices in the current iteration.
numThe number of messages received.

Implements fg::vertex_program.

template<class vertex_type>
virtual void fg::vertex_program_impl< vertex_type >::run_on_multicast_message ( multicast_message &  mmsg)
inlinevirtual

Run user's code when a multicast message is received.

Parameters
mmsgThe message(s) received by the vertex.

Implements fg::vertex_program.

template<class vertex_type>
virtual void fg::vertex_program_impl< vertex_type >::run_on_num_edges ( compute_vertex c_vertex,
const vertex_header &  header 
)
inlinevirtual

Run user's code when the vertex header is read from disks.

Parameters
c_vertexA compute_vertex that is executed in the method.
headerThe vertex header requested by `c_vertex'.

Implements fg::vertex_program.


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