#include <Block.h>
Inherited by dtn::data::CustodySignalBlock, dtn::data::ExtensionBlock, dtn::data::PayloadBlock, dtn::data::SecurityBlock, dtn::data::StatusReportBlock, and dtn::routing::EpidemicRoutingExtension::EpidemicExtensionBlock.
Public Types | |
| enum | ProcFlags { REPLICATE_IN_EVERY_FRAGMENT = 1, TRANSMIT_STATUSREPORT_IF_NOT_PROCESSED = 1 << 0x01, DELETE_BUNDLE_IF_NOT_PROCESSED = 1 << 0x02, LAST_BLOCK = 1 << 0x03, DISCARD_IF_NOT_PROCESSED = 1 << 0x04, FORWARDED_WITHOUT_PROCESSED = 1 << 0x05, BLOCK_CONTAINS_EIDS = 1 << 0x06 } |
Public Member Functions | |
| virtual | ~Block () |
| virtual void | addEID (const dtn::data::EID &eid) |
| virtual std::list< dtn::data::EID > | getEIDList () const |
| char | getType () const |
| void | set (ProcFlags flag, const bool &value) |
| bool | get (ProcFlags flag) const |
Protected Member Functions | |
| Block (char blocktype) | |
| virtual size_t | getLength () const =0 |
| virtual std::ostream & | serialize (std::ostream &stream) const =0 |
| virtual std::istream & | deserialize (std::istream &stream)=0 |
Protected Attributes | |
| char | _blocktype |
| ssize_t | _blocksize |
| std::list< dtn::data::EID > | _eids |
Friends | |
| class | Bundle |
| class | DefaultSerializer |
| class | DefaultDeserializer |
| class | SeparateSerializer |
| class | SeparateDeserializer |
Definition at line 27 of file Block.h.
| dtn::data::Block::Block | ( | char | blocktype | ) | [protected] |
| void dtn::data::Block::addEID | ( | const dtn::data::EID & | eid | ) | [virtual] |
Definition at line 27 of file Block.cpp.
References _eids.
Referenced by dtn::data::SeparateDeserializer::operator>>(), and dtn::data::DefaultDeserializer::operator>>().
| virtual std::istream& dtn::data::Block::deserialize | ( | std::istream & | stream | ) | [protected, pure virtual] |
Implemented in dtn::data::CustodySignalBlock, dtn::data::ExtensionBlock, dtn::data::PayloadBlock, dtn::data::StatusReportBlock, and dtn::routing::EpidemicRoutingExtension::EpidemicExtensionBlock.
Referenced by dtn::data::SeparateDeserializer::operator>>(), and dtn::data::DefaultDeserializer::operator>>().
| bool dtn::data::Block::get | ( | ProcFlags | flag | ) | const |
Definition at line 52 of file Block.cpp.
Referenced by dtn::data::DefaultDeserializer::operator>>().
| std::list< dtn::data::EID > dtn::data::Block::getEIDList | ( | ) | const [virtual] |
Reimplemented in dtn::data::SecurityBlock.
Definition at line 35 of file Block.cpp.
References _eids.
Referenced by dtn::data::DefaultSerializer::isCompressable(), and dtn::data::DefaultSerializer::rebuildDictionary().
| virtual size_t dtn::data::Block::getLength | ( | ) | const [protected, pure virtual] |
Implemented in dtn::data::CustodySignalBlock, dtn::data::ExtensionBlock, dtn::data::PayloadBlock, dtn::data::StatusReportBlock, and dtn::routing::EpidemicRoutingExtension::EpidemicExtensionBlock.
Referenced by dtn::data::SeparateSerializer::getLength(), dtn::data::DefaultSerializer::getLength(), dtn::data::SeparateSerializer::operator<<(), and dtn::data::DefaultSerializer::operator<<().
| char dtn::data::Block::getType | ( | ) | const [inline] |
Definition at line 52 of file Block.h.
References _blocktype.
| virtual std::ostream& dtn::data::Block::serialize | ( | std::ostream & | stream | ) | const [protected, pure virtual] |
Implemented in dtn::data::CustodySignalBlock, dtn::data::ExtensionBlock, dtn::data::PayloadBlock, dtn::data::StatusReportBlock, and dtn::routing::EpidemicRoutingExtension::EpidemicExtensionBlock.
Referenced by dtn::data::SeparateSerializer::operator<<(), and dtn::data::DefaultSerializer::operator<<().
| void dtn::data::Block::set | ( | ProcFlags | flag, | |
| const bool & | value | |||
| ) |
Definition at line 40 of file Block.cpp.
Referenced by dtn::data::Bundle::BlockList::push_back(), and dtn::data::Bundle::BlockList::push_front().
friend class DefaultDeserializer [friend] |
friend class DefaultSerializer [friend] |
friend class SeparateDeserializer [friend] |
friend class SeparateSerializer [friend] |
ssize_t dtn::data::Block::_blocksize [protected] |
Definition at line 66 of file Block.h.
Referenced by dtn::data::PayloadBlock::deserialize(), dtn::data::ExtensionBlock::deserialize(), dtn::data::SeparateDeserializer::operator>>(), and dtn::data::DefaultDeserializer::operator>>().
char dtn::data::Block::_blocktype [protected] |
Definition at line 65 of file Block.h.
Referenced by dtn::data::SeparateSerializer::getLength(), dtn::data::DefaultSerializer::getLength(), getType(), dtn::data::SeparateSerializer::operator<<(), dtn::data::DefaultSerializer::operator<<(), dtn::data::SeparateDeserializer::operator>>(), and dtn::data::DefaultDeserializer::operator>>().
std::list<dtn::data::EID> dtn::data::Block::_eids [protected] |
Definition at line 67 of file Block.h.
Referenced by addEID(), getEIDList(), dtn::data::SeparateSerializer::getLength(), dtn::data::DefaultSerializer::getLength(), dtn::data::SeparateSerializer::operator<<(), and dtn::data::DefaultSerializer::operator<<().
1.7.1