ns3::Icmpv4Echo Class Reference

#include <icmpv4.h>

Inheritance diagram for ns3::Icmpv4Echo:
Inheritance graph
[legend]
Collaboration diagram for ns3::Icmpv4Echo:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void SetIdentifier (uint16_t id)
void SetSequenceNumber (uint16_t seq)
void SetData (Ptr< const Packet > data)
uint16_t GetIdentifier (void) const
uint16_t GetSequenceNumber (void) const
Ptr< const PacketGetData (void) const
 Icmpv4Echo ()
virtual ~Icmpv4Echo ()
virtual TypeId GetInstanceTypeId (void) const
virtual uint32_t GetSerializedSize (void) const
virtual void Serialize (Buffer::Iterator start) const
virtual uint32_t Deserialize (Buffer::Iterator start)
virtual void Print (std::ostream &os) const

Static Public Member Functions

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

Private Attributes

uint16_t m_identifier
uint16_t m_sequence
Ptr< Packetm_data

Detailed Description

Definition at line 45 of file icmpv4.h.


Constructor & Destructor Documentation

ns3::Icmpv4Echo::Icmpv4Echo (  ) 

Definition at line 139 of file icmpv4.cc.

ns3::Icmpv4Echo::~Icmpv4Echo (  )  [virtual]

Definition at line 144 of file icmpv4.cc.


Member Function Documentation

uint32_t ns3::Icmpv4Echo::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 164 of file icmpv4.cc.

References ns3::Buffer::Iterator::GetSize(), m_data, m_identifier, m_sequence, NS_ASSERT, ns3::Buffer::Iterator::Read(), and ns3::Buffer::Iterator::ReadNtohU16().

Ptr< const Packet > ns3::Icmpv4Echo::GetData ( void   )  const

Definition at line 124 of file icmpv4.cc.

References m_data.

uint16_t ns3::Icmpv4Echo::GetIdentifier ( void   )  const

Definition at line 114 of file icmpv4.cc.

References m_identifier.

TypeId ns3::Icmpv4Echo::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 147 of file icmpv4.cc.

References GetTypeId().

uint16_t ns3::Icmpv4Echo::GetSequenceNumber ( void   )  const

Definition at line 119 of file icmpv4.cc.

References m_sequence.

uint32_t ns3::Icmpv4Echo::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 152 of file icmpv4.cc.

References m_data.

TypeId ns3::Icmpv4Echo::GetTypeId ( void   )  [static]

This method returns the TypeId associated to ns3::Header.

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

Reimplemented from ns3::Header.

Definition at line 131 of file icmpv4.cc.

References ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

void ns3::Icmpv4Echo::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 177 of file icmpv4.cc.

References m_identifier, and m_sequence.

void ns3::Icmpv4Echo::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 157 of file icmpv4.cc.

References m_data, m_identifier, m_sequence, ns3::Buffer::Iterator::Write(), and ns3::Buffer::Iterator::WriteHtonU16().

void ns3::Icmpv4Echo::SetData ( Ptr< const Packet data  ) 

Definition at line 109 of file icmpv4.cc.

References m_data.

void ns3::Icmpv4Echo::SetIdentifier ( uint16_t  id  ) 

Definition at line 99 of file icmpv4.cc.

References m_identifier.

void ns3::Icmpv4Echo::SetSequenceNumber ( uint16_t  seq  ) 

Definition at line 104 of file icmpv4.cc.

References m_sequence.


Member Data Documentation

Definition at line 67 of file icmpv4.h.

Referenced by Deserialize(), GetData(), GetSerializedSize(), Serialize(), and SetData().

uint16_t ns3::Icmpv4Echo::m_identifier [private]

Definition at line 65 of file icmpv4.h.

Referenced by Deserialize(), GetIdentifier(), Print(), Serialize(), and SetIdentifier().

uint16_t ns3::Icmpv4Echo::m_sequence [private]

Definition at line 66 of file icmpv4.h.

Referenced by Deserialize(), GetSequenceNumber(), Print(), Serialize(), and SetSequenceNumber().


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