22 #ifndef SIMPLEBUNDLESTORAGE_H_
23 #define SIMPLEBUNDLESTORAGE_H_
35 #include <ibrcommon/thread/Conditional.h>
36 #include <ibrcommon/thread/AtomicCounter.h>
37 #include <ibrcommon/thread/RWMutex.h>
39 #include <ibrcommon/data/File.h>
42 #include <ibrcommon/thread/Queue.h>
56 static const std::string TAG;
140 virtual const std::string
getName()
const;
173 virtual ~BundleContainer();
183 std::string getId()
const;
188 std::ostream& serialize(std::ostream &stream);
197 typedef std::map<DataStorage::Hash, dtn::data::Bundle> pending_map;
198 ibrcommon::RWMutex _pending_lock;
199 pending_map _pending_bundles;
205 ibrcommon::RWMutex _meta_lock;
virtual void componentUp()
virtual void eventDataStorageStoreFailed(const dtn::storage::DataStorage::Hash &hash, const ibrcommon::Exception &)
virtual dtn::data::MetaBundle info(const dtn::data::BundleID &id)
virtual void eventDataStorageStored(const dtn::storage::DataStorage::Hash &hash)
std::set< dtn::data::EID > eid_set
void releaseCustody(const dtn::data::EID &custodian, const dtn::data::BundleID &id)
virtual void eventDataStorageRemoved(const dtn::storage::DataStorage::Hash &hash)
void raiseEvent(const dtn::core::TimeEvent &evt)
virtual const eid_set getDistinctDestinations()
virtual bool contains(const dtn::data::BundleID &id)
virtual void eventBundleExpired(const dtn::data::MetaBundle &b)
SimpleBundleStorage(const ibrcommon::File &workdir, const dtn::data::Length maxsize=0, const unsigned int buffer_limit=0)
virtual const std::string getName() const
virtual void eventDataStorageRemoveFailed(const dtn::storage::DataStorage::Hash &hash, const ibrcommon::Exception &)
virtual void setFaulty(bool mode)
virtual void componentDown()
virtual void iterateDataStorage(const dtn::storage::DataStorage::Hash &hash, dtn::storage::DataStorage::istream &stream)
virtual ~SimpleBundleStorage()
virtual void store(const dtn::data::Bundle &bundle)