IBR-DTNSuite  0.10
dtn::net::ConnectionManager Class Reference

#include <ConnectionManager.h>

Inheritance diagram for dtn::net::ConnectionManager:
Inheritance graph
Collaboration diagram for dtn::net::ConnectionManager:
Collaboration graph

Classes

class  ShutdownException
 

Public Types

typedef std::pair
< dtn::core::Node::Protocol,
ConvergenceLayer::stats_map
stats_pair
 
typedef std::list< stats_pairstats_list
 

Public Member Functions

 ConnectionManager ()
 
virtual ~ConnectionManager ()
 
void add (const dtn::core::Node &n)
 
void remove (const dtn::core::Node &n)
 
void add (ConvergenceLayer *cl)
 
void remove (ConvergenceLayer *cl)
 
void add (P2PDialupExtension *ext)
 
void remove (P2PDialupExtension *ext)
 
void queue (const dtn::net::BundleTransfer &job)
 
void raiseEvent (const dtn::core::Event *evt) throw ()
 
void open (const dtn::core::Node &node) throw (ibrcommon::Exception)
 
const std::set< dtn::core::NodegetNeighbors ()
 
bool isNeighbor (const dtn::core::Node &)
 
const dtn::core::Node getNeighbor (const dtn::data::EID &eid) throw (NeighborNotAvailableException)
 
void updateNeighbor (const dtn::core::Node &n)
 
virtual const std::string getName () const
 
stats_list getStats ()
 
void resetStats ()
 
- Public Member Functions inherited from dtn::core::EventReceiver
virtual ~EventReceiver ()=0
 
- Public Member Functions inherited from dtn::daemon::IntegratedComponent
 IntegratedComponent ()
 
virtual ~IntegratedComponent ()
 
virtual void initialize () throw ()
 
virtual void startup () throw ()
 
virtual void terminate () throw ()
 
- Public Member Functions inherited from dtn::daemon::Component
virtual ~Component ()=0
 

Protected Member Functions

void discovered (const dtn::core::Node &node)
 
virtual void componentUp () throw ()
 
virtual void componentDown () throw ()
 

Detailed Description

Definition at line 56 of file ConnectionManager.h.

Member Typedef Documentation

Definition at line 141 of file ConnectionManager.h.

Returns statistic data about all convergence-layers

Definition at line 140 of file ConnectionManager.h.

Constructor & Destructor Documentation

dtn::net::ConnectionManager::ConnectionManager ( )

Definition at line 57 of file ConnectionManager.cpp.

dtn::net::ConnectionManager::~ConnectionManager ( )
virtual

Definition at line 62 of file ConnectionManager.cpp.

Member Function Documentation

void dtn::net::ConnectionManager::add ( ConvergenceLayer cl)

Add a convergence layer

Definition at line 230 of file ConnectionManager.cpp.

void dtn::net::ConnectionManager::add ( P2PDialupExtension ext)

Add a p2p dial-up extension

Definition at line 273 of file ConnectionManager.cpp.

void dtn::net::ConnectionManager::componentDown ( ) throw ()
protectedvirtual

Implements dtn::daemon::IntegratedComponent.

Definition at line 82 of file ConnectionManager.cpp.

References dtn::core::EventDispatcher< E >::remove().

Here is the call graph for this function:

void dtn::net::ConnectionManager::componentUp ( ) throw ()
protectedvirtual
void dtn::net::ConnectionManager::discovered ( const dtn::core::Node node)
protected

trigger for periodical discovery of nodes

Parameters
node

Definition at line 285 of file ConnectionManager.cpp.

References add(), dtn::core::Node::getEID(), and dtn::core::BundleCore::local.

Referenced by updateNeighbor().

Here is the call graph for this function:

const std::string dtn::net::ConnectionManager::getName ( ) const
virtual
See Also
Component::getName()

Implements dtn::daemon::Component.

Definition at line 546 of file ConnectionManager.cpp.

const dtn::core::Node dtn::net::ConnectionManager::getNeighbor ( const dtn::data::EID eid) throw (NeighborNotAvailableException)

Get the neighbor with the given EID.

Exceptions
dtn::net::NeighborNotAvailableExceptionif the neighbor is not available.
Parameters
eidThe EID of the neighbor.
Returns
A node object with all neighbor data.

Definition at line 521 of file ConnectionManager.cpp.

References dtn::core::Node::isAvailable().

Referenced by dtn::daemon::NativeDaemon::getInfo(), and dtn::daemon::NativeDaemon::initiateConnection().

Here is the call graph for this function:

ConnectionManager::stats_list dtn::net::ConnectionManager::getStats ( )

Definition at line 242 of file ConnectionManager.cpp.

References dtn::net::ConvergenceLayer::getDiscoveryProtocol(), and dtn::net::ConvergenceLayer::getStats().

Referenced by dtn::daemon::NativeDaemon::getStats().

Here is the call graph for this function:

bool dtn::net::ConnectionManager::isNeighbor ( const dtn::core::Node node)

Checks if a node is already known as neighbor.

Parameters
@return

Definition at line 530 of file ConnectionManager.cpp.

References dtn::core::Node::getEID(), and dtn::core::Node::isAvailable().

Referenced by dtn_dht_handle_lookup_result().

Here is the call graph for this function:

void dtn::net::ConnectionManager::open ( const dtn::core::Node node) throw (ibrcommon::Exception)

Definition at line 388 of file ConnectionManager.cpp.

References dtn::net::ConvergenceLayer::getDiscoveryProtocol(), and dtn::net::ConvergenceLayer::open().

Referenced by dtn::daemon::NativeDaemon::initiateConnection().

Here is the call graph for this function:

void dtn::net::ConnectionManager::queue ( const dtn::net::BundleTransfer job)

queue a bundle for transmission

Definition at line 475 of file ConnectionManager.cpp.

References dtn::net::BundleTransfer::getNeighbor(), dtn::data::EID::getString(), IBRCOMMON_LOGGER_DEBUG_TAG, IBRCOMMON_LOGGER_ENDL, and IBRCOMMON_LOGGER_LEVEL.

Here is the call graph for this function:

void dtn::net::ConnectionManager::remove ( ConvergenceLayer cl)

Remove a convergence layer

Definition at line 236 of file ConnectionManager.cpp.

void dtn::net::ConnectionManager::remove ( P2PDialupExtension ext)

Remove a p2p dial-up extension

Definition at line 279 of file ConnectionManager.cpp.

void dtn::net::ConnectionManager::resetStats ( )

Definition at line 263 of file ConnectionManager.cpp.

References dtn::net::ConvergenceLayer::resetStats().

Here is the call graph for this function:

void dtn::net::ConnectionManager::updateNeighbor ( const dtn::core::Node n)

Add collected data about a neighbor to the neighbor database.

Parameters
nThe node object of the neighbor

Definition at line 541 of file ConnectionManager.cpp.

References discovered().

Referenced by dtn::net::DatagramConvergenceLayer::componentRun(), and dtn::net::DiscoveryAgent::received().

Here is the call graph for this function:


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