dtn::TCPConvergenceLayer Class Reference

#include <TCPConvergenceLayer.h>

Inheritance diagram for dtn::TCPConvergenceLayer:

dtn::StreamConvergenceLayer dtn::ConnectionConvergenceLayer dtn::ConvergenceLayer oasys::Logger

List of all members.


Detailed Description

The TCP Convergence Layer.

Definition at line 33 of file TCPConvergenceLayer.h.


Public Member Functions

 TCPConvergenceLayer ()
 Constructor.
bool interface_up (Interface *iface, int argc, const char *argv[])
 Virtual from ConvergenceLayer.
bool interface_down (Interface *iface)
 Virtual from ConvergenceLayer.
void dump_interface (Interface *iface, oasys::StringBuffer *buf)
 Virtual from ConvergenceLayer.

Static Public Attributes

static const u_int8_t TCPCL_VERSION = 0x03
 Current version of the protocol.
static const u_int16_t TCPCL_DEFAULT_PORT = 4556
 Default port used by the tcp cl.
static TCPLinkParams default_link_params_
 Default link parameters.

Protected Member Functions

bool set_link_defaults (int argc, const char *argv[], const char **invalidp)
 Virtual from ConvergenceLayer.
void dump_link (Link *link, oasys::StringBuffer *buf)
 Virtual from ConvergenceLayer.
virtual LinkParamsnew_link_params ()
 Virtual from ConnectionConvergenceLayer.
virtual bool parse_link_params (LinkParams *params, int argc, const char **argv, const char **invalidp)
 Virtual from ConnectionConvergenceLayer.
virtual bool parse_nexthop (Link *link, LinkParams *params)
 Virtual from ConnectionConvergenceLayer.
virtual CLConnectionnew_connection (LinkParams *params)
 Virtual from ConnectionConvergenceLayer.

Friends

class IPAnnounce

Classes

class  Connection
 Helper class (and thread) that manages an established connection with a peer daemon. More...
class  Listener
 Helper class (and thread) that listens on a registered interface for new connections. More...
class  TCPLinkParams
 Tunable link parameter structure. More...

Constructor & Destructor Documentation

dtn::TCPConvergenceLayer::TCPConvergenceLayer (  ) 

Constructor.

Definition at line 44 of file TCPConvergenceLayer.cc.


Member Function Documentation

bool dtn::TCPConvergenceLayer::interface_up ( Interface iface,
int  argc,
const char *  argv[] 
) [virtual]

Virtual from ConvergenceLayer.

Reimplemented from dtn::ConvergenceLayer.

Definition at line 152 of file TCPConvergenceLayer.cc.

References oasys::OptParser::addopt(), oasys::IPSocket::bind(), errno, INADDR_NONE, oasys::TCPServer::listen(), log_debug, log_err, oasys::LOG_WARN, oasys::Logger::logf(), oasys::Logger::logpath_, oasys::Logger::logpathf(), dtn::Interface::name(), oasys::OptParser::parse(), dtn::Interface::set_cl_info(), oasys::Thread::start(), and TCPCL_DEFAULT_PORT.

bool dtn::TCPConvergenceLayer::interface_down ( Interface iface  )  [virtual]

Virtual from ConvergenceLayer.

Reimplemented from dtn::ConvergenceLayer.

Definition at line 217 of file TCPConvergenceLayer.cc.

References ASSERT, dtn::Interface::cl_info(), oasys::IOHandlerBase::interrupt_from_io(), oasys::Thread::is_stopped(), oasys::Thread::set_should_stop(), and oasys::Thread::yield().

void dtn::TCPConvergenceLayer::dump_interface ( Interface iface,
oasys::StringBuffer buf 
) [virtual]

Virtual from ConvergenceLayer.

Reimplemented from dtn::ConvergenceLayer.

Definition at line 240 of file TCPConvergenceLayer.cc.

References oasys::StringBuffer::appendf(), ASSERT, dtn::Interface::cl_info(), intoa, oasys::IPSocket::local_addr(), and oasys::IPSocket::local_port().

bool dtn::TCPConvergenceLayer::set_link_defaults ( int  argc,
const char *  argv[],
const char **  invalidp 
) [protected, virtual]

