24 ibrcommon::MutexLock l(_index_mutex);
25 _priority_index.insert(b);
30 ibrcommon::MutexLock l(_index_mutex);
31 for (priority_index::const_iterator iter = _priority_index.begin(); iter != _priority_index.end(); ++iter)
35 _priority_index.erase(iter);
43 bool unlimited = (cb.limit() <= 0);
46 ibrcommon::MutexLock l(_index_mutex);
47 for (priority_index::const_iterator iter = _priority_index.begin(); iter != _priority_index.end(); ++iter)
50 if (cb.addIfSelected(result, b)) {
54 if (!unlimited && (added >= cb.limit()))
break;
63 std::set<dtn::data::EID> ret;
65 ibrcommon::MutexLock l(_index_mutex);
66 for (priority_index::const_iterator iter = _priority_index.begin(); iter != _priority_index.end(); ++iter)
virtual const std::set< dtn::data::EID > getDistinctDestinations()
virtual void remove(const dtn::data::BundleID &id)
virtual void get(const dtn::storage::BundleSelector &cb, dtn::storage::BundleResult &result)
virtual ~SchedulingBundleIndex()
virtual void add(const dtn::data::MetaBundle &b)