#include <graph_lock.hpp>
Classes | |
| struct | partiallock_cont_params |
| struct | scopelock_cont_params |
Public Member Functions | |
| graph_lock (distributed_control &dc, GraphType &dgraph, bool synchronize_data=false) | |
| void | scope_request (vertex_id_t globalvid, boost::function< void(vertex_id_t)> handler, scope_range::scope_range_enum scopetype) |
| void | scope_unlock (vertex_id_t globalvid, scope_range::scope_range_enum scopetype) |
| template<typename GraphType > | |
| struct graphlab::graph_lock::partiallock_cont_params | __attribute__ ((aligned(8))) |
The locking implementation is basically two families of continuations. The first family is called the scopelock_continuation This family completes the lock of a scope. It iterates over the owners of the replicas of the vertex, and issue remote calls to acquire locks on them.
The second family is called partiallock_continuation It completes the lock on local vertices. It iterates over the owned vertices within the scope of the vertex, acquiring locks.
Definition at line 56 of file graph_lock.hpp.
| struct graphlab::graph_lock::partiallock_cont_params graphlab::graph_lock< GraphType >::__attribute__ | ( | (aligned(8)) | ) |
The parameters passed on to the partial lock continuation
| void graphlab::graph_lock< GraphType >::scope_request | ( | vertex_id_t | globalvid, | |
| boost::function< void(vertex_id_t)> | handler, | |||
| scope_range::scope_range_enum | scopetype | |||
| ) | [inline] |
Requests a lock on the scope surrounding globalvid. This globalvid must be owned by the current machine. When lock is complete the handler is called.
Definition at line 69 of file graph_lock.hpp.
| void graphlab::graph_lock< GraphType >::scope_unlock | ( | vertex_id_t | globalvid, | |
| scope_range::scope_range_enum | scopetype | |||
| ) | [inline] |
Isues an unlock on the scope surrounding globalvid. A lock on this scope MUST have been acquired before or very bad things will happen
Definition at line 101 of file graph_lock.hpp.
1.7.1