IBR-DTNSuite
0.8
|
#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 |
Static Public Member Functions | |
static std::ostream & | copy (std::ostream &output, std::istream &input, const size_t 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 Attributes | |
static ibrcommon::Semaphore | _filelimit |
Protected Member Functions | |
BLOB () | |
virtual size_t | __get_size ()=0 |
virtual std::iostream & | __get_stream ()=0 |
Static Protected Attributes | |
static ProviderRef | provider |
ibrcommon::BLOB::~BLOB | ( | ) | [virtual] |
ibrcommon::BLOB::BLOB | ( | ) | [protected] |
virtual size_t ibrcommon::BLOB::__get_size | ( | ) | [protected, pure virtual] |
Implemented in ibrcommon::FileBLOB.
Referenced by ibrcommon::BLOB::iostream::size().
virtual std::iostream& ibrcommon::BLOB::__get_stream | ( | ) | [protected, pure virtual] |
Implemented in ibrcommon::FileBLOB.
Referenced by ibrcommon::BLOB::iostream::operator*(), and ibrcommon::BLOB::iostream::operator->().
void ibrcommon::BLOB::changeProvider | ( | BLOB::Provider * | p, |
bool | auto_delete = false |
||
) | [static] |
Changes the BLOB provider.
Definition at line 115 of file BLOB.cpp.
References ibrcommon::BLOB::ProviderRef::change(), and provider.
Referenced by createBundleStorage(), init(), initialize_blobs(), and main().
virtual void ibrcommon::BLOB::clear | ( | ) | [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().
virtual void ibrcommon::BLOB::close | ( | ) | [pure virtual] |
Implemented in ibrcommon::FileBLOB.
Referenced by ibrcommon::BLOB::iostream::~iostream().
std::ostream & ibrcommon::BLOB::copy | ( | std::ostream & | output, |
std::istream & | input, | ||
const size_t | size, | ||
const size_t | buffer_size = 0x1000 |
||
) | [static] |
copy a stream to another stream
Definition at line 37 of file BLOB.cpp.
References IBRCOMMON_LOGGER, and IBRCOMMON_LOGGER_ENDL.
Referenced by dtn::data::PayloadBlock::deserialize(), dtn::data::ExtensionBlock::deserialize(), dtn::api::PlainDeserializer::operator>>(), dtn::routing::operator>>(), dtn::api::PlainSerializer::serialize(), dtn::data::PayloadBlock::serialize(), and dtn::data::ExtensionBlock::serialize().
ibrcommon::BLOB::Reference ibrcommon::BLOB::create | ( | ) | [static] |
Create a new BLOB object.
Definition at line 105 of file BLOB.cpp.
References ibrcommon::BLOB::ProviderRef::create(), and provider.
Referenced by dtn::data::CompressedPayloadBlock::compress(), ibrcommon::MemoryBLOBProvider::create(), dtn::utils::Utils::encapsule(), dtn::data::CompressedPayloadBlock::extract(), dtn::data::BundleMerger::getContainer(), main(), dtn::net::HTTPConvergenceLayer::queue(), dtn::daemon::DTNTPWorker::raiseEvent(), and dtn::api::ExtendedApiHandler::run().
virtual void ibrcommon::BLOB::open | ( | ) | [pure virtual] |
Implemented in ibrcommon::FileBLOB.
Referenced by dtn::api::FileBundle::FileBundle(), and ibrcommon::BLOB::iostream::iostream().
ibrcommon::BLOB::Reference ibrcommon::BLOB::open | ( | const ibrcommon::File & | f | ) | [static] |
This is the global limit for open file handles in BLOBs
Definition at line 36 of file BLOB.h.
Referenced by ibrcommon::FileBLOB::close(), and ibrcommon::FileBLOB::open().
ibrcommon::BLOB::ProviderRef ibrcommon::BLOB::provider [static, protected] |