ns-3
|
iterator in a Buffer instance More...
#include <buffer.h>
Public Member Functions | |
void | Next (void) |
void | Prev (void) |
void | Next (uint32_t delta) |
void | Prev (uint32_t delta) |
uint32_t | GetDistanceFrom (Iterator const &o) const |
bool | IsEnd (void) const |
bool | IsStart (void) const |
void | WriteU8 (uint8_t data) |
void | WriteU8 (uint8_t data, uint32_t len) |
void | WriteU16 (uint16_t data) |
void | WriteU32 (uint32_t data) |
void | WriteU64 (uint64_t data) |
void | WriteHtolsbU16 (uint16_t data) |
void | WriteHtolsbU32 (uint32_t data) |
void | WriteHtolsbU64 (uint64_t data) |
void | WriteHtonU16 (uint16_t data) |
void | WriteHtonU32 (uint32_t data) |
void | WriteHtonU64 (uint64_t data) |
void | Write (uint8_t const *buffer, uint32_t size) |
void | Write (Iterator start, Iterator end) |
uint8_t | ReadU8 (void) |
uint16_t | ReadU16 (void) |
uint32_t | ReadU32 (void) |
uint64_t | ReadU64 (void) |
uint16_t | ReadNtohU16 (void) |
uint32_t | ReadNtohU32 (void) |
uint64_t | ReadNtohU64 (void) |
uint16_t | ReadLsbtohU16 (void) |
uint32_t | ReadLsbtohU32 (void) |
uint64_t | ReadLsbtohU64 (void) |
void | Read (uint8_t *buffer, uint32_t size) |
uint16_t | CalculateIpChecksum (uint16_t size) |
Calculate the checksum. | |
uint16_t | CalculateIpChecksum (uint16_t size, uint32_t initialChecksum) |
Calculate the checksum. | |
uint32_t | GetSize (void) const |
Friends | |
class | Buffer |
iterator in a Buffer instance
uint16_t ns3::Buffer::Iterator::CalculateIpChecksum | ( | uint16_t | size | ) |
Calculate the checksum.
size | size of the buffer. |
Referenced by ns3::Icmpv6Header::CalculatePseudoHeaderChecksum(), ns3::UdpHeader::Deserialize(), ns3::TcpHeader::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::Icmpv4Header::Serialize(), ns3::UdpHeader::Serialize(), ns3::TcpHeader::Serialize(), ns3::Icmpv6Header::Serialize(), ns3::Ipv4Header::Serialize(), ns3::Icmpv6NS::Serialize(), ns3::Icmpv6NA::Serialize(), ns3::Icmpv6RA::Serialize(), ns3::Icmpv6RS::Serialize(), ns3::Icmpv6Redirection::Serialize(), ns3::Icmpv6Echo::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), and ns3::Icmpv6ParameterError::Serialize().
uint16_t ns3::Buffer::Iterator::CalculateIpChecksum | ( | uint16_t | size, |
uint32_t | initialChecksum | ||
) |
Calculate the checksum.
size | size of the buffer. |
initialChecksum | initial value |
uint32_t ns3::Buffer::Iterator::GetDistanceFrom | ( | Iterator const & | o | ) | const |
o | the second iterator |
This method works only if the two iterators point to the same underlying buffer. Debug builds ensure this with an assert.
References NS_ASSERT.
Referenced by ns3::AmsduSubframeHeader::Deserialize(), ns3::flame::FlameHeader::Deserialize(), ns3::CtrlBAckRequestHeader::Deserialize(), ns3::MgtAssocRequestHeader::Deserialize(), ns3::WifiInformationElementVector::Deserialize(), ns3::dot11s::MeshHeader::Deserialize(), ns3::aodv::TypeHeader::Deserialize(), ns3::dsdv::DsdvHeader::Deserialize(), ns3::dot11s::PeerLinkFrameStart::Deserialize(), ns3::ManagementMessageType::Deserialize(), ns3::UanHeaderRcData::Deserialize(), ns3::UanHeaderCommon::Deserialize(), ns3::MgtAssocResponseHeader::Deserialize(), ns3::WifiMacHeader::Deserialize(), ns3::CtrlBAckResponseHeader::Deserialize(), ns3::aodv::RreqHeader::Deserialize(), ns3::MgtProbeRequestHeader::Deserialize(), ns3::WifiInformationElement::Deserialize(), ns3::MgtProbeResponseHeader::Deserialize(), ns3::Icmpv4TimeExceeded::Deserialize(), ns3::UanHeaderRcRts::Deserialize(), ns3::PbbTlvBlock::Deserialize(), ns3::aodv::RrepHeader::Deserialize(), ns3::UanHeaderRcCtsGlobal::Deserialize(), ns3::WifiActionHeader::Deserialize(), ns3::aodv::RrepAckHeader::Deserialize(), ns3::MgtAddBaRequestHeader::Deserialize(), ns3::aodv::RerrHeader::Deserialize(), ns3::UanHeaderRcCts::Deserialize(), ns3::MgtAddBaResponseHeader::Deserialize(), ns3::PbbAddressTlvBlock::Deserialize(), ns3::UanHeaderRcAck::Deserialize(), ns3::MgtDelBaHeader::Deserialize(), ns3::PbbPacket::Deserialize(), ns3::PbbMessage::Deserialize(), ns3::dot11s::IePeeringProtocol::DeserializeInformationField(), ns3::dot11s::IeLinkMetricReport::DeserializeInformationField(), ns3::dot11s::IeMeshId::DeserializeInformationField(), ns3::dot11s::IePerr::DeserializeInformationField(), ns3::dot11s::IeRann::DeserializeInformationField(), ns3::dot11s::IePrep::DeserializeInformationField(), ns3::dot11s::IePeerManagement::DeserializeInformationField(), ns3::dot11s::IeBeaconTiming::DeserializeInformationField(), ns3::dot11s::IeConfiguration::DeserializeInformationField(), ns3::dot11s::IePreq::DeserializeInformationField(), ns3::MeshInformationElementVector::DeserializeSingleIe(), ns3::WifiInformationElementVector::DeserializeSingleIe(), ns3::PbbTlvBlock::Serialize(), ns3::PbbAddressTlvBlock::Serialize(), and ns3::PbbMessage::Serialize().
uint32_t ns3::Buffer::Iterator::GetSize | ( | void | ) | const |
Referenced by ns3::WifiInformationElementVector::Deserialize(), ns3::Icmpv4Echo::Deserialize(), ns3::UdpHeader::Deserialize(), ns3::TcpHeader::Deserialize(), ns3::Icmpv6DestinationUnreachable::Deserialize(), ns3::Icmpv6TooBig::Deserialize(), ns3::Icmpv6TimeExceeded::Deserialize(), ns3::Icmpv6ParameterError::Deserialize(), ns3::Icmpv4Header::Serialize(), ns3::UdpHeader::Serialize(), ns3::TcpHeader::Serialize(), ns3::Icmpv6Header::Serialize(), ns3::Icmpv6NS::Serialize(), ns3::Icmpv6NA::Serialize(), ns3::Icmpv6RA::Serialize(), ns3::Icmpv6RS::Serialize(), ns3::Icmpv6Redirection::Serialize(), ns3::Icmpv6Echo::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), and ns3::Icmpv6ParameterError::Serialize().
bool ns3::Buffer::Iterator::IsEnd | ( | void | ) | const |
Referenced by ns3::PbbPacket::Deserialize().
bool ns3::Buffer::Iterator::IsStart | ( | void | ) | const |
void ns3::Buffer::Iterator::Next | ( | void | ) | [inline] |
go forward by one byte
References NS_ASSERT.
Referenced by ns3::flame::FlameHeader::Deserialize(), ns3::LlcSnapHeader::Deserialize(), ns3::Icmpv4Header::Deserialize(), ns3::ArpHeader::Deserialize(), ns3::WifiInformationElementVector::Deserialize(), ns3::dot11s::PeerLinkFrameStart::Deserialize(), ns3::UdpHeader::Deserialize(), ns3::Ipv6OptionHeader::Deserialize(), ns3::TcpHeader::Deserialize(), ns3::Icmpv4TimeExceeded::Deserialize(), ns3::PbbTlv::Deserialize(), ns3::WifiInformationElement::DeserializeIfPresent(), ns3::dot11s::IePerr::DeserializeInformationField(), ns3::PbbMessage::DeserializeMessage(), ns3::MeshInformationElementVector::DeserializeSingleIe(), ns3::WifiInformationElementVector::DeserializeSingleIe(), ns3::Icmpv4Header::Serialize(), ns3::UdpHeader::Serialize(), ns3::WifiInformationElement::Serialize(), ns3::TcpHeader::Serialize(), ns3::Icmpv4TimeExceeded::Serialize(), ns3::PbbTlvBlock::Serialize(), ns3::Icmpv6Header::Serialize(), ns3::Ipv4Header::Serialize(), ns3::PbbAddressTlvBlock::Serialize(), ns3::Icmpv6NS::Serialize(), ns3::Icmpv6NA::Serialize(), ns3::PbbPacket::Serialize(), ns3::Icmpv6RA::Serialize(), ns3::Icmpv6RS::Serialize(), ns3::Icmpv6Redirection::Serialize(), ns3::PbbMessage::Serialize(), ns3::Icmpv6Echo::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), ns3::Icmpv6ParameterError::Serialize(), ns3::PbbAddressBlock::Serialize(), and ns3::PbbTlv::Serialize().
void ns3::Buffer::Iterator::Next | ( | uint32_t | delta | ) | [inline] |
delta | number of bytes to go forward |
References NS_ASSERT.
void ns3::Buffer::Iterator::Prev | ( | void | ) | [inline] |
go backward by one byte
References NS_ASSERT.
Referenced by ns3::Buffer::AddAtEnd(), ns3::OptionField::AddOption(), ns3::EthernetTrailer::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::Buffer::Deserialize(), ns3::PbbMessage::DeserializeMessage(), ns3::MeshInformationElementVector::DeserializeSingleIe(), ns3::WifiMacTrailer::Serialize(), and ns3::EthernetTrailer::Serialize().
void ns3::Buffer::Iterator::Prev | ( | uint32_t | delta | ) | [inline] |
delta | number of bytes to go backward |
References NS_ASSERT.
void ns3::Buffer::Iterator::Read | ( | uint8_t * | buffer, |
uint32_t | size | ||
) |
buffer | buffer to copy data into |
size | number of bytes to copy |
Copy size bytes of data from the internal buffer to the input buffer and avance the Iterator by the number of bytes read.
Referenced by ns3::Icmpv4Echo::Deserialize(), ns3::Ipv6ExtensionHeader::Deserialize(), ns3::OptionField::Deserialize(), ns3::Icmpv6NS::Deserialize(), ns3::Icmpv6NA::Deserialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), ns3::Icmpv6Redirection::Deserialize(), ns3::Icmpv6DestinationUnreachable::Deserialize(), ns3::Icmpv6TooBig::Deserialize(), ns3::Icmpv6TimeExceeded::Deserialize(), ns3::Icmpv6ParameterError::Deserialize(), ns3::PbbAddressBlock::Deserialize(), ns3::Icmpv6OptionPrefixInformation::Deserialize(), ns3::Icmpv6OptionLinkLayerAddress::Deserialize(), ns3::Icmpv6OptionRedirected::Deserialize(), ns3::dot11s::IeMeshId::DeserializeInformationField(), ns3::Ssid::DeserializeInformationField(), ns3::ExtendedSupportedRatesIE::DeserializeInformationField(), and ns3::SupportedRates::DeserializeInformationField().
uint16_t ns3::Buffer::Iterator::ReadLsbtohU16 | ( | void | ) |
Read data and advance the Iterator by the number of bytes read. The data is read in network format and return in host format.
Referenced by ns3::AmsduSubframeHeader::Deserialize(), ns3::CtrlBAckRequestHeader::Deserialize(), ns3::MgtAssocRequestHeader::Deserialize(), ns3::dot11s::PeerLinkFrameStart::Deserialize(), ns3::MgtAssocResponseHeader::Deserialize(), ns3::WifiMacHeader::Deserialize(), ns3::CtrlBAckResponseHeader::Deserialize(), ns3::MgtProbeResponseHeader::Deserialize(), ns3::MgtAddBaRequestHeader::Deserialize(), ns3::MgtAddBaResponseHeader::Deserialize(), ns3::MgtDelBaHeader::Deserialize(), ns3::dot11s::IePeerManagement::DeserializeInformationField(), and ns3::dot11s::IeBeaconTiming::DeserializeInformationField().
uint32_t ns3::Buffer::Iterator::ReadLsbtohU32 | ( | void | ) |
Read data and advance the Iterator by the number of bytes read. The data is read in network format and return in host format.
Referenced by ns3::dot11s::MeshHeader::Deserialize(), ns3::dot11s::IeLinkMetricReport::DeserializeInformationField(), ns3::dot11s::IePerr::DeserializeInformationField(), ns3::dot11s::IeRann::DeserializeInformationField(), ns3::dot11s::IePrep::DeserializeInformationField(), ns3::dot11s::IeConfiguration::DeserializeInformationField(), and ns3::dot11s::IePreq::DeserializeInformationField().
uint64_t ns3::Buffer::Iterator::ReadLsbtohU64 | ( | void | ) |
Read data and advance the Iterator by the number of bytes read. The data is read in network format and return in host format.
Referenced by ns3::MgtProbeResponseHeader::Deserialize().
uint16_t ns3::Buffer::Iterator::ReadNtohU16 | ( | void | ) | [inline] |
Read data and advance the Iterator by the number of bytes read. The data is read in network format and return in host format.
Referenced by ns3::flame::FlameHeader::Deserialize(), ns3::LlcSnapHeader::Deserialize(), ns3::ArpHeader::Deserialize(), ns3::PppHeader::Deserialize(), ns3::Icmpv4Echo::Deserialize(), ns3::UdpHeader::Deserialize(), ns3::olsr::PacketHeader::Deserialize(), ns3::EthernetHeader::Deserialize(), ns3::TcpHeader::Deserialize(), ns3::PbbTlvBlock::Deserialize(), ns3::Ipv6Header::Deserialize(), ns3::Icmpv6Header::Deserialize(), ns3::olsr::MessageHeader::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::Ipv6OptionJumbogramHeader::Deserialize(), ns3::PbbAddressTlvBlock::Deserialize(), ns3::Ipv6OptionRouterAlertHeader::Deserialize(), ns3::Ipv6ExtensionFragmentHeader::Deserialize(), ns3::PbbPacket::Deserialize(), ns3::Icmpv6RA::Deserialize(), ns3::PbbMessage::Deserialize(), ns3::Icmpv6Echo::Deserialize(), ns3::Icmpv6OptionMtu::Deserialize(), and ns3::PbbTlv::Deserialize().
uint32_t ns3::Buffer::Iterator::ReadNtohU32 | ( | void | ) | [inline] |
Read data and advance the Iterator by the number of bytes read. The data is read in network format and return in host format.
Referenced by ns3::dsdv::DsdvHeader::Deserialize(), ns3::aodv::RreqHeader::Deserialize(), ns3::TcpHeader::Deserialize(), ns3::Ipv6Header::Deserialize(), ns3::aodv::RrepHeader::Deserialize(), ns3::olsr::MessageHeader::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::aodv::RerrHeader::Deserialize(), ns3::Icmpv6NS::Deserialize(), ns3::Ipv6ExtensionFragmentHeader::Deserialize(), ns3::Icmpv6NA::Deserialize(), ns3::Icmpv6RA::Deserialize(), ns3::Icmpv6RS::Deserialize(), ns3::Icmpv6DestinationUnreachable::Deserialize(), ns3::Icmpv6TooBig::Deserialize(), ns3::Icmpv6TimeExceeded::Deserialize(), ns3::Icmpv6ParameterError::Deserialize(), ns3::Icmpv6OptionMtu::Deserialize(), and ns3::Icmpv6OptionPrefixInformation::Deserialize().
uint64_t ns3::Buffer::Iterator::ReadNtohU64 | ( | void | ) |
Read data and advance the Iterator by the number of bytes read. The data is read in network format and return in host format.
uint16_t ns3::Buffer::Iterator::ReadU16 | ( | void | ) | [inline] |
Read data and advance the Iterator by the number of bytes read. The data is read in the format written by writeU16.
Referenced by ns3::UanHeaderRcData::Deserialize(), ns3::RadiotapHeader::Deserialize(), ns3::UanHeaderRcRts::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::UanHeaderRcCtsGlobal::Deserialize(), ns3::Icmpv6NS::Deserialize(), ns3::Icmpv6NA::Deserialize(), ns3::Icmpv6RA::Deserialize(), ns3::Icmpv6RS::Deserialize(), ns3::Icmpv6Redirection::Deserialize(), ns3::Icmpv6Echo::Deserialize(), ns3::Icmpv6DestinationUnreachable::Deserialize(), ns3::Icmpv6TooBig::Deserialize(), ns3::Icmpv6TimeExceeded::Deserialize(), ns3::Icmpv6ParameterError::Deserialize(), and ns3::Icmpv6OptionRedirected::Deserialize().
uint32_t ns3::Buffer::Iterator::ReadU32 | ( | void | ) |
Read data and advance the Iterator by the number of bytes read. The data is read in the format written by writeU32.
Referenced by ns3::RadiotapHeader::Deserialize(), ns3::EthernetTrailer::Deserialize(), ns3::UanHeaderRcRts::Deserialize(), ns3::Icmpv6Header::Deserialize(), ns3::UanHeaderRcCtsGlobal::Deserialize(), ns3::UanHeaderRcCts::Deserialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), ns3::Icmpv6Redirection::Deserialize(), and ns3::Icmpv6OptionRedirected::Deserialize().
uint64_t ns3::Buffer::Iterator::ReadU64 | ( | void | ) |
Read data and advance the Iterator by the number of bytes read. The data is read in the format written by writeU64.
Referenced by ns3::RadiotapHeader::Deserialize(), and ns3::EthernetHeader::Deserialize().
uint8_t ns3::Buffer::Iterator::ReadU8 | ( | void | ) | [inline] |
Read data and advance the Iterator by the number of bytes read.
References NS_ASSERT_MSG.
Referenced by ns3::flame::FlameHeader::Deserialize(), ns3::Icmpv4Header::Deserialize(), ns3::ArpHeader::Deserialize(), ns3::dot11s::MeshHeader::Deserialize(), ns3::aodv::TypeHeader::Deserialize(), ns3::ManagementMessageType::Deserialize(), ns3::dot11s::PeerLinkFrameStart::Deserialize(), ns3::UanHeaderRcData::Deserialize(), ns3::RadiotapHeader::Deserialize(), ns3::UanHeaderCommon::Deserialize(), ns3::Tlv::Deserialize(), ns3::Ipv6ExtensionHeader::Deserialize(), ns3::aodv::RreqHeader::Deserialize(), ns3::Ipv6OptionHeader::Deserialize(), ns3::Icmpv4TimeExceeded::Deserialize(), ns3::UanHeaderRcRts::Deserialize(), ns3::Ipv6Header::Deserialize(), ns3::aodv::RrepHeader::Deserialize(), ns3::Icmpv6Header::Deserialize(), ns3::Ipv6OptionPad1Header::Deserialize(), ns3::olsr::MessageHeader::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::WifiActionHeader::Deserialize(), ns3::aodv::RrepAckHeader::Deserialize(), ns3::Ipv6OptionPadnHeader::Deserialize(), ns3::Ipv6ExtensionHopByHopHeader::Deserialize(), ns3::MgtAddBaRequestHeader::Deserialize(), ns3::aodv::RerrHeader::Deserialize(), ns3::UanHeaderRcCts::Deserialize(), ns3::MgtAddBaResponseHeader::Deserialize(), ns3::Ipv6ExtensionDestinationHeader::Deserialize(), ns3::Ipv6OptionJumbogramHeader::Deserialize(), ns3::UanHeaderRcAck::Deserialize(), ns3::Ipv6OptionRouterAlertHeader::Deserialize(), ns3::Icmpv6NS::Deserialize(), ns3::Ipv6ExtensionFragmentHeader::Deserialize(), ns3::Ipv6ExtensionRoutingHeader::Deserialize(), ns3::Icmpv6NA::Deserialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), ns3::PbbPacket::Deserialize(), ns3::Icmpv6RA::Deserialize(), ns3::Icmpv6RS::Deserialize(), ns3::Icmpv6Redirection::Deserialize(), ns3::PbbMessage::Deserialize(), ns3::Icmpv6Echo::Deserialize(), ns3::Icmpv6DestinationUnreachable::Deserialize(), ns3::Icmpv6TooBig::Deserialize(), ns3::Icmpv6TimeExceeded::Deserialize(), ns3::Icmpv6ParameterError::Deserialize(), ns3::PbbAddressBlock::Deserialize(), ns3::Icmpv6OptionMtu::Deserialize(), ns3::Icmpv6OptionPrefixInformation::Deserialize(), ns3::PbbTlv::Deserialize(), ns3::Icmpv6OptionLinkLayerAddress::Deserialize(), ns3::Icmpv6OptionRedirected::Deserialize(), ns3::WifiInformationElement::DeserializeIfPresent(), ns3::dot11s::IePeeringProtocol::DeserializeInformationField(), ns3::dot11s::IePerr::DeserializeInformationField(), ns3::dot11s::IeRann::DeserializeInformationField(), ns3::dot11s::IePrep::DeserializeInformationField(), ns3::dot11s::IePeerManagement::DeserializeInformationField(), ns3::dot11s::IeBeaconTiming::DeserializeInformationField(), ns3::dot11s::IeConfiguration::DeserializeInformationField(), ns3::dot11s::IePreq::DeserializeInformationField(), ns3::PbbMessage::DeserializeMessage(), ns3::MeshInformationElementVector::DeserializeSingleIe(), and ns3::WifiInformationElementVector::DeserializeSingleIe().
void ns3::Buffer::Iterator::Write | ( | uint8_t const * | buffer, |
uint32_t | size | ||
) |
buffer | a byte buffer to copy in the internal buffer. |
size | number of bytes to copy. |
Write the data in buffer and avance the iterator position by size bytes.
References NS_ASSERT_MSG.
Referenced by ns3::Buffer::AddAtEnd(), ns3::Icmpv6Header::CalculatePseudoHeaderChecksum(), ns3::Ipv6ExtensionHeader::Deserialize(), ns3::Ipv6OptionHeader::Deserialize(), ns3::OptionField::Deserialize(), ns3::Buffer::Deserialize(), ns3::PbbTlv::Deserialize(), ns3::Packet::Packet(), ns3::LlcSnapHeader::Serialize(), ns3::Icmpv4Echo::Serialize(), ns3::Ipv6ExtensionHeader::Serialize(), ns3::Ipv6OptionHeader::Serialize(), ns3::Icmpv4TimeExceeded::Serialize(), ns3::OptionField::Serialize(), ns3::Icmpv6NS::Serialize(), ns3::Icmpv6NA::Serialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Serialize(), ns3::Icmpv6Redirection::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), ns3::Icmpv6ParameterError::Serialize(), ns3::PbbAddressBlock::Serialize(), ns3::Icmpv6OptionPrefixInformation::Serialize(), ns3::PbbTlv::Serialize(), ns3::Icmpv6OptionLinkLayerAddress::Serialize(), ns3::Icmpv6OptionRedirected::Serialize(), ns3::Ssid::SerializeInformationField(), ns3::ExtendedSupportedRatesIE::SerializeInformationField(), ns3::SupportedRates::SerializeInformationField(), and ns3::PbbTlv::SetValue().
void ns3::Buffer::Iterator::Write | ( | Iterator | start, |
Iterator | end | ||
) |
start | the start of the data to copy |
end | the end of the data to copy |
Write the data delimited by start and end in internal buffer and avance the iterator position by the number of bytes copied. The input interators _must_ not point to the same Buffer as we do to avoid overlapping copies. This is enforced in debug builds by asserts.
References NS_ASSERT, and NS_ASSERT_MSG.
void ns3::Buffer::Iterator::WriteHtolsbU16 | ( | uint16_t | data | ) |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by two bytes. The data is written in network order and the input data is expected to be in host order.
Referenced by ns3::AmsduSubframeHeader::Serialize(), ns3::CtrlBAckRequestHeader::Serialize(), ns3::MgtAssocRequestHeader::Serialize(), ns3::dot11s::PeerLinkFrameStart::Serialize(), ns3::MgtAssocResponseHeader::Serialize(), ns3::WifiMacHeader::Serialize(), ns3::CtrlBAckResponseHeader::Serialize(), ns3::MgtProbeResponseHeader::Serialize(), ns3::MgtAddBaRequestHeader::Serialize(), ns3::MgtAddBaResponseHeader::Serialize(), ns3::MgtDelBaHeader::Serialize(), ns3::dot11s::IePeerManagement::SerializeInformationField(), and ns3::dot11s::IeBeaconTiming::SerializeInformationField().
void ns3::Buffer::Iterator::WriteHtolsbU32 | ( | uint32_t | data | ) |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by four bytes. The data is written in least significant byte order and the input data is expected to be in host order.
Referenced by ns3::dot11s::MeshHeader::Serialize(), ns3::dot11s::IeLinkMetricReport::SerializeInformationField(), ns3::dot11s::IePerr::SerializeInformationField(), ns3::dot11s::IeRann::SerializeInformationField(), ns3::dot11s::IePrep::SerializeInformationField(), ns3::dot11s::IeConfiguration::SerializeInformationField(), and ns3::dot11s::IePreq::SerializeInformationField().
void ns3::Buffer::Iterator::WriteHtolsbU64 | ( | uint64_t | data | ) |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by eight bytes. The data is written in least significant byte order and the input data is expected to be in host order.
Referenced by ns3::MgtProbeResponseHeader::Serialize().
void ns3::Buffer::Iterator::WriteHtonU16 | ( | uint16_t | data | ) | [inline] |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by two bytes. The data is written in least significant byte order and the input data is expected to be in host order.
References NS_ASSERT_MSG.
Referenced by ns3::flame::FlameHeader::Serialize(), ns3::LlcSnapHeader::Serialize(), ns3::Icmpv4Header::Serialize(), ns3::ArpHeader::Serialize(), ns3::PppHeader::Serialize(), ns3::Icmpv4Echo::Serialize(), ns3::UdpHeader::Serialize(), ns3::olsr::PacketHeader::Serialize(), ns3::EthernetHeader::Serialize(), ns3::TcpHeader::Serialize(), ns3::PbbTlvBlock::Serialize(), ns3::Ipv6Header::Serialize(), ns3::olsr::MessageHeader::Serialize(), ns3::Ipv4Header::Serialize(), ns3::PbbAddressTlvBlock::Serialize(), ns3::Ipv6OptionRouterAlertHeader::Serialize(), ns3::Ipv6ExtensionFragmentHeader::Serialize(), ns3::PbbPacket::Serialize(), ns3::Icmpv6RA::Serialize(), ns3::PbbMessage::Serialize(), ns3::Icmpv6Echo::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), ns3::Icmpv6ParameterError::Serialize(), ns3::Icmpv6OptionMtu::Serialize(), and ns3::PbbTlv::Serialize().
void ns3::Buffer::Iterator::WriteHtonU32 | ( | uint32_t | data | ) | [inline] |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by four bytes. The data is written in network order and the input data is expected to be in host order.
References NS_ASSERT_MSG.
Referenced by ns3::dsdv::DsdvHeader::Serialize(), ns3::aodv::RreqHeader::Serialize(), ns3::TcpHeader::Serialize(), ns3::Ipv6Header::Serialize(), ns3::aodv::RrepHeader::Serialize(), ns3::olsr::MessageHeader::Serialize(), ns3::Ipv4Header::Serialize(), ns3::aodv::RerrHeader::Serialize(), ns3::Ipv6OptionJumbogramHeader::Serialize(), ns3::Icmpv6NS::Serialize(), ns3::Ipv6ExtensionFragmentHeader::Serialize(), ns3::Icmpv6NA::Serialize(), ns3::Icmpv6RA::Serialize(), ns3::Icmpv6RS::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), ns3::Icmpv6ParameterError::Serialize(), ns3::Icmpv6OptionMtu::Serialize(), and ns3::Icmpv6OptionPrefixInformation::Serialize().
void ns3::Buffer::Iterator::WriteHtonU64 | ( | uint64_t | data | ) |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by eight bytes. The data is written in network order and the input data is expected to be in host order.
void ns3::Buffer::Iterator::WriteU16 | ( | uint16_t | data | ) |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by two bytes. The format of the data written in the byte buffer is non-portable. We only ensure that readU16 will return exactly what we wrote with writeU16 if the program is run on the same machine.
Referenced by ns3::Icmpv6Header::CalculatePseudoHeaderChecksum(), ns3::WimaxMacToMacHeader::Serialize(), ns3::Icmpv4Header::Serialize(), ns3::RadiotapHeader::Serialize(), ns3::UanHeaderRcData::Serialize(), ns3::UdpHeader::Serialize(), ns3::UanHeaderRcRts::Serialize(), ns3::Icmpv6Header::Serialize(), ns3::Ipv4Header::Serialize(), ns3::UanHeaderRcCtsGlobal::Serialize(), ns3::Icmpv6NS::Serialize(), ns3::Icmpv6NA::Serialize(), ns3::Icmpv6RA::Serialize(), ns3::Icmpv6RS::Serialize(), ns3::Icmpv6Redirection::Serialize(), ns3::Icmpv6Echo::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), ns3::Icmpv6ParameterError::Serialize(), and ns3::Icmpv6OptionRedirected::Serialize().
void ns3::Buffer::Iterator::WriteU32 | ( | uint32_t | data | ) |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by four bytes. The format of the data written in the byte buffer is non-portable. We only ensure that readU32 will return exactly what we wrote with writeU32 if the program is run on the same machine.
Referenced by ns3::WifiMacTrailer::Serialize(), ns3::RadiotapHeader::Serialize(), ns3::EthernetTrailer::Serialize(), ns3::Icmpv4TimeExceeded::Serialize(), ns3::UanHeaderRcRts::Serialize(), ns3::Icmpv6Header::Serialize(), ns3::UanHeaderRcCtsGlobal::Serialize(), ns3::UanHeaderRcCts::Serialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Serialize(), ns3::Icmpv6Redirection::Serialize(), and ns3::Icmpv6OptionRedirected::Serialize().
void ns3::Buffer::Iterator::WriteU64 | ( | uint64_t | data | ) |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by eight bytes. The format of the data written in the byte buffer is non-portable. We only ensure that readU64 will return exactly what we wrote with writeU64 if the program is run on the same machine.
Referenced by ns3::RadiotapHeader::Serialize(), and ns3::EthernetHeader::Serialize().
void ns3::Buffer::Iterator::WriteU8 | ( | uint8_t | data | ) | [inline] |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by one byte.
References NS_ASSERT_MSG.
Referenced by ns3::Icmpv6Header::CalculatePseudoHeaderChecksum(), ns3::WimaxMacToMacHeader::Serialize(), ns3::flame::FlameHeader::Serialize(), ns3::Icmpv4Header::Serialize(), ns3::ArpHeader::Serialize(), ns3::dot11s::MeshHeader::Serialize(), ns3::aodv::TypeHeader::Serialize(), ns3::RadiotapHeader::Serialize(), ns3::ManagementMessageType::Serialize(), ns3::UanHeaderRcData::Serialize(), ns3::UanHeaderCommon::Serialize(), ns3::Tlv::Serialize(), ns3::Ipv6ExtensionHeader::Serialize(), ns3::Ipv6OptionHeader::Serialize(), ns3::aodv::RreqHeader::Serialize(), ns3::WifiInformationElement::Serialize(), ns3::UanHeaderRcRts::Serialize(), ns3::Ipv6Header::Serialize(), ns3::aodv::RrepHeader::Serialize(), ns3::Icmpv6Header::Serialize(), ns3::Ipv6OptionPad1Header::Serialize(), ns3::olsr::MessageHeader::Serialize(), ns3::Ipv4Header::Serialize(), ns3::WifiActionHeader::Serialize(), ns3::Ipv6OptionPadnHeader::Serialize(), ns3::aodv::RrepAckHeader::Serialize(), ns3::Ipv6ExtensionHopByHopHeader::Serialize(), ns3::MgtAddBaRequestHeader::Serialize(), ns3::aodv::RerrHeader::Serialize(), ns3::UanHeaderRcCts::Serialize(), ns3::Ipv6ExtensionDestinationHeader::Serialize(), ns3::MgtAddBaResponseHeader::Serialize(), ns3::Ipv6OptionJumbogramHeader::Serialize(), ns3::UanHeaderRcAck::Serialize(), ns3::Ipv6OptionRouterAlertHeader::Serialize(), ns3::Icmpv6NS::Serialize(), ns3::Ipv6ExtensionFragmentHeader::Serialize(), ns3::Ipv6ExtensionRoutingHeader::Serialize(), ns3::Icmpv6NA::Serialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Serialize(), ns3::PbbPacket::Serialize(), ns3::Icmpv6RA::Serialize(), ns3::Icmpv6RS::Serialize(), ns3::Icmpv6Redirection::Serialize(), ns3::PbbMessage::Serialize(), ns3::Icmpv6Echo::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), ns3::Icmpv6ParameterError::Serialize(), ns3::PbbAddressBlock::Serialize(), ns3::Icmpv6OptionMtu::Serialize(), ns3::Icmpv6OptionPrefixInformation::Serialize(), ns3::PbbTlv::Serialize(), ns3::Icmpv6OptionLinkLayerAddress::Serialize(), ns3::Icmpv6OptionRedirected::Serialize(), ns3::dot11s::IePeeringProtocol::SerializeInformationField(), ns3::dot11s::IePerr::SerializeInformationField(), ns3::dot11s::IeMeshId::SerializeInformationField(), ns3::dot11s::IeRann::SerializeInformationField(), ns3::dot11s::IePrep::SerializeInformationField(), ns3::dot11s::IePeerManagement::SerializeInformationField(), ns3::dot11s::IeBeaconTiming::SerializeInformationField(), ns3::dot11s::IeConfiguration::SerializeInformationField(), and ns3::dot11s::IePreq::SerializeInformationField().
void ns3::Buffer::Iterator::WriteU8 | ( | uint8_t | data, |
uint32_t | len | ||
) | [inline] |
data | data to write in buffer |
len | number of times data must be written in buffer |
Write the data in buffer len times and avance the iterator position by len byte.
References NS_ASSERT_MSG.