23 #ifndef GRAPHLAB_DISTRIBUTED_OBLIVIOUS_INGRESS_HPP
24 #define GRAPHLAB_DISTRIBUTED_OBLIVIOUS_INGRESS_HPP
27 #include <graphlab/graph/graph_basic_types.hpp>
28 #include <graphlab/graph/ingress/idistributed_ingress.hpp>
29 #include <graphlab/graph/ingress/distributed_ingress_base.hpp>
30 #include <graphlab/graph/ingress/ingress_edge_decision.hpp>
31 #include <graphlab/graph/distributed_graph.hpp>
32 #include <graphlab/rpc/buffered_exchange.hpp>
33 #include <graphlab/rpc/distributed_event_log.hpp>
34 #include <graphlab/util/dense_bitset.hpp>
35 #include <graphlab/util/cuckoo_map_pow2.hpp>
36 #include <graphlab/macros_def.hpp>
38 template<
typename VertexData,
typename EdgeData>
39 class distributed_graph;
44 template<
typename VertexData,
typename EdgeData>
46 public distributed_ingress_base<VertexData, EdgeData> {
54 typedef typename graph_type::vertex_record vertex_record;
57 typedef distributed_ingress_base<VertexData, EdgeData> base_type;
78 INITIALIZE_TRACER(ob_ingress_compute_assignments,
"Time spent in compute assignment");
85 const EdgeData& edata) {
90 edge_buffer_record record(source, target, edata);
91 base_type::edge_exchange.send(owning_proc, record);
103 #include <graphlab/macros_undef.hpp>