IBR-DTNSuite  0.8
dtn::storage::SQLiteBundleStorage Class Reference

#include <SQLiteBundleStorage.h>

Inheritance diagram for dtn::storage::SQLiteBundleStorage:
Collaboration diagram for dtn::storage::SQLiteBundleStorage:

List of all members.

Classes

class  BlockingTask
class  SQLiteBLOB
class  Task
class  TaskExpire
class  TaskIdle
class  TaskRemove

Public Member Functions

ibrcommon::BLOB::Reference create ()
 SQLiteBundleStorage (const ibrcommon::File &path, const size_t &size)
virtual ~SQLiteBundleStorage ()
void store (const dtn::data::Bundle &bundle)
dtn::data::Bundle get (const dtn::data::BundleID &id)
const std::list
< dtn::data::MetaBundle
get (BundleFilterCallback &cb)
virtual const std::set
< dtn::data::EID
getDistinctDestinations ()
void remove (const dtn::data::BundleID &id)
void clear ()
void clearAll ()
bool empty ()
unsigned int count ()
void releaseCustody (const dtn::data::EID &custodian, const dtn::data::BundleID &id)
void raiseEvent (const dtn::core::Event *evt)

Protected Member Functions

virtual void componentRun ()
virtual void componentUp ()
virtual void componentDown ()
void __cancellation ()

Detailed Description

Definition at line 34 of file SQLiteBundleStorage.h.


Constructor & Destructor Documentation

dtn::storage::SQLiteBundleStorage::SQLiteBundleStorage ( const ibrcommon::File path,
const size_t &  size 
)

Constructor

Parameters:
Pfadzum Ordner in denen die Datein gespeichert werden.
Dateinameder Datenbank
maximaleGröße der Datenbank

Definition at line 104 of file SQLiteBundleStorage.cpp.

References ibrcommon::File::get().

Here is the call graph for this function:

destructor

Definition at line 112 of file SQLiteBundleStorage.cpp.

References ibrcommon::JoinableThread::join(), and ibrcommon::JoinableThread::stop().

Here is the call graph for this function:


Member Function Documentation

Implements dtn::daemon::IndependentComponent.

Definition at line 181 of file SQLiteBundleStorage.cpp.

References ibrcommon::Queue< T >::abort().

Here is the call graph for this function:

Clears all bundles and fragments in the storage. Routinginformation won't be deleted.

Reimplemented from dtn::storage::BundleStorage.

Definition at line 368 of file SQLiteBundleStorage.cpp.

References dtn::storage::SQLiteDatabase::clear(), ibrcommon::File::createDirectory(), ibrcommon::RWMutex::LOCK_READWRITE, and ibrcommon::File::remove().

Referenced by clearAll().

Here is the call graph for this function:

Clears the hole database.

Definition at line 363 of file SQLiteBundleStorage.cpp.

References clear().

Here is the call graph for this function:

void dtn::storage::SQLiteBundleStorage::componentRun ( ) [protected, virtual]

Implements dtn::daemon::IndependentComponent.

Definition at line 118 of file SQLiteBundleStorage.cpp.

References ibrcommon::Queue< T >::getnpop().

Here is the call graph for this function:

unsigned int dtn::storage::SQLiteBundleStorage::count ( ) [virtual]
Returns:
the count of bundles in the storage

Reimplemented from dtn::storage::BundleStorage.

Definition at line 385 of file SQLiteBundleStorage.cpp.

References dtn::storage::SQLiteDatabase::count(), and ibrcommon::RWMutex::LOCK_READONLY.

Here is the call graph for this function:

create a new BLOB object within this storage

Returns:

Implements ibrcommon::BLOB::Provider.

Definition at line 99 of file SQLiteBundleStorage.cpp.

Returns:
True, if no bundles in the storage.

Reimplemented from dtn::storage::BundleStorage.

Definition at line 379 of file SQLiteBundleStorage.cpp.

References dtn::storage::SQLiteDatabase::empty(), and ibrcommon::RWMutex::LOCK_READONLY.

Here is the call graph for this function:

This method deletes a specific bundle in the storage. No reports will be generated here.

Parameters:
idThe ID of the bundle to remove.

Implements dtn::storage::BundleStorage.

Definition at line 352 of file SQLiteBundleStorage.cpp.

References ibrcommon::Queue< T >::push().

Here is the call graph for this function:


The documentation for this class was generated from the following files: