Public Member Functions | Protected Member Functions | Friends

dtn::net::TCPConvergenceLayer Class Reference

#include <TCPConvergenceLayer.h>

Inherits dtn::daemon::IndependentComponent, dtn::net::ConvergenceLayer, dtn::net::DiscoveryServiceProvider, and dtn::core::EventReceiver.

Collaboration diagram for dtn::net::TCPConvergenceLayer:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TCPConvergenceLayer ()
virtual ~TCPConvergenceLayer ()
void bind (const ibrcommon::vinterface &net, int port)
void raiseEvent (const dtn::core::Event *evt)
void queue (const dtn::core::Node &n, const ConvergenceLayer::Job &job)
void open (const dtn::core::Node &n)
virtual const std::string getName () const
dtn::core::Node::Protocol getDiscoveryProtocol () const
void update (const ibrcommon::vinterface &iface, std::string &name, std::string &data) throw (dtn::net::DiscoveryServiceProvider::NoServiceHereException)

Protected Member Functions

bool __cancellation ()
void componentUp ()
void componentRun ()
void componentDown ()

Friends

class TCPConnection

Detailed Description

This class implement a ConvergenceLayer for TCP/IP. http://tools.ietf.org/html/draft-irtf-dtnrg-tcp-clayer-02

Definition at line 176 of file TCPConvergenceLayer.h.


Constructor & Destructor Documentation

dtn::net::TCPConvergenceLayer::TCPConvergenceLayer (  ) 

Constructor

Parameters:
[in] bind_addr The address to bind.
[in] port The port to use.

Definition at line 35 of file TCPConvergenceLayer.cpp.

References dtn::core::EventReceiver::bindEvent().

Here is the call graph for this function:

dtn::net::TCPConvergenceLayer::~TCPConvergenceLayer (  )  [virtual]

Destructor

Definition at line 40 of file TCPConvergenceLayer.cpp.

References ibrcommon::JoinableThread::join(), and dtn::core::EventReceiver::unbindEvent().

Here is the call graph for this function:


Member Function Documentation

bool dtn::net::TCPConvergenceLayer::__cancellation (  )  [protected]

Definition at line 260 of file TCPConvergenceLayer.cpp.

References ibrcommon::tcpserver::close(), ibrcommon::Thread::interrupt(), and ibrcommon::tcpserver::shutdown().

Here is the call graph for this function:

void dtn::net::TCPConvergenceLayer::bind ( const ibrcommon::vinterface net,
int  port 
)

Bind on a interface

Parameters:
net 
port 

Definition at line 46 of file TCPConvergenceLayer.cpp.

References ibrcommon::tcpserver::bind().

Referenced by createConvergenceLayers().

Here is the call graph for this function:

void dtn::net::TCPConvergenceLayer::componentDown (  )  [protected]
void dtn::net::TCPConvergenceLayer::componentRun (  )  [protected]
void dtn::net::TCPConvergenceLayer::componentUp (  )  [protected]

Definition at line 281 of file TCPConvergenceLayer.cpp.

References ibrcommon::tcpserver::listen().

Here is the call graph for this function:

dtn::core::Node::Protocol dtn::net::TCPConvergenceLayer::getDiscoveryProtocol (  )  const

Returns the discovery protocol type

Returns:

Definition at line 53 of file TCPConvergenceLayer.cpp.

const std::string dtn::net::TCPConvergenceLayer::getName (  )  const [virtual]
See also:
Component::getName()

Definition at line 93 of file TCPConvergenceLayer.cpp.

void dtn::net::TCPConvergenceLayer::open ( const dtn::core::Node n  ) 

Open a connection to the given node.

Parameters:
n 
Returns:

Definition at line 98 of file TCPConvergenceLayer.cpp.

References dtn::net::ConnectionEvent::CONNECTION_SETUP, dtn::net::TCPConnection::initialize(), dtn::core::BundleCore::local, dtn::net::TCPConnection::match(), dtn::net::ConnectionEvent::raise(), ibrcommon::Conditional::signal(), and TCPConnection.

Here is the call graph for this function:

void dtn::net::TCPConvergenceLayer::queue ( const dtn::core::Node n,
const ConvergenceLayer::Job job 
)
void dtn::net::TCPConvergenceLayer::raiseEvent ( const dtn::core::Event evt  )  [virtual]

handler for events

Implements dtn::core::EventReceiver.

Definition at line 170 of file TCPConvergenceLayer.cpp.

References dtn::core::NodeEvent::getAction(), dtn::net::TCPConnection::match(), and dtn::net::TCPConnection::shutdown().

Here is the call graph for this function:

void dtn::net::TCPConvergenceLayer::update ( const ibrcommon::vinterface iface,
std::string &  name,
std::string &  data 
) throw (dtn::net::DiscoveryServiceProvider::NoServiceHereException)

this method updates the given values

Definition at line 58 of file TCPConvergenceLayer.cpp.

References ibrcommon::vinterface::getAddresses(), and ibrcommon::vaddress::VADDRESS_INET.

Here is the call graph for this function:


Friends And Related Function Documentation

friend class TCPConnection [friend]

Definition at line 178 of file TCPConvergenceLayer.h.

Referenced by componentRun(), open(), and queue().


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