Virtual from ConvergenceLayer.

Reimplemented from dtn::ConvergenceLayer.

Definition at line 101 of file TCPConvergenceLayer.cc.

References default_link_params_, and parse_link_params().

void dtn::TCPConvergenceLayer::dump_link ( Link link,
oasys::StringBuffer buf 
) [protected, virtual]

Virtual from ConvergenceLayer.

Reimplemented from dtn::StreamConvergenceLayer.

Definition at line 87 of file TCPConvergenceLayer.cc.

References oasys::StringBuffer::appendf(), ASSERT, dtn::Link::cl_info(), dtn::StreamConvergenceLayer::dump_link(), intoa, dtn::TCPConvergenceLayer::TCPLinkParams::local_addr_, dtn::TCPConvergenceLayer::TCPLinkParams::remote_addr_, and dtn::TCPConvergenceLayer::TCPLinkParams::remote_port_.

ConnectionConvergenceLayer::LinkParams * dtn::TCPConvergenceLayer::new_link_params (  )  [protected, virtual]

Virtual from ConnectionConvergenceLayer.

Implements dtn::ConnectionConvergenceLayer.

Definition at line 51 of file TCPConvergenceLayer.cc.

References default_link_params_.

Referenced by dtn::IPAnnounce::handle_neighbor_discovered().

bool dtn::TCPConvergenceLayer::parse_link_params ( LinkParams params,
int  argc,
const char **  argv,
const char **  invalidp 
) [protected, virtual]

Virtual from ConnectionConvergenceLayer.

Reimplemented from dtn::StreamConvergenceLayer.

Definition at line 58 of file TCPConvergenceLayer.cc.

References oasys::OptParser::addopt(), ASSERT, count, INADDR_NONE, dtn::TCPConvergenceLayer::TCPLinkParams::local_addr_, log_err, oasys::OptParser::parse_and_shift(), and dtn::StreamConvergenceLayer::parse_link_params().

Referenced by set_link_defaults().

bool dtn::TCPConvergenceLayer::parse_nexthop ( Link link,
LinkParams params 
) [protected, virtual]

Virtual from ConnectionConvergenceLayer.

Implements dtn::ConnectionConvergenceLayer.

Definition at line 109 of file TCPConvergenceLayer.cc.

References ASSERT, INADDR_NONE, log_err, log_warn, oasys::Logger::logpath_, dtn::Link::nexthop(), dtn::IPConvergenceLayerUtils::parse_nexthop(), dtn::TCPConvergenceLayer::TCPLinkParams::remote_addr_, and dtn::TCPConvergenceLayer::TCPLinkParams::remote_port_.

CLConnection * dtn::TCPConvergenceLayer::new_connection ( LinkParams params  )  [protected, virtual]

Virtual from ConnectionConvergenceLayer.

Implements dtn::ConnectionConvergenceLayer.

Definition at line 143 of file TCPConvergenceLayer.cc.

References ASSERT.

Referenced by dtn::IPAnnounce::handle_neighbor_discovered().


Friends And Related Function Documentation

friend class IPAnnounce [friend]

Definition at line 77 of file TCPConvergenceLayer.h.


Member Data Documentation

const u_int8_t dtn::TCPConvergenceLayer::TCPCL_VERSION = 0x03 [static]

Current version of the protocol.

Definition at line 38 of file TCPConvergenceLayer.h.

const u_int16_t dtn::TCPConvergenceLayer::TCPCL_DEFAULT_PORT = 4556 [static]

Default port used by the tcp cl.

Definition at line 43 of file TCPConvergenceLayer.h.

Referenced by interface_up().

TCPConvergenceLayer::TCPLinkParams dtn::TCPConvergenceLayer::default_link_params_ [static]

Default link parameters.

Definition at line 74 of file TCPConvergenceLayer.h.

Referenced by dtn::TCPConvergenceLayer::Listener::accepted(), new_link_params(), and set_link_defaults().


The documentation for this class was generated from the following files:
Generated on Sat Sep 8 08:36:22 2007 for DTN Reference Implementation by  doxygen 1.5.3