ConnectionWriter

Inheritance:

Methods of ConnectionWriter:

getManager
ConnectionManager *ConnectionWriter::get_manager(void) const;

Description: Returns a pointer to the ConnectionManager object that serves this ConnectionWriter.

getNumThreads
int ConnectionWriter::get_num_threads(void) const;

Description: Returns the number of threads the ConnectionWriter has been created with.

getRawMode
bool ConnectionWriter::get_raw_mode(void) const;

Description: Returns the current setting of the raw mode flag. See set_raw_mode().

getTcpHeaderSize
int ConnectionWriter::get_tcp_header_size(void) const;

Description: Returns the current setting of TCP header size. See set_tcp_header_size().

isImmediate
bool ConnectionWriter::is_immediate(void) const;

Description: Returns true if the writer is an immediate writer, i.e. it has no threads.

isValidForUdp
bool ConnectionWriter::is_valid_for_udp(Datagram const &datagram) const;

Description: Returns true if the datagram is small enough to be sent over a UDP packet, false otherwise.

send
bool ConnectionWriter::send(Datagram const &datagram, PointerTo< Connection > const &connection);

Description: Enqueues a datagram for transmittal on the indicated socket. Since the host address is not specified with this form, this function should only be used for sending TCP packets. Use the other send() method for sending UDP packets.
Returns true if successful, false if there was an error. In the normal, threaded case, this function only returns false if the send queue is filled; it's impossible to detect a transmission error at this point.
Description: Enqueues a datagram for transmittal on the indicated socket. This form of the function allows the specification of a destination host address, and so is appropriate for UDP packets. Use the other send() method for sending TCP packets.

setRawMode
void ConnectionWriter::set_raw_mode(bool mode);

Description: Sets the ConnectionWriter into raw mode (or turns off raw mode). In raw mode, datagrams are not sent along with their headers; the bytes in the datagram are simply sent down the pipe.
Setting the ConnectionWriter to raw mode must be done with care. This can only be done when the matching ConnectionReader is also set to raw mode, or when the ConnectionWriter is communicating to a process that does not expect datagrams.

setTcpHeaderSize
void ConnectionWriter::set_tcp_header_size(int tcp_header_size);

Description: Sets the header size of TCP packets. At the present, legal values for this are 0, 2, or 4; this specifies the number of bytes to use encode the datagram length at the start of each TCP datagram. Sender and receiver must independently agree on this.