#include <TCPConvergenceLayer.h>
Inheritance diagram for dtn::TCPConvergenceLayer:
Definition at line 51 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 = 5000 |
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 LinkParams * | new_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 CLConnection * | new_connection (LinkParams *params) |
Virtual from ConnectionConvergenceLayer. | |
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... |
dtn::TCPConvergenceLayer::TCPConvergenceLayer | ( | ) |
bool dtn::TCPConvergenceLayer::interface_up | ( | Interface * | iface, | |
int | argc, | |||
const char * | argv[] | |||
) | [virtual] |
Virtual from ConvergenceLayer.
Reimplemented from dtn::ConvergenceLayer.
Definition at line 168 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.
Virtual from ConvergenceLayer.
Reimplemented from dtn::ConvergenceLayer.
Definition at line 233 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 256 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 120 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 106 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 70 of file TCPConvergenceLayer.cc.
References default_link_params_.
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 77 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 128 of file TCPConvergenceLayer.cc.
References ASSERT, INADDR_NONE, log_err, 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 159 of file TCPConvergenceLayer.cc.
References ASSERT.
const u_int8_t dtn::TCPConvergenceLayer::TCPCL_VERSION = 0x03 [static] |
const u_int16_t dtn::TCPConvergenceLayer::TCPCL_DEFAULT_PORT = 5000 [static] |
Default port used by the tcp cl.
XXX/demmer change this value
Definition at line 61 of file TCPConvergenceLayer.h.
Referenced by interface_up().
Default link parameters.
Definition at line 92 of file TCPConvergenceLayer.h.
Referenced by dtn::TCPConvergenceLayer::Listener::accepted(), new_link_params(), and set_link_defaults().