IBR-DTNSuite  0.8
dtn::data::StreamBlock Class Reference

#include <StreamBlock.h>

Inheritance diagram for dtn::data::StreamBlock:
Collaboration diagram for dtn::data::StreamBlock:

List of all members.

Classes

class  Factory

Public Types

enum  STREAM_FLAGS { STREAM_BEGIN = 1, STREAM_END = 1 << 0x01 }

Public Member Functions

 StreamBlock ()
virtual ~StreamBlock ()
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)
void setSequenceNumber (size_t seq)
size_t getSequenceNumber () const
void set (STREAM_FLAGS flag, const bool &value)
bool get (STREAM_FLAGS flag) const

Static Public Attributes

static const char BLOCK_TYPE = 242

Detailed Description

Definition at line 19 of file StreamBlock.h.


Member Enumeration Documentation

Enumerator:
STREAM_BEGIN 
STREAM_END 

Definition at line 32 of file StreamBlock.h.


Constructor & Destructor Documentation

Definition at line 24 of file StreamBlock.cpp.


Member Function Documentation

std::istream & dtn::data::StreamBlock::deserialize ( std::istream &  stream,
const size_t  length 
) [virtual]

Deserialize the derived block payload.

Parameters:
streamA input stream to deserialize from.
Returns:
The same reference as given with the stream parameter.

Implements dtn::data::Block.

Definition at line 41 of file StreamBlock.cpp.

Definition at line 61 of file StreamBlock.cpp.

size_t dtn::data::StreamBlock::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 29 of file StreamBlock.cpp.

References dtn::data::SDNV::getLength().

Here is the call graph for this function:

Definition at line 71 of file StreamBlock.cpp.

References dtn::data::SDNV::getValue().

Referenced by StreamBundle::clear(), and StreamBundle::getSequenceNumber().

Here is the call graph for this function:

std::ostream & dtn::data::StreamBlock::serialize ( std::ostream &  stream,
size_t &  length 
) const [virtual]

Serialize the derived block payload.

Parameters:
streamA output stream to serialize into.
Returns:
The same reference as given with the stream parameter.

Implements dtn::data::Block.

Definition at line 34 of file StreamBlock.cpp.

void dtn::data::StreamBlock::set ( STREAM_FLAGS  flag,
const bool &  value 
)

Definition at line 49 of file StreamBlock.cpp.

Definition at line 66 of file StreamBlock.cpp.

Referenced by StreamBundle::clear(), and StreamBundle::StreamBundle().


Member Data Documentation

const char dtn::data::StreamBlock::BLOCK_TYPE = 242 [static]

Definition at line 30 of file StreamBlock.h.


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