OpenLCP  0.2.0
Public Member Functions | Protected Attributes | List of all members
ACN::PDU::Pdu Class Reference

The Pdu class. More...

#include <pdu.h>

Inheritance diagram for ACN::PDU::Pdu:
Inheritance graph
[legend]

Public Member Functions

 Pdu (size_t vector_size)
 Pdu::Pdu. More...
 
 ~Pdu ()
 Pdu::~Pdu.
 
uint32_t vector ()
 Pdu::vector. More...
 
pdu_headerheader ()
 Pdu::header. More...
 
pdu_datadata ()
 Pdu::data. More...
 
Message< Pduparent ()
 Pdu::parent. More...
 
Stream stream ()
 Pdu::stream. More...
 
virtual size_t streamSize () const override
 Pdu::streamSize. More...
 
virtual void iStream (Stream) override
 Pdu::iStream. More...
 
virtual void oStream (Stream) const override
 Pdu::oStream. More...
 
void setVector (const uint32_t v)
 Pdu::setVector. More...
 
void setHeader (pdu_header *h)
 Pdu::setHeader. More...
 
void setData (pdu_data *d)
 Pdu::setData. More...
 
void setParent (Message< Pdu > pdu)
 Pdu::setParent. More...
 
void setInherit (Message< Pdu > pdu)
 Pdu::setInherit. More...
 
template<class T >
void createHeader ()
 createHeader
 
template<class T >
void createData ()
 createData
 
template<class T >
void createDataBlock ()
 createDataBlock
 

Protected Attributes

pdu_flags flags_
 flags for length, vector, header and data
 
uint32_t vector_ = 0
 vector of this PDU
 
size_t vector_size_
 width (numbe of octets) of the vector
 
Message< Pduparent_
 parent PDU
 
Message< Pduinherit_
 PDU from which to inherit.
 
pdu_headerheader_ = nullptr
 header segment
 
pdu_datadata_ = nullptr
 data segment
 
Stream stream_
 buffer
 

Detailed Description

The Pdu class.

All PDU share common structure of: flags, length, vector, and protocol specific header/data.

Flag values indicate if lenght, vector, header or data are present in the PDU, or if they should be inherited from the preceding PDU.

Constructor & Destructor Documentation

◆ Pdu()

ACN::PDU::Pdu::Pdu ( size_t  vector_size)

Pdu::Pdu.

Parameters
vector_size

Member Function Documentation

◆ data()

pdu_data * ACN::PDU::Pdu::data ( )

Pdu::data.

Returns
Here is the caller graph for this function:

◆ header()

pdu_header * ACN::PDU::Pdu::header ( )

Pdu::header.

Returns
Here is the caller graph for this function:

◆ iStream()

void ACN::PDU::Pdu::iStream ( Stream  stream)
overridevirtual

◆ oStream()

void ACN::PDU::Pdu::oStream ( Stream  stream) const
overridevirtual

Pdu::oStream.

Parameters
stream

Implements ACN::PDU::pdu_stream_object.

Here is the call graph for this function:

◆ parent()

Message< Pdu > ACN::PDU::Pdu::parent ( )

Pdu::parent.

Returns

◆ setData()

void ACN::PDU::Pdu::setData ( pdu_data d)

Pdu::setData.

Parameters
d

◆ setHeader()

void ACN::PDU::Pdu::setHeader ( pdu_header h)

Pdu::setHeader.

Parameters
h

◆ setInherit()

void ACN::PDU::Pdu::setInherit ( Message< Pdu pdu)

Pdu::setInherit.

Parameters
pdu

◆ setParent()

void ACN::PDU::Pdu::setParent ( Message< Pdu pdu)

Pdu::setParent.

Parameters
pdu

◆ setVector()

void ACN::PDU::Pdu::setVector ( const uint32_t  v)

Pdu::setVector.

Parameters
v

◆ stream()

Stream ACN::PDU::Pdu::stream ( )

Pdu::stream.

Returns
Here is the caller graph for this function:

◆ streamSize()

size_t ACN::PDU::Pdu::streamSize ( ) const
overridevirtual

Pdu::streamSize.

Returns

The maximum buffer size that could be required to buffer this PDU

Implements ACN::PDU::pdu_stream_object.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vector()

uint32_t ACN::PDU::Pdu::vector ( )

Pdu::vector.

Returns
Here is the caller graph for this function:

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