Classes | Public Member Functions | Protected Member Functions

dtn::routing::BaseRouter Class Reference

#include <BaseRouter.h>

Inherits dtn::core::EventReceiver, and dtn::daemon::IntegratedComponent.

Collaboration diagram for dtn::routing::BaseRouter:
Collaboration graph
[legend]

List of all members.

Classes

class  Endpoint
class  Extension
class  NoNeighbourFoundException
class  NoRouteFoundException
class  RoutingException
class  ThreadedExtension
class  VirtualEndpoint

Public Member Functions

 BaseRouter (dtn::core::BundleStorage &storage)
 ~BaseRouter ()
void addExtension (BaseRouter::Extension *extension)
void transferTo (const dtn::data::EID &destination, const dtn::data::BundleID &id)
void raiseEvent (const dtn::core::Event *evt)
dtn::data::Bundle getBundle (const dtn::data::BundleID &id)
dtn::core::BundleStoragegetStorage ()
bool isKnown (const dtn::data::BundleID &id)
void setKnown (const dtn::data::MetaBundle &meta)
const SummaryVector getSummaryVector ()
virtual const std::string getName () const

Protected Member Functions

virtual void componentUp ()
virtual void componentDown ()

Detailed Description

Definition at line 25 of file BaseRouter.h.


Constructor & Destructor Documentation

dtn::routing::BaseRouter::BaseRouter ( dtn::core::BundleStorage storage  ) 

implementation of the BaseRouter class

Definition at line 79 of file BaseRouter.cpp.

dtn::routing::BaseRouter::~BaseRouter (  ) 

Definition at line 86 of file BaseRouter.cpp.


Member Function Documentation

void dtn::routing::BaseRouter::addExtension ( BaseRouter::Extension extension  ) 

Add a routing extension to the routing core.

Parameters:
extension 

Definition at line 94 of file BaseRouter.cpp.

Referenced by main().

void dtn::routing::BaseRouter::componentDown (  )  [protected, virtual]
void dtn::routing::BaseRouter::componentUp (  )  [protected, virtual]
dtn::data::Bundle dtn::routing::BaseRouter::getBundle ( const dtn::data::BundleID id  ) 

Get a bundle out of the storage.

Parameters:
id The ID of the bundle.
Returns:
The requested bundle.

Definition at line 279 of file BaseRouter.cpp.

References dtn::core::BundleStorage::get().

Here is the call graph for this function:

const std::string dtn::routing::BaseRouter::getName (  )  const [virtual]
See also:
Component::getName()

Implements dtn::daemon::Component.

Definition at line 308 of file BaseRouter.cpp.

dtn::core::BundleStorage & dtn::routing::BaseRouter::getStorage (  ) 
const SummaryVector dtn::routing::BaseRouter::getSummaryVector (  ) 

Definition at line 302 of file BaseRouter.cpp.

References dtn::routing::BundleSummary::getSummaryVector().

Here is the call graph for this function:

bool dtn::routing::BaseRouter::isKnown ( const dtn::data::BundleID id  ) 

This method returns true, if the given BundleID is known.

Parameters:
id 
Returns:

Definition at line 296 of file BaseRouter.cpp.

References dtn::routing::BundleSummary::contains().

Referenced by raiseEvent().

Here is the call graph for this function:

void dtn::routing::BaseRouter::raiseEvent ( const dtn::core::Event evt  ) 
void dtn::routing::BaseRouter::setKnown ( const dtn::data::MetaBundle meta  ) 

This method add a BundleID to the set of known bundles

Parameters:
id 

Definition at line 289 of file BaseRouter.cpp.

References dtn::routing::BundleSummary::add().

Referenced by raiseEvent().

Here is the call graph for this function:

void dtn::routing::BaseRouter::transferTo ( const dtn::data::EID destination,
const dtn::data::BundleID id 
)

Transfer one bundle to another node.

Exceptions:
BundleNotFoundException if the bundle do not exist.
Parameters:
destination The EID of the other node.
id The ID of the bundle to transfer. This bundle must be stored in the storage.

Definition at line 164 of file BaseRouter.cpp.

References dtn::core::BundleCore::getInstance(), and dtn::core::BundleCore::transferTo().

Referenced by dtn::routing::RetransmissionExtension::notify(), dtn::routing::NeighborRoutingExtension::run(), dtn::routing::FloodRoutingExtension::run(), and dtn::routing::EpidemicRoutingExtension::run().

Here is the call graph for this function:


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