44 explicit PDU(
unsigned int vector, vector_size size = FOUR_BYTES):
46 m_vector_size(size) {}
50 virtual unsigned int Size()
const;
51 virtual unsigned int VectorSize()
const {
return m_vector_size; }
52 virtual unsigned int HeaderSize()
const = 0;
53 virtual unsigned int DataSize()
const = 0;
56 void SetVector(
unsigned int vector) { m_vector = vector; }
62 virtual bool Pack(uint8_t *data,
unsigned int *length)
const;
63 virtual bool PackHeader(uint8_t *data,
unsigned int *length)
const = 0;
64 virtual bool PackData(uint8_t *data,
unsigned int *length)
const = 0;
75 uint8_t flags = VFLAG_MASK | HFLAG_MASK | DFLAG_MASK);
83 static const uint8_t VFLAG_MASK = 0x40;
85 static const uint8_t HFLAG_MASK = 0x20;
87 static const uint8_t DFLAG_MASK = 0x10;
90 unsigned int m_vector;
91 unsigned int m_vector_size;
95 static const unsigned int TWOB_LENGTH_LIMIT = 0x0FFF;