24 #ifndef DC_COMM_BASE_HPP
25 #define DC_COMM_BASE_HPP
26 #include <sys/socket.h>
30 #include <graphlab/rpc/dc_types.hpp>
31 #include <graphlab/rpc/dc_internal_types.hpp>
32 #include <graphlab/rpc/dc_receive.hpp>
33 #include <graphlab/rpc/dc_send.hpp>
46 inline dc_comm_base() { };
48 virtual size_t capabilities()
const = 0;
72 virtual void init(
const std::vector<std::string> &machines,
73 const std::map<std::string,std::string> &initopts,
75 std::vector<dc_receive*> receiver,
76 std::vector<dc_send*> sender) = 0;
79 virtual void close() = 0;
81 virtual void trigger_send_timeout(
procid_t target,
bool urgent) = 0;
83 virtual ~dc_comm_base() {}
84 virtual procid_t numprocs()
const = 0;
88 virtual size_t network_bytes_sent()
const = 0;
89 virtual size_t network_bytes_received()
const = 0;
90 virtual size_t send_queue_length()
const = 0;