Public Member Functions

graphlab::dc_impl::dc_sctp_comm Class Reference
[GraphLab RPC Internal]

#include <dc_sctp_comm.hpp>

Inheritance diagram for graphlab::dc_impl::dc_sctp_comm:

List of all members.

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)

Detailed Description

SCTP implementation of the communications subsystem This is experimental

Definition at line 41 of file dc_sctp_comm.hpp.

Member Function Documentation

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.

The documentation for this class was generated from the following file: