libgrape-lite
A C++ library for parallel graph processing
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
grape::BasicVCFragmentLoader< FRAG_T > Class Template Reference

Public Member Functions

 BasicVCFragmentLoader (const CommSpec &comm_spec, int64_t vnum, int load_concurrency)
 
void AddEdge (const oid_t &src, const oid_t &dst, const edata_t &data)
 
void ConstructFragment (std::shared_ptr< fragment_t > &fragment)
 

Private Types

using fragment_t = FRAG_T
 
using oid_t = typename fragment_t::oid_t
 
using vdata_t = typename fragment_t::vdata_t
 
using edata_t = typename fragment_t::edata_t
 
using edge_t = typename fragment_t::edge_t
 
using vertices_t = typename fragment_t::vertices_t
 

Private Member Functions

void edgeRecvRoutine ()
 
int edgeBucketId (const oid_t &src, const oid_t &dst) const
 

Private Attributes

CommSpec comm_spec_
 
VCPartitioner< oid_t > partitioner_
 
int bucket_num_
 
oid_t src_start_
 
oid_t dst_start_
 
oid_t src_chunk_
 
oid_t dst_chunk_
 
int64_t vnum_
 
int load_concurrency_
 
std::vector< ShuffleBufferTuple< oid_t, oid_t, edata_t > > got_edges_
 
std::vector< ShuffleOut< oid_t, oid_t, edata_t > > edges_to_frag_
 
std::thread edge_recv_thread_
 
bool recv_thread_running_
 

Static Private Attributes

static constexpr size_t shuffle_out_size = 4096000
 
static constexpr int edge_tag = 6