dtn::data::Block Class Reference

#include <Block.h>

Inheritance diagram for dtn::data::Block:

dtn::data::CustodySignalBlock dtn::data::ExtensionBlock dtn::data::PayloadBlock dtn::data::SecurityBlock dtn::data::StatusReportBlock dtn::routing::EpidemicRoutingExtension::EpidemicExtensionBlock dtn::data::BundleAuthenticationBlock dtn::data::PayloadConfidentialBlock dtn::data::PayloadIntegrityBlock

List of all members.

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 (EID eid)
virtual std::list< EIDgetEIDList () const
char getType ()
void set (ProcFlags flag, 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


Detailed Description

Definition at line 27 of file Block.h.


Member Enumeration Documentation

Enumerator:
REPLICATE_IN_EVERY_FRAGMENT 
TRANSMIT_STATUSREPORT_IF_NOT_PROCESSED 
DELETE_BUNDLE_IF_NOT_PROCESSED 
LAST_BLOCK 
DISCARD_IF_NOT_PROCESSED 
FORWARDED_WITHOUT_PROCESSED 
BLOCK_CONTAINS_EIDS 

Definition at line 34 of file Block.h.


Constructor & Destructor Documentation

dtn::data::Block::~Block (  )  [virtual]

Definition at line 23 of file Block.cpp.

dtn::data::Block::Block ( char  blocktype  )  [protected]

The constructor of this class is protected to prevent instantiation of this abstract class.

Parameters:
bundle 
blocktype 
Returns:

Definition at line 18 of file Block.cpp.


Member Function Documentation

void dtn::data::Block::addEID ( EID  eid  )  [virtual]

Definition at line 27 of file Block.cpp.

References _eids, and BLOCK_CONTAINS_EIDS.

Referenced by dtn::data::DefaultDeserializer::operator>>().

list< 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::rebuildDictionary().

char dtn::data::Block::getType (  )  [inline]

Definition at line 50 of file Block.h.

References _blocktype.

void dtn::data::Block::set ( ProcFlags  flag,
bool  value 
)

bool dtn::data::Block::get ( ProcFlags  flag  )  const

Definition at line 52 of file Block.cpp.

Referenced by dtn::data::DefaultDeserializer::operator>>().

virtual size_t dtn::data::Block::getLength (  )  const [protected, pure virtual]

virtual std::ostream& dtn::data::Block::serialize ( std::ostream &  stream  )  const [protected, pure virtual]

virtual std::istream& dtn::data::Block::deserialize ( std::istream &  stream  )  [protected, pure virtual]


Friends And Related Function Documentation

friend class Bundle [friend]

Definition at line 29 of file Block.h.

friend class DefaultSerializer [friend]

Definition at line 30 of file Block.h.

friend class DefaultDeserializer [friend]

Definition at line 31 of file Block.h.


Member Data Documentation

char dtn::data::Block::_blocktype [protected]

ssize_t dtn::data::Block::_blocksize [protected]

std::list<dtn::data::EID> dtn::data::Block::_eids [protected]


The documentation for this class was generated from the following files:

Generated on Fri Jul 30 09:15:34 2010 for IBR-DTNSuite by  doxygen 1.5.6