IBR-DTNSuite 0.6

dtn::routing::EpidemicRoutingExtension Class Reference

#include <EpidemicRoutingExtension.h>

Inheritance diagram for dtn::routing::EpidemicRoutingExtension:
Collaboration diagram for dtn::routing::EpidemicRoutingExtension:

List of all members.

Classes

class  EpidemicEndpoint
class  ExecutableTask
class  ExpireTask
class  ProcessEpidemicBundleTask
class  QuerySummaryVectorTask
class  SearchNextBundleTask
class  Task
class  TransferCompletedTask

Public Member Functions

 EpidemicRoutingExtension ()
virtual ~EpidemicRoutingExtension ()
void notify (const dtn::core::Event *evt)
virtual void stopExtension ()

Protected Member Functions

void run ()
bool __cancellation ()

Detailed Description

Definition at line 33 of file EpidemicRoutingExtension.h.


Constructor & Destructor Documentation

dtn::routing::EpidemicRoutingExtension::EpidemicRoutingExtension ( )

Definition at line 44 of file EpidemicRoutingExtension.cpp.

References IBRCOMMON_LOGGER, and IBRCOMMON_LOGGER_ENDL.

dtn::routing::EpidemicRoutingExtension::~EpidemicRoutingExtension ( ) [virtual]

Definition at line 51 of file EpidemicRoutingExtension.cpp.

References ibrcommon::JoinableThread::join(), and ibrcommon::JoinableThread::stop().

Here is the call graph for this function:


Member Function Documentation

bool dtn::routing::EpidemicRoutingExtension::__cancellation ( ) [protected, virtual]

Reimplemented from ibrcommon::Thread.

Definition at line 128 of file EpidemicRoutingExtension.cpp.

References ibrcommon::Queue< T >::abort().

Here is the call graph for this function:

void dtn::routing::EpidemicRoutingExtension::run ( ) [protected, virtual]

Abstract interface for thread context run method.

Execute an executable task

The ExpireTask take care of expired bundles in the purge vector

SearchNextBundleTask triggers a search for a bundle to transfer to another host. This Task is generated by TransferCompleted, TransferAborted and node events.

transfer was completed

process a epidemic bundle

Implements ibrcommon::Thread.

Definition at line 134 of file EpidemicRoutingExtension.cpp.

References dtn::routing::BundleSummary::add(), dtn::data::MetaBundle::destination, dtn::data::PrimaryBlock::DESTINATION_IS_SINGLETON, dtn::data::BundleList::expire(), dtn::core::BundleStorage::get(), dtn::routing::NeighborDatabase::get(), dtn::data::EID::getNode(), ibrcommon::Queue< T >::getnpop(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_DEBUG, IBRCOMMON_LOGGER_ENDL, dtn::core::BundleCore::local, ibrcommon::Queue< T >::push(), dtn::data::BundleID::source, dtn::routing::BaseRouter::Extension::transferTo(), ibrcommon::Exception::what(), and ibrcommon::Thread::yield().

Here is the call graph for this function:

void dtn::routing::EpidemicRoutingExtension::stopExtension ( ) [virtual]

Implements dtn::routing::BaseRouter::ThreadedExtension.

Definition at line 57 of file EpidemicRoutingExtension.cpp.

References ibrcommon::Queue< T >::abort().

Here is the call graph for this function:


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