protlib::TP Class Reference
[Transport Protocol]

transport protocol base class More...

#include <source/ariba/utility/transport/tcpip/protlib/tp.h>

Inherited by protlib::TPoverTCP, and protlib::TPoverUDP.

Collaboration diagram for protlib::TP:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 TP (protocol_t p, const string &pname, const string &tpn, const unsigned short common_header_length, bool(*const getmsglength)(NetMsg &netmsg, uint32 &msglen), uint32 mp=(uint32)-1)
 constructor
virtual ~TP ()=0
 virtual destructor
virtual void send (NetMsg *msg, const address &addr, bool use_existing_connection=false)=0
virtual void terminate (const address &addr)=0
 terminates an existing signaling association/connection
void check_send_args (const NetMsg &msg, const address &addr) const
 check send arguments
protocol_t get_underlying_protocol () const
 get protocol ID
string get_underlying_protocol_name () const
 get protocol name
string get_tp_name () const
 get TP name
uint32 get_max_payload () const
 get maximum payload
bool is_init () const
 is it initialized?

Protected Attributes

const protocol_t protocol
 transport protocol ID
const string protoname
 transport protocol name
const string tp_name
 TP subclass name.
const unsigned short common_header_length
 what is the length of the common header
bool(*const getmsglength )(NetMsg &m, uint32 &clen_words)
bool init
 init state
const uint32 max_payload


Detailed Description

transport protocol base class

This is the interface to all transport protocols. It is used by the signaling module to send network messages. what kinds of messages? Received messages are delivered through FastQueues.

Definition at line 69 of file tp.h.


Member Function Documentation

bool protlib::TP::is_init (  )  const [inline]

is it initialized?

Definition at line 175 of file tp.h.

References init.

virtual void protlib::TP::send ( NetMsg msg,
const address addr,
bool  use_existing_connection = false 
) [pure virtual]

send a message, message is deleted after it has been sent use_existing_connection indicates whether a new connection will be established if required (true means that no connection will be set up if none exists yet)

Implemented in protlib::TPoverTCP, and protlib::TPoverUDP.

virtual void protlib::TP::terminate ( const address addr  )  [pure virtual]

terminates an existing signaling association/connection

Implemented in protlib::TPoverTCP, and protlib::TPoverUDP.


Member Data Documentation

const unsigned short protlib::TP::common_header_length [protected]

what is the length of the common header

Definition at line 118 of file tp.h.

Referenced by protlib::TPoverTCP::receiver_thread().

bool(*const protlib::TP::getmsglength)(NetMsg &m, uint32 &clen_words) [protected]

function pointer to a function that figures out the msg length in number of 4 byte words it returns false if error occured (e.g., malformed header), result is returned in variable clen_words

Referenced by protlib::TPoverTCP::receiver_thread().

bool protlib::TP::init [protected]

const uint32 protlib::TP::max_payload [protected]

Definition at line 126 of file tp.h.

Referenced by check_send_args(), and get_max_payload().

const protocol_t protlib::TP::protocol [protected]

transport protocol ID

Definition at line 109 of file tp.h.

Referenced by get_underlying_protocol().

const string protlib::TP::protoname [protected]

transport protocol name

Definition at line 112 of file tp.h.

Referenced by get_underlying_protocol_name().

const string protlib::TP::tp_name [protected]

TP subclass name.

Definition at line 115 of file tp.h.

Referenced by check_send_args(), and get_tp_name().


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

Generated on Fri Aug 14 23:39:55 2009 for Ariba by  doxygen 1.5.8