37 os <<
"TLV type = " << (uint32_t)
m_type <<
" TLV Length = " << (uint64_t)
m_length;
99 uint8_t sizeOfLen = 1;
104 uint64_t testValue = 0xFF;
126 for (
int j = 0; j < lenSize - 1; j++)
141 uint8_t lenSize = i.
ReadU8 ();
142 uint32_t serializedSize = 2;
150 for (
int j = 0; j < lenSize; j++)
161 NS_FATAL_ERROR (
"Not implemented-- please implement and contribute a patch");
165 NS_FATAL_ERROR (
"Not implemented-- please implement and contribute a patch");
169 NS_FATAL_ERROR (
"Not implemented-- please implement and contribute a patch");
187 NS_FATAL_ERROR (
"Not implemented-- please implement and contribute a patch");
191 NS_FATAL_ERROR (
"Not implemented-- please implement and contribute a patch");
198 return serializedSize;
230 for (std::vector<Tlv*>::const_iterator iter =
m_tlvList->begin (); iter !=
m_tlvList->end (); ++iter)
242 for (std::vector<Tlv*>::const_iterator iter =
m_tlvList->begin (); iter !=
m_tlvList->end (); ++iter)
244 size += (*iter)->GetSerializedSize ();
252 for (std::vector<Tlv*>::const_iterator iter =
m_tlvList->begin (); iter !=
m_tlvList->end (); ++iter)
254 (*iter)->Serialize (i);
255 i.
Next ((*iter)->GetSerializedSize ());
287 for (std::vector<Tlv*>::const_iterator iter =
Begin (); iter !=
End (); ++iter)
289 tmp->
Add (
Tlv ((*iter)->GetType (), (*iter)->GetLength (), *(*iter)->PeekValue ()));
297 uint64_t serializedSize = 0;
298 while (serializedSize < valueLen)
300 uint8_t type = i.
ReadU8 ();
302 uint8_t lenSize = i.
ReadU8 ();
312 for (
int j = 0; j < lenSize; j++)
336 NS_FATAL_ERROR (
"Not implemented-- please implement and contribute a patch");
473 serializedSize += size;
483 return serializedSize;
638 uint64_t serializedSize = 0;
641 while (serializedSize < valueLength)
655 for (
int j = 0; j < lenSize; j++)
681 return serializedSize;
693 for (std::vector<Tlv*>::const_iterator iter =
Begin (); iter !=
End (); ++iter)
695 tmp->
Add (
Tlv ((*iter)->GetType (), (*iter)->GetLength (), *(*iter)->PeekValue ()));
710 for (std::vector<Tlv*>::const_iterator iter =
Begin (); iter !=
End (); ++iter)
712 tmp->
Add (
Tlv ((*iter)->GetType (), (*iter)->GetLength (), *(*iter)->PeekValue ()));
720 uint64_t serializedSize = 0;
723 while (serializedSize < valueLength)
737 for (
int j = 0; j < lenSize; j++)
805 return serializedSize;
886 for (std::vector<struct PortRange>::const_iterator iter =
m_portRange->begin (); iter !=
m_portRange->end (); ++iter)
896 while (len < valueLength)
929 for (std::vector<struct PortRange>::const_iterator iter =
m_portRange->begin (); iter !=
m_portRange->end (); ++iter)
931 tmp->
Add ((*iter).PortLow, (*iter).PortHigh);
961 for (std::vector<uint8_t>::const_iterator iter =
m_protocol->begin (); iter !=
m_protocol->end (); ++iter)
971 while (len < valueLength)
1001 for (std::vector<uint8_t>::const_iterator iter =
m_protocol->begin (); iter !=
m_protocol->end (); ++iter)
1012 m_ipv4Addr =
new std::vector<struct ipv4Addr>;
1034 for (std::vector<struct ipv4Addr>::const_iterator iter =
m_ipv4Addr->begin (); iter !=
m_ipv4Addr->end (); ++iter)
1045 while (len < valueLength)
1080 for (std::vector<struct ipv4Addr>::const_iterator iter =
m_ipv4Addr->begin (); iter !=
m_ipv4Addr->end (); ++iter)
1082 tmp->
Add ((*iter).Address, (*iter).Mask);
virtual PortRangeTlvValue * Copy(void) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual ProtocolTlvValue * Copy(void) const
uint8_t GetSizeOfLen(void) const
virtual void Serialize(Buffer::Iterator start) const
std::vector< struct ipv4Addr >::const_iterator Iterator
std::vector< uint8_t >::const_iterator Iterator
uint16_t GetValue(void) const
a class to represent an Ipv4 address mask
virtual uint32_t GetSerializedSize(void) const =0
uint8_t GetValue(void) const
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start)
virtual uint32_t GetSerializedSize(void) const
virtual void Serialize(Buffer::Iterator start) const
void Add(uint16_t portLow, uint16_t portHigh)
virtual uint32_t GetSerializedSize(void) const
this class implements the convergence sub-layer descriptor as a tlv vector
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual U16TlvValue * Copy(void) const
void Add(uint8_t protiocol)
uint32_t ReadNtohU32(void)
This class implements the Type-Len-Value structure channel encodings as described by "IEEE Standard f...
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
#define NS_FATAL_ERROR(msg)
fatal error handling
iterator in a Buffer instance
The value field of a tlv can take different values (uint8_t, uint16, vector...).
std::vector< struct ipv4Addr > * m_ipv4Addr
uint8_t GetLow(void) const
virtual void Serialize(Buffer::Iterator start) const
virtual void Serialize(Buffer::Iterator start) const
std::vector< struct PortRange >::const_iterator Iterator
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
#define WIMAX_TLV_EXTENDED_LENGTH_MASK
virtual void Serialize(Buffer::Iterator start) const
uint64_t GetLength(void) const
std::vector< Tlv * > * m_tlvList
uint8_t GetHigh(void) const
void WriteHtonU16(uint16_t data)
virtual TlvValue * Copy(void) const =0
void Next(void)
go forward by one byte
std::vector< uint8_t > * m_protocol
virtual void Serialize(Buffer::Iterator start) const
U8TlvValue * Copy(void) const
virtual U32TlvValue * Copy(void) const
TlvValue * CopyValue(void) const
uint8_t GetType(void) const
virtual TypeId GetInstanceTypeId(void) const
virtual SfVectorTlvValue * Copy(void) const
std::vector< struct PortRange > * m_portRange
virtual CsParamVectorTlvValue * Copy(void) const
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t GetSerializedSize(void) const
virtual ClassificationRuleVectorTlvValue * Copy(void) const
TlvValue * PeekValue(void)
ClassificationRuleVectorTlvValue()
this class implements the classifier descriptor as a tlv vector
void WriteHtonU32(uint32_t data)
virtual uint32_t GetSerializedSize(void) const
#define NS_ASSERT_MSG(condition, message)
Tlv & operator=(Tlv const &o)
Ipv4 addresses are stored in host order in this class.
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLen)
void WriteU8(uint8_t data)
virtual void Print(std::ostream &os) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLen)
virtual void Serialize(Buffer::Iterator start) const
virtual void Serialize(Buffer::Iterator start) const =0
virtual void Serialize(Buffer::Iterator start) const
virtual Ipv4AddressTlvValue * Copy() const
uint32_t GetValue(void) const
NS_LOG_COMPONENT_DEFINE("Tlv")
void Add(Ipv4Address address, Ipv4Mask Mask)
uint8_t GetMask(void) const
uint16_t ReadNtohU16(void)
std::vector< Tlv * >::const_iterator Iterator
virtual void Serialize(Buffer::Iterator start) const
a unique identifier for an interface.
virtual TosTlvValue * Copy() const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLen)