#include <dc_sctp_comm.hpp>
Public Member Functions | |
| size_t | capabilities () const |
| void | init (const std::vector< std::string > &machines, const std::map< std::string, std::string > &initopts, procid_t curmachineid, std::vector< dc_receive * > receiver) |
| void | close () |
| bool | channel_active (size_t target) const |
| procid_t | numprocs () const |
| procid_t | procid () const |
| size_t | network_bytes_sent () const |
| size_t | network_bytes_received () const |
| void | flush (size_t target) |
| void | send (size_t target, const char *buf, size_t len) |
| void | send2 (size_t target, const char *buf1, const size_t len1, const char *buf2, const size_t len2) |
SCTP implementation of the communications subsystem This is experimental
Definition at line 41 of file dc_sctp_comm.hpp.
| bool graphlab::dc_impl::dc_sctp_comm::channel_active | ( | size_t | target | ) | const [inline, virtual] |
returns true if the channel to the target machine is truly open. The dc_comm_base specification allows for lazy channels which are not created until it is used. For such implementations, this function should return true if the channel has been created, and false otherwise. Non-lazy implementations should return true all the time. The invariant to ensure is that this function must return true for a target machine ID if a packet has been sent from this machine to the target before this call.
Implements graphlab::dc_impl::dc_comm_base.
Definition at line 76 of file dc_sctp_comm.hpp.
| void graphlab::dc_impl::dc_sctp_comm::close | ( | ) | [virtual] |
shuts down all sockets and cleans up
Implements graphlab::dc_impl::dc_comm_base.
| void graphlab::dc_impl::dc_sctp_comm::init | ( | const std::vector< std::string > & | machines, | |
| const std::map< std::string, std::string > & | initopts, | |||
| procid_t | curmachineid, | |||
| std::vector< dc_receive * > | receiver | |||
| ) | [virtual] |
this fuction should pause until all communication has been set up and returns the number of systems in the network. After which, all other remaining public functions (numprocs(), send(), etc) should operate normally. Every received message should immediate trigger the attached receiver
machines: a vector of strings where each string is of the form [IP]:[portnumber] initopts: unused curmachineid: The ID of the current machine. machines[curmachineid] will be the listening address of this machine
recvcallback: A function pointer to the receiving function. This function must be thread-safe tag: An additional pointer passed to the receiving function.
Implements graphlab::dc_impl::dc_comm_base.
| procid_t graphlab::dc_impl::dc_sctp_comm::numprocs | ( | ) | const [inline, virtual] |
Returns the number of machines in the network. Only valid after call to init();
Implements graphlab::dc_impl::dc_comm_base.
Definition at line 84 of file dc_sctp_comm.hpp.
| void graphlab::dc_impl::dc_sctp_comm::send | ( | size_t | target, | |
| const char * | buf, | |||
| size_t | len | |||
| ) | [virtual] |
Sends the string of length len to the target machine dest. Only valid after call to init(); Establishes a connection if necessary
Implements graphlab::dc_impl::dc_comm_base.
1.7.1