22 #ifndef STATICROUTINGEXTENSION_H_
23 #define STATICROUTINGEXTENSION_H_
31 #include <ibrcommon/thread/Queue.h>
32 #include <ibrcommon/thread/Mutex.h>
42 static const std::string TAG;
48 virtual const std::string
getTag()
const throw ();
84 const std::string toString()
const;
91 void raiseExpired()
const;
108 virtual std::string toString() = 0;
111 class SearchNextBundleTask :
public Task
115 virtual ~SearchNextBundleTask();
117 virtual std::string toString();
122 class ProcessBundleTask :
public Task
126 virtual ~ProcessBundleTask();
128 virtual std::string toString();
134 class ClearRoutesTask :
public Task
138 virtual ~ClearRoutesTask();
139 virtual std::string toString();
142 class RouteChangeTask :
public Task
151 RouteChangeTask(CHANGE_TYPE type,
StaticRoute *route);
152 virtual ~RouteChangeTask();
154 virtual std::string toString();
160 class ExpireTask :
public Task
164 virtual ~ExpireTask();
166 virtual std::string toString();
174 ibrcommon::Queue<StaticRoutingExtension::Task* > _taskqueue;
179 std::list<StaticRoute*> _routes;
180 ibrcommon::Mutex _expire_lock;
virtual void eventDataChanged(const dtn::data::EID &peer)
virtual void eventBundleQueued(const dtn::data::EID &peer, const dtn::data::MetaBundle &meta)
void raiseEvent(const dtn::core::TimeEvent &evt)
virtual const std::string getTag() const
virtual ~StaticRoutingExtension()