IBR-DTNSuite
0.10
|
#include <BLOB.h>
Classes | |
class | iostream |
class | Provider |
class | ProviderRef |
class | Reference |
Public Member Functions | |
virtual | ~BLOB () |
virtual void | clear ()=0 |
virtual void | open ()=0 |
virtual void | close ()=0 |
Public Member Functions inherited from ibrcommon::Mutex | |
Mutex (MUTEX_TYPE type=MUTEX_NORMAL) | |
virtual | ~Mutex () |
virtual void | trylock () throw (MutexException) |
virtual void | enter () throw (MutexException) |
virtual void | leave () throw (MutexException) |
Public Member Functions inherited from ibrcommon::MutexInterface | |
virtual | ~MutexInterface ()=0 |
Static Public Member Functions | |
static std::ostream & | copy (std::ostream &output, std::istream &input, const std::streamsize size, const size_t buffer_size=0x1000) |
static ibrcommon::BLOB::Reference | create () |
static ibrcommon::BLOB::Reference | open (const ibrcommon::File &f) |
static void | changeProvider (BLOB::Provider *p, bool auto_delete=false) |
Static Public Member Functions inherited from ibrcommon::Mutex | |
static MutexInterface & | dummy () |
Static Public Attributes | |
static ibrcommon::Semaphore | _filelimit |
Protected Member Functions | |
BLOB () | |
virtual std::streamsize | __get_size ()=0 |
virtual std::iostream & | __get_stream ()=0 |
Static Protected Attributes | |
static ProviderRef | provider |
Additional Inherited Members | |
Public Types inherited from ibrcommon::Mutex | |
enum | MUTEX_TYPE { MUTEX_NORMAL = PTHREAD_MUTEX_NORMAL, MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE, MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK } |
Protected Attributes inherited from ibrcommon::Mutex | |
pthread_mutex_t | m_mutex |
pthread_mutexattr_t | m_attr |
|
protectedpure virtual |
Implemented in ibrcommon::FileBLOB.
Referenced by ibrcommon::BLOB::iostream::size().
|
protectedpure virtual |
Implemented in ibrcommon::FileBLOB.
Referenced by ibrcommon::BLOB::iostream::operator*(), and ibrcommon::BLOB::iostream::operator->().
|
static |
Changes the BLOB provider.
Definition at line 131 of file BLOB.cpp.
References ibrcommon::BLOB::ProviderRef::change(), and provider.
Referenced by init(), main(), and dtn::storage::SQLiteBundleStorage::SQLiteBundleStorage().
|
pure virtual |
This method deletes the content of the payload. The size will be zero after calling.
Implemented in ibrcommon::FileBLOB.
Referenced by ibrcommon::BLOB::iostream::clear().
|
pure virtual |
Implemented in ibrcommon::FileBLOB.
Referenced by ibrcommon::BLOB::iostream::~iostream().
|
static |
copy a stream to another stream
Definition at line 52 of file BLOB.cpp.
References IBRCOMMON_LOGGER_ENDL, IBRCOMMON_LOGGER_TAG, and ibrcommon::LogLevel::warning.
Referenced by dtn::data::PayloadBlock::deserialize(), dtn::data::ExtensionBlock::deserialize(), dtn::storage::SQLiteBundleStorage::get(), dtn::api::PlainDeserializer::operator>>(), dtn::routing::operator>>(), dtn::api::PlainDeserializer::readData(), dtn::data::PayloadBlock::serialize(), dtn::data::ExtensionBlock::serialize(), dtn::core::FragmentManager::split(), dtn::storage::SQLiteBundleStorage::store(), and dtn::api::PlainSerializer::writeData().
|
static |
Create a new BLOB object.
Definition at line 121 of file BLOB.cpp.
References ibrcommon::BLOB::ProviderRef::create(), and provider.
Referenced by dtn::data::CompressedPayloadBlock::compress(), dtn::utils::Utils::encapsule(), dtn::data::CompressedPayloadBlock::extract(), dtn::data::BundleMerger::getContainer(), main(), dtn::net::HTTPConvergenceLayer::queue(), and dtn::core::FragmentManager::split().
|
pure virtual |
Implemented in ibrcommon::FileBLOB.
Referenced by ibrcommon::BLOB::iostream::iostream(), and main().
|
static |
|
static |
This is the global limit for open file handles in BLOBs
Definition at line 50 of file BLOB.h.
Referenced by ibrcommon::FileBLOB::close(), and ibrcommon::FileBLOB::open().
|
staticprotected |