23 #ifndef GRAPHLAB_DISTRIBUTED_IDENTITY_INGRESS_HPP
24 #define GRAPHLAB_DISTRIBUTED_IDENTITY_INGRESS_HPP
26 #include <boost/functional/hash.hpp>
28 #include <graphlab/rpc/buffered_exchange.hpp>
29 #include <graphlab/graph/graph_basic_types.hpp>
30 #include <graphlab/graph/ingress/idistributed_ingress.hpp>
31 #include <graphlab/graph/ingress/distributed_ingress_base.hpp>
32 #include <graphlab/graph/distributed_graph.hpp>
35 #include <graphlab/macros_def.hpp>
37 template<
typename VertexData,
typename EdgeData>
38 class distributed_graph;
43 template<
typename VertexData,
typename EdgeData>
45 public distributed_ingress_base<VertexData, EdgeData> {
53 typedef distributed_ingress_base<VertexData, EdgeData> base_type;
57 base_type(dc, graph) {
64 const EdgeData& edata) {
66 const procid_t owning_proc = base_type::rpc.procid();
67 const edge_buffer_record record(source, target, edata);
68 base_type::edge_exchange.send(owning_proc, record);
72 #include <graphlab/macros_undef.hpp>