ns3::olsr::PacketHeader Class Reference

#include <olsr-header.h>

Inheritance diagram for ns3::olsr::PacketHeader:
Inheritance graph
[legend]
Collaboration diagram for ns3::olsr::PacketHeader:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 PacketHeader ()
virtual ~PacketHeader ()
void SetPacketLength (uint16_t length)
uint16_t GetPacketLength () const
void SetPacketSequenceNumber (uint16_t seqnum)
uint16_t GetPacketSequenceNumber () const
virtual TypeId GetInstanceTypeId (void) const
virtual void Print (std::ostream &os) const
virtual uint32_t GetSerializedSize (void) const
virtual void Serialize (Buffer::Iterator start) const
virtual uint32_t Deserialize (Buffer::Iterator start)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::olsr::PacketHeader.

Private Attributes

uint16_t m_packetLength
uint16_t m_packetSequenceNumber

Detailed Description

Definition at line 69 of file olsr-header.h.


Constructor & Destructor Documentation

ns3::olsr::PacketHeader::PacketHeader (  ) 

Definition at line 99 of file olsr-header.cc.

ns3::olsr::PacketHeader::~PacketHeader (  )  [virtual]

Definition at line 102 of file olsr-header.cc.


Member Function Documentation

uint32_t ns3::olsr::PacketHeader::Deserialize ( Buffer::Iterator  start  )  [virtual]
Parameters:
start an iterator which points to where the header should written.
Returns:
the number of bytes read.

This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. The data read is expected to match bit-for-bit the representation of this header in real networks.

Implements ns3::Header.

Definition at line 141 of file olsr-header.cc.

References GetSerializedSize(), m_packetLength, m_packetSequenceNumber, and ns3::Buffer::Iterator::ReadNtohU16().

TypeId ns3::olsr::PacketHeader::GetInstanceTypeId ( void   )  const [virtual]
Returns:
the TypeId associated to the most-derived type of this instance.

This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.

Implements ns3::ObjectBase.

Definition at line 115 of file olsr-header.cc.

References GetTypeId().

uint16_t ns3::olsr::PacketHeader::GetPacketLength (  )  const [inline]

Definition at line 79 of file olsr-header.h.

References m_packetLength.

Referenced by ns3::olsr::AgentImpl::RecvOlsr(), and ns3::OlsrHeaderTest::RunTests().

uint16_t ns3::olsr::PacketHeader::GetPacketSequenceNumber (  )  const [inline]

Definition at line 88 of file olsr-header.h.

References m_packetSequenceNumber.

Referenced by ns3::OlsrHeaderTest::RunTests().

uint32_t ns3::olsr::PacketHeader::GetSerializedSize ( void   )  const [virtual]
Returns:
the expected size of the header.

This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. This method should return the number of bytes which are needed to store the full header data by Serialize.

Implements ns3::Header.

Definition at line 121 of file olsr-header.cc.

References OLSR_PKT_HEADER_SIZE.

Referenced by Deserialize(), ns3::olsr::AgentImpl::RecvOlsr(), ns3::OlsrHeaderTest::RunTests(), and ns3::olsr::AgentImpl::SendPacket().

TypeId ns3::olsr::PacketHeader::GetTypeId ( void   )  [static]

This method returns the TypeId associated to ns3::olsr::PacketHeader.

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::Header.

Definition at line 106 of file olsr-header.cc.

References ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

void ns3::olsr::PacketHeader::Print ( std::ostream &  os  )  const [virtual]

This method is used by Packet::Print to print the content of a trailer as ascii data to a c++ output stream. Although the trailer is free to format its output as it wishes, it is recommended to follow a few rules to integrate with the packet pretty printer: start with flags, small field values located between a pair of parens. Values should be separated by whitespace. Follow the parens with the important fields, separated by whitespace. i.e.: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5

Implements ns3::Header.

Definition at line 127 of file olsr-header.cc.

Referenced by ns3::olsr::operator<<().

void ns3::olsr::PacketHeader::Serialize ( Buffer::Iterator  start  )  const [virtual]
Parameters:
start an iterator which points to where the header should be written.

This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. The data written is expected to match bit-for-bit the representation of this header in a real network.

Implements ns3::Header.

Definition at line 133 of file olsr-header.cc.

References m_packetLength, m_packetSequenceNumber, and ns3::Buffer::Iterator::WriteHtonU16().

void ns3::olsr::PacketHeader::SetPacketLength ( uint16_t  length  )  [inline]

Definition at line 75 of file olsr-header.h.

References m_packetLength.

Referenced by ns3::OlsrHeaderTest::RunTests(), and ns3::olsr::AgentImpl::SendPacket().

void ns3::olsr::PacketHeader::SetPacketSequenceNumber ( uint16_t  seqnum  )  [inline]

Member Data Documentation

Definition at line 94 of file olsr-header.h.

Referenced by Deserialize(), GetPacketLength(), Serialize(), and SetPacketLength().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:12:22 2009 for NS-3 by  doxygen 1.6.3