IBR-DTNSuite
0.8
|
#include <ExtensionBlock.h>
Classes | |
class | Factory |
class | FactoryList |
Public Member Functions | |
ExtensionBlock () | |
ExtensionBlock (ibrcommon::BLOB::Reference ref) | |
virtual | ~ExtensionBlock () |
ibrcommon::BLOB::Reference | getBLOB () const |
virtual size_t | getLength () const |
virtual std::ostream & | serialize (std::ostream &stream, size_t &length) const |
virtual std::istream & | deserialize (std::istream &stream, const size_t length) |
Static Protected Attributes | |
static FactoryList * | factories = NULL |
Definition at line 19 of file ExtensionBlock.h.
Definition at line 81 of file ExtensionBlock.cpp.
Definition at line 86 of file ExtensionBlock.cpp.
dtn::data::ExtensionBlock::~ExtensionBlock | ( | ) | [virtual] |
Definition at line 91 of file ExtensionBlock.cpp.
std::istream & dtn::data::ExtensionBlock::deserialize | ( | std::istream & | stream, |
const size_t | length | ||
) | [virtual] |
Deserialize the derived block payload.
stream | A input stream to deserialize from. |
Implements dtn::data::Block.
Definition at line 121 of file ExtensionBlock.cpp.
References ibrcommon::BLOB::iostream::clear(), ibrcommon::BLOB::copy(), dtn::data::Block::FORWARDED_WITHOUT_PROCESSED, ibrcommon::BLOB::Reference::iostream(), and ibrcommon::Exception::what().
Definition at line 95 of file ExtensionBlock.cpp.
size_t dtn::data::ExtensionBlock::getLength | ( | ) | const [virtual] |
Return the length of the payload, if this were an abstract block. It is the length put in the third field, after block type and processing flags.
Implements dtn::data::Block.
Definition at line 100 of file ExtensionBlock.cpp.
References ibrcommon::BLOB::Reference::iostream(), and ibrcommon::BLOB::iostream::size().
std::ostream & dtn::data::ExtensionBlock::serialize | ( | std::ostream & | stream, |
size_t & | length | ||
) | const [virtual] |
Serialize the derived block payload.
stream | A output stream to serialize into. |
Implements dtn::data::Block.
Definition at line 107 of file ExtensionBlock.cpp.
References ibrcommon::BLOB::copy(), ibrcommon::BLOB::Reference::iostream(), ibrcommon::BLOB::iostream::size(), and ibrcommon::Exception::what().
ExtensionBlock::FactoryList * dtn::data::ExtensionBlock::factories = NULL [static, protected] |
Definition at line 64 of file ExtensionBlock.h.
Referenced by dtn::data::ExtensionBlock::Factory::Factory(), dtn::data::ExtensionBlock::Factory::get(), dtn::data::ExtensionBlock::FactoryList::initialize(), and dtn::data::ExtensionBlock::Factory::~Factory().