40 #include <ibrcommon/thread/Thread.h>
41 #include <ibrcommon/thread/Mutex.h>
42 #include <ibrcommon/thread/RWMutex.h>
43 #include <ibrcommon/thread/Conditional.h>
71 static const std::string TAG;
77 RoutingException(
string what =
"An error occured during routing.") throw() : Exception(what)
139 void raiseEvent(const dtn::net::TransferAbortedEvent &evt) throw ();
140 void raiseEvent(const dtn::net::TransferCompletedEvent &evt) throw ();
141 void raiseEvent(const dtn::net::BundleReceivedEvent &evt) throw ();
145 void raiseEvent(const dtn::net::ConnectionEvent &evt) throw ();
218 virtual const std::
string getName() const;
255 void requestHandshake(const dtn::data::EID &destination, NodeHandshake &request);
263 void __eventDataChanged(const dtn::data::EID &peer) throw ();
264 void __eventTransferCompleted(const dtn::data::EID &peer, const dtn::data::
MetaBundle &meta) throw ();
265 void __eventBundleQueued(const dtn::data::EID &peer, const dtn::data::
MetaBundle &meta) throw ();
267 ibrcommon::Mutex _known_bundles_lock;
270 ibrcommon::Mutex _purged_bundles_lock;
273 ibrcommon::RWMutex _extensions_mutex;
277 bool _extension_state;
void add(RoutingExtension *extension)
const extension_list & getExtensions() const
void processHandshake(const dtn::data::EID &source, NodeHandshake &answer)
ibrcommon::RWMutex & getExtensionMutex()
std::set< RoutingExtension * > extension_list
NoRouteFoundException(string what="No route found.")
void doHandshake(const dtn::data::EID &eid)
void pushHandshakeUpdated(const NodeHandshakeItem::IDENTIFIER id)
void setKnown(const dtn::data::MetaBundle &meta)
void requestHandshake(const dtn::data::EID &destination, NodeHandshake &request)
const dtn::data::BundleSet getPurgedBundles()
virtual void componentDown()
bool isPurged(const dtn::data::BundleID &id)
RoutingException(string what="An error occured during routing.")
NoNeighbourFoundException(string what="No neighbour was found.")
bool isKnown(const dtn::data::BundleID &id)
dtn::storage::BundleStorage & getStorage()
void setPurged(const dtn::data::MetaBundle &meta)
const dtn::data::BundleSet getKnownBundles()
NeighborDatabase & getNeighborDB()
dtn::storage::BundleSeeker & getSeeker()
virtual void componentUp()
bool filterKnown(const dtn::data::MetaBundle &meta)
void raiseEvent(const dtn::net::TransferAbortedEvent &evt)
virtual const std::string getName() const
void responseHandshake(const dtn::data::EID &, const NodeHandshake &, NodeHandshake &)