|
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] |