Public Member Functions

graphlab::dc_impl::dc_buffered_stream_send_expqueue_z Class Reference
[GraphLab RPC]

#include <dc_buffered_stream_send_expqueue_z.hpp>

Inheritance diagram for graphlab::dc_impl::dc_buffered_stream_send_expqueue_z:
graphlab::dc_impl::dc_send

List of all members.

Public Member Functions

 dc_buffered_stream_send_expqueue_z (distributed_control *dc, dc_comm_base *comm, procid_t target, bool zlib=false)
bool channel_active (procid_t target) const
void send_data (procid_t target, unsigned char packet_type_mask, std::istream &istrm, size_t len=size_t(-1))
void send_data (procid_t target, unsigned char packet_type_mask, char *data, size_t len)
void send_loop ()
void shutdown ()
size_t bytes_sent ()

Detailed Description

Sender for the dc class. The job of the sender is to take as input data blocks of pieces which should be sent to a single destination socket. This can be thought of as a sending end of a multiplexor. This class performs compressed ZLib transmissions and is the matching sender for dc_stream_receive_z.

dc_stream_receive_z

Definition at line 56 of file dc_buffered_stream_send_expqueue_z.hpp.


Member Function Documentation

size_t graphlab::dc_impl::dc_buffered_stream_send_expqueue_z::bytes_sent (  )  [inline, virtual]

Bytes sent must be incremented BEFORE the data is transmitted. Packets marked CONTROL_PACKET should not be counted

Implements graphlab::dc_impl::dc_send.

Definition at line 99 of file dc_buffered_stream_send_expqueue_z.hpp.

bool graphlab::dc_impl::dc_buffered_stream_send_expqueue_z::channel_active ( procid_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_send.

Definition at line 73 of file dc_buffered_stream_send_expqueue_z.hpp.

void graphlab::dc_impl::dc_buffered_stream_send_expqueue_z::send_data ( procid_t  target,
unsigned char  packet_type_mask,
std::istream &  istrm,
size_t  len = size_t(-1) 
) [virtual]

Called by the controller when there is data to send. if len is -1, the function has to compute the length by itself, or send the data from the stream directly. the strm is not copyable.

Implements graphlab::dc_impl::dc_send.

void graphlab::dc_impl::dc_buffered_stream_send_expqueue_z::send_data ( procid_t  target,
unsigned char  packet_type_mask,
char *  data,
size_t  len 
) [virtual]

Another possible interface the controller can call with when there is data to send. The caller has responsibility for freeing the pointer when this call returns

Implements graphlab::dc_impl::dc_send.

void graphlab::dc_impl::dc_buffered_stream_send_expqueue_z::shutdown (  )  [virtual]

Last call sent to any instance of dc_send. If the sender multithreads, the sending thread must shut down.

Implements graphlab::dc_impl::dc_send.


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