52 const std::string FloodRoutingExtension::TAG =
"FloodRoutingExtension";
73 for (std::set<dtn::core::Node>::const_iterator iter = nl.begin(); iter != nl.end(); ++iter)
79 _taskqueue.push(
new SearchNextBundleTask( n.
getEID() ) );
84 }
catch (
const std::bad_cast&) { };
95 _taskqueue.push(
new SearchNextBundleTask(eid) );
102 _taskqueue.push(
new SearchNextBundleTask(eid) );
106 }
catch (
const std::bad_cast&) { };
114 _taskqueue.push(
new SearchNextBundleTask(ce.
peer) );
117 }
catch (
const std::bad_cast&) { };
124 _taskqueue.push(
new SearchNextBundleTask( aborted.
getPeer() ) );
126 }
catch (
const std::bad_cast&) { };
133 _taskqueue.push(
new SearchNextBundleTask( completed.
getPeer() ) );
135 }
catch (
const std::bad_cast&) { };
177 virtual ~BundleFilter() {};
179 virtual dtn::data::Size limit()
const throw () {
return _entry.getFreeTransferSlots(); };
218 if (_entry.has(meta))
235 Task *t = _taskqueue.getnpop(
true);
236 std::auto_ptr<Task> killer(t);
242 SearchNextBundleTask &task =
dynamic_cast<SearchNextBundleTask&
>(*t);
256 BundleFilter filter(entry);
263 (**this).getSeeker().get(filter, list);
267 for (std::list<dtn::data::MetaBundle>::const_iterator iter = list.begin(); iter != list.end(); ++iter)
277 }
catch (
const std::bad_cast&) { };
281 }
catch (
const std::exception &ex) {
292 FloodRoutingExtension::SearchNextBundleTask::SearchNextBundleTask(
const dtn::data::EID &e)
296 FloodRoutingExtension::SearchNextBundleTask::~SearchNextBundleTask()
299 std::string FloodRoutingExtension::SearchNextBundleTask::toString()
301 return "SearchNextBundleTask: " + eid.getString();