iterator in a Buffer instance More...
#include <buffer.h>
Public Member Functions | |
Iterator () | |
uint16_t | CalculateIpChecksum (uint16_t size) |
Calculate the checksum. More... | |
uint16_t | CalculateIpChecksum (uint16_t size, uint32_t initialChecksum) |
Calculate the checksum. More... | |
uint32_t | GetDistanceFrom (Iterator const &o) const |
uint32_t | GetSize (void) const |
bool | IsEnd (void) const |
bool | IsStart (void) const |
void | Next (void) |
go forward by one byte More... | |
void | Next (uint32_t delta) |
void | Prev (void) |
go backward by one byte More... | |
void | Prev (uint32_t delta) |
void | Read (uint8_t *buffer, uint32_t size) |
uint16_t | ReadLsbtohU16 (void) |
uint32_t | ReadLsbtohU32 (void) |
uint64_t | ReadLsbtohU64 (void) |
uint16_t | ReadNtohU16 (void) |
uint32_t | ReadNtohU32 (void) |
uint64_t | ReadNtohU64 (void) |
uint16_t | ReadU16 (void) |
uint32_t | ReadU32 (void) |
uint64_t | ReadU64 (void) |
uint8_t | ReadU8 (void) |
void | Write (uint8_t const *buffer, uint32_t size) |
void | Write (Iterator start, Iterator end) |
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 | WriteU16 (uint16_t data) |
void | WriteU32 (uint32_t data) |
void | WriteU64 (uint64_t data) |
void | WriteU8 (uint8_t data) |
void | WriteU8 (uint8_t data, uint32_t len) |
Private Member Functions | |
Iterator (Buffer const *buffer) | |
Iterator (Buffer const *buffer, bool) | |
bool | Check (uint32_t i) const |
bool | CheckNoZero (uint32_t start, uint32_t end) const |
void | Construct (const Buffer *buffer) |
std::string | GetReadErrorMessage (void) const |
std::string | GetWriteErrorMessage (void) const |
uint16_t | SlowReadNtohU16 (void) |
uint32_t | SlowReadNtohU32 (void) |
Private Attributes | |
uint32_t | m_current |
uint8_t * | m_data |
uint32_t | m_dataEnd |
uint32_t | m_dataStart |
uint32_t | m_zeroEnd |
uint32_t | m_zeroStart |
Friends | |
class | Buffer |
|
inlineprivate |
|
inlineprivate |
uint16_t ns3::Buffer::Iterator::CalculateIpChecksum | ( | uint16_t | size | ) |
Calculate the checksum.
size | size of the buffer. |
Definition at line 1158 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::UdpHeader::CalculateHeaderChecksum(), ns3::TcpHeader::CalculateHeaderChecksum(), ns3::Icmpv6Header::CalculatePseudoHeaderChecksum(), ns3::Ipv4Header::Deserialize(), ns3::Icmpv4Header::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 |
Definition at line 1165 of file buffer.cc.
References NS_LOG_FUNCTION.
|
private |
Definition at line 850 of file buffer.cc.
References NS_LOG_FUNCTION.
|
private |
Definition at line 836 of file buffer.cc.
References NS_LOG_FUNCTION.
|
inlineprivate |
Definition at line 656 of file buffer.h.
References ns3::Buffer::Data::m_data, ns3::Buffer::m_data, ns3::Buffer::m_end, ns3::Buffer::m_start, ns3::Buffer::m_zeroAreaEnd, and ns3::Buffer::m_zeroAreaStart.
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.
Definition at line 807 of file buffer.cc.
References m_current, m_data, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::AmsduSubframeHeader::Deserialize(), ns3::flame::FlameHeader::Deserialize(), ns3::CtrlBAckRequestHeader::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::MgtAssocRequestHeader::Deserialize(), ns3::UanHeaderCommon::Deserialize(), ns3::WifiMacHeader::Deserialize(), ns3::GenericMacHeader::Deserialize(), ns3::aodv::RreqHeader::Deserialize(), ns3::WifiInformationElement::Deserialize(), ns3::MgtAssocResponseHeader::Deserialize(), ns3::PbbTlvBlock::Deserialize(), ns3::BandwidthRequestHeader::Deserialize(), ns3::CtrlBAckResponseHeader::Deserialize(), ns3::aodv::RrepHeader::Deserialize(), ns3::RngRsp::Deserialize(), ns3::UanHeaderRcRts::Deserialize(), ns3::Icmpv4DestinationUnreachable::Deserialize(), ns3::Ucd::Deserialize(), ns3::MgtProbeRequestHeader::Deserialize(), ns3::GrantManagementSubheader::Deserialize(), ns3::Dcd::Deserialize(), ns3::Icmpv4TimeExceeded::Deserialize(), ns3::aodv::RrepAckHeader::Deserialize(), ns3::FragmentationSubheader::Deserialize(), ns3::aodv::RerrHeader::Deserialize(), ns3::UanHeaderRcCtsGlobal::Deserialize(), ns3::MgtProbeResponseHeader::Deserialize(), ns3::DlMap::Deserialize(), ns3::PbbAddressTlvBlock::Deserialize(), ns3::UlMap::Deserialize(), ns3::UanHeaderRcCts::Deserialize(), ns3::DsaAck::Deserialize(), ns3::WifiActionHeader::Deserialize(), ns3::MgtAddBaRequestHeader::Deserialize(), ns3::UanHeaderRcAck::Deserialize(), ns3::RngReq::Deserialize(), ns3::MgtAddBaResponseHeader::Deserialize(), ns3::PbbPacket::Deserialize(), ns3::MgtDelBaHeader::Deserialize(), ns3::PbbMessage::Deserialize(), ns3::dot11s::IePeeringProtocol::DeserializeInformationField(), ns3::dot11s::IeLinkMetricReport::DeserializeInformationField(), ns3::dot11s::IePerr::DeserializeInformationField(), ns3::dot11s::IeMeshId::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::PbbTlvBlock::Serialize(), ns3::PbbAddressTlvBlock::Serialize(), and ns3::PbbMessage::Serialize().
|
private |
Definition at line 1191 of file buffer.cc.
References NS_LOG_FUNCTION.
uint32_t ns3::Buffer::Iterator::GetSize | ( | void | ) | const |
Definition at line 1183 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::WifiInformationElementVector::Deserialize(), ns3::UdpHeader::Deserialize(), ns3::LteRlcAmHeader::Deserialize(), ns3::Icmpv4Echo::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().
|
private |
Definition at line 1204 of file buffer.cc.
References NS_ASSERT, and NS_LOG_FUNCTION.
bool ns3::Buffer::Iterator::IsEnd | ( | void | ) | const |
Definition at line 823 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::PbbPacket::Deserialize().
bool ns3::Buffer::Iterator::IsStart | ( | void | ) | const |
Definition at line 829 of file buffer.cc.
References NS_LOG_FUNCTION.
|
inline |
go forward by one byte
Definition at line 666 of file buffer.h.
References NS_ASSERT.
Referenced by ns3::flame::FlameHeader::Deserialize(), ns3::LlcSnapHeader::Deserialize(), ns3::WifiInformationElementVector::Deserialize(), ns3::dot11s::PeerLinkFrameStart::Deserialize(), ns3::Icmpv4Header::Deserialize(), ns3::ArpHeader::Deserialize(), ns3::dsr::DsrOptionHeader::Deserialize(), ns3::Ipv6OptionHeader::Deserialize(), ns3::TcpHeader::Deserialize(), ns3::Icmpv4DestinationUnreachable::Deserialize(), ns3::SfVectorTlvValue::Deserialize(), ns3::CsParamVectorTlvValue::Deserialize(), ns3::Icmpv4TimeExceeded::Deserialize(), ns3::ClassificationRuleVectorTlvValue::Deserialize(), ns3::dsr::DsrOptionRerrHeader::Deserialize(), ns3::PbbTlv::Deserialize(), ns3::WifiInformationElement::DeserializeIfPresent(), ns3::dot11s::IePerr::DeserializeInformationField(), ns3::PbbMessage::DeserializeMessage(), ns3::MeshInformationElementVector::DeserializeSingleIe(), BufferTest::DoRun(), ns3::Icmpv4Header::Serialize(), ns3::WifiInformationElement::Serialize(), ns3::PbbTlvBlock::Serialize(), ns3::VectorTlvValue::Serialize(), ns3::Icmpv6Header::Serialize(), ns3::Icmpv4DestinationUnreachable::Serialize(), ns3::Ipv4Header::Serialize(), ns3::Icmpv4TimeExceeded::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().
|
inline |
|
inline |
go backward by one byte
Definition at line 672 of file buffer.h.
References NS_ASSERT.
Referenced by ns3::Buffer::AddAtEnd(), ns3::dsr::DsrOptionField::AddDsrOption(), ns3::OptionField::AddOption(), ns3::Buffer::CreateFullCopy(), ns3::EthernetTrailer::Deserialize(), anonymous_namespace{packet-test-suite.cc}::ATestTrailer< N >::Deserialize(), anonymous_namespace{packet-metadata-test.cc}::HistoryTrailer< N >::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::Buffer::Deserialize(), ns3::PbbMessage::DeserializeMessage(), ns3::MeshInformationElementVector::DeserializeSingleIe(), BufferTest::DoRun(), ns3::WifiMacTrailer::Serialize(), ns3::EthernetTrailer::Serialize(), anonymous_namespace{packet-test-suite.cc}::ATestTrailer< N >::Serialize(), anonymous_namespace{packet-metadata-test.cc}::HistoryTrailer< N >::Serialize(), and ns3::Asn1Header::WriteOctet().
|
inline |
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.
Definition at line 1148 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::OrganizationIdentifier::Deserialize(), ns3::Ipv6ExtensionHeader::Deserialize(), ns3::Icmpv4Echo::Deserialize(), ns3::dsr::DsrFsHeader::Deserialize(), ns3::OptionField::Deserialize(), ns3::SixLowPanHc1::Deserialize(), ns3::dsr::DsrOptionField::Deserialize(), ns3::dsr::DsrOptionRreqHeader::Deserialize(), ns3::Icmpv6NS::Deserialize(), ns3::dsr::DsrOptionRrepHeader::Deserialize(), ns3::Icmpv6NA::Deserialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), ns3::dsr::DsrOptionSRHeader::Deserialize(), ns3::SixLowPanIphc::Deserialize(), ns3::Icmpv6Redirection::Deserialize(), ns3::SixLowPanNhcExtension::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::ExtendedSupportedRatesIE::DeserializeInformationField(), ns3::Ssid::DeserializeInformationField(), ns3::SupportedRates::DeserializeInformationField(), ns3::PbbMessageIpv4::DeserializeOriginatorAddress(), ns3::PbbMessageIpv6::DeserializeOriginatorAddress(), and ns3::ReadFrom().
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.
Definition at line 1090 of file buffer.cc.
References data, and NS_LOG_FUNCTION.
Referenced by ns3::CtrlBAckRequestHeader::Deserialize(), ns3::dot11s::PeerLinkFrameStart::Deserialize(), ns3::StatusCode::Deserialize(), ns3::dot11s::Dot11sMeshCapability::Deserialize(), ns3::CapabilityInformation::Deserialize(), ns3::MgtAssocRequestHeader::Deserialize(), ns3::WifiMacHeader::Deserialize(), ns3::MgtAssocResponseHeader::Deserialize(), ns3::CtrlBAckResponseHeader::Deserialize(), ns3::MgtProbeResponseHeader::Deserialize(), ns3::MgtAddBaRequestHeader::Deserialize(), ns3::MgtAddBaResponseHeader::Deserialize(), ns3::MgtDelBaHeader::Deserialize(), ns3::CtrlBAckResponseHeader::DeserializeBitmap(), ns3::HtCapabilities::DeserializeInformationField(), 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.
Definition at line 1101 of file buffer.cc.
References data, and NS_LOG_FUNCTION.
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.
Definition at line 1118 of file buffer.cc.
References data, and NS_LOG_FUNCTION.
Referenced by ns3::MgtProbeResponseHeader::Deserialize(), ns3::CtrlBAckResponseHeader::DeserializeBitmap(), ns3::HtCapabilities::DeserializeInformationField(), and BufferTest::DoRun().
|
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.
Definition at line 767 of file buffer.h.
References ns3::Buffer::m_data.
Referenced by MyHeader::Deserialize(), ns3::EpcX2Header::Deserialize(), ns3::AmsduSubframeHeader::Deserialize(), ns3::GtpuHeader::Deserialize(), ns3::flame::FlameHeader::Deserialize(), ns3::LlcSnapHeader::Deserialize(), ns3::PppHeader::Deserialize(), ns3::EpcX2HandoverRequestHeader::Deserialize(), ns3::olsr::PacketHeader::Deserialize(), ns3::ArpHeader::Deserialize(), ns3::EthernetHeader::Deserialize(), ns3::UdpHeader::Deserialize(), ns3::U16TlvValue::Deserialize(), ns3::EpcX2HandoverRequestAckHeader::Deserialize(), ns3::Icmpv4Echo::Deserialize(), ns3::PbbTlvBlock::Deserialize(), ns3::EpcX2HandoverPreparationFailureHeader::Deserialize(), ns3::Ipv6Header::Deserialize(), ns3::TcpHeader::Deserialize(), ns3::Icmpv6Header::Deserialize(), ns3::olsr::MessageHeader::Deserialize(), ns3::Icmpv4DestinationUnreachable::Deserialize(), ns3::EpcX2SnStatusTransferHeader::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::EpcX2UeContextReleaseHeader::Deserialize(), ns3::olsr::MessageHeader::Hello::Deserialize(), ns3::EpcX2LoadInformationHeader::Deserialize(), ns3::olsr::MessageHeader::Tc::Deserialize(), ns3::EpcX2ResourceStatusUpdateHeader::Deserialize(), ns3::PortRangeTlvValue::Deserialize(), ns3::Ipv6OptionJumbogramHeader::Deserialize(), ns3::PbbAddressTlvBlock::Deserialize(), ns3::dsr::DsrOptionRreqHeader::Deserialize(), ns3::Ipv6OptionRouterAlertHeader::Deserialize(), ns3::Ipv6ExtensionFragmentHeader::Deserialize(), ns3::PbbPacket::Deserialize(), ns3::SixLowPanIphc::Deserialize(), ns3::Icmpv6RA::Deserialize(), ns3::Icmpv6Echo::Deserialize(), ns3::PbbMessage::Deserialize(), ns3::SixLowPanUdpNhcExtension::Deserialize(), ns3::Icmpv6OptionMtu::Deserialize(), ns3::PbbTlv::Deserialize(), and BufferTest::DoRun().
|
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.
Definition at line 791 of file buffer.h.
References ns3::Buffer::m_data.
Referenced by ns3::GtpuHeader::Deserialize(), ns3::SeqTsHeader::Deserialize(), ns3::dsdv::DsdvHeader::Deserialize(), ns3::EpcX2HandoverRequestHeader::Deserialize(), ns3::aodv::RreqHeader::Deserialize(), ns3::EpcX2HandoverRequestAckHeader::Deserialize(), ns3::U32TlvValue::Deserialize(), ns3::Ipv6Header::Deserialize(), ns3::aodv::RrepHeader::Deserialize(), ns3::TcpHeader::Deserialize(), ns3::olsr::MessageHeader::Deserialize(), ns3::EpcX2SnStatusTransferHeader::Deserialize(), ns3::olsr::MessageHeader::Mid::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::olsr::MessageHeader::Hello::Deserialize(), ns3::aodv::RerrHeader::Deserialize(), ns3::olsr::MessageHeader::Tc::Deserialize(), ns3::olsr::MessageHeader::Hna::Deserialize(), ns3::Ipv4AddressTlvValue::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(), ns3::Icmpv6OptionPrefixInformation::Deserialize(), and ns3::ReadFrom().
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.
Definition at line 1068 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::SeqTsHeader::Deserialize(), ns3::EpcX2HandoverRequestHeader::Deserialize(), and ns3::EpcX2SnStatusTransferHeader::Deserialize().
|
inline |
Read data and advance the Iterator by the number of bytes read. The data is read in the format written by writeU16.
Definition at line 845 of file buffer.h.
References data.
Referenced by ns3::RadiotapHeader::Deserialize(), ns3::UanHeaderRcData::Deserialize(), ns3::UdpHeader::Deserialize(), ns3::dsr::DsrFsHeader::Deserialize(), ns3::RngRsp::Deserialize(), ns3::UanHeaderRcRts::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::GrantManagementSubheader::Deserialize(), ns3::UanHeaderRcCtsGlobal::Deserialize(), ns3::DsaReq::Deserialize(), ns3::dsr::DsrRoutingHeader::Deserialize(), ns3::DsaRsp::Deserialize(), ns3::Icmpv6NS::Deserialize(), ns3::SixLowPanFrag1::Deserialize(), ns3::DsaAck::Deserialize(), ns3::SixLowPanFragN::Deserialize(), ns3::Icmpv6NA::Deserialize(), ns3::Icmpv6RA::Deserialize(), ns3::Icmpv6RS::Deserialize(), ns3::Icmpv6Redirection::Deserialize(), ns3::Icmpv6Echo::Deserialize(), ns3::Icmpv6DestinationUnreachable::Deserialize(), ns3::dsr::DsrOptionRerrUnsupportHeader::Deserialize(), ns3::SixLowPanUdpNhcExtension::Deserialize(), ns3::Icmpv6TooBig::Deserialize(), ns3::dsr::DsrOptionAckReqHeader::Deserialize(), ns3::Icmpv6TimeExceeded::Deserialize(), ns3::dsr::DsrOptionAckHeader::Deserialize(), ns3::Icmpv6ParameterError::Deserialize(), ns3::Icmpv6OptionRedirected::Deserialize(), BufferTest::DoRun(), ns3::DlFramePrefixIe::Read(), ns3::DcdChannelEncodings::Read(), ns3::UcdChannelEncodings::Read(), ns3::OfdmUlMapIe::Read(), and ns3::OfdmDlMapIe::Read().
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.
Definition at line 997 of file buffer.cc.
References data, and NS_LOG_FUNCTION.
Referenced by ns3::RadiotapHeader::Deserialize(), ns3::EthernetTrailer::Deserialize(), ns3::OfdmDownlinkFramePrefix::Deserialize(), ns3::RngRsp::Deserialize(), ns3::Icmpv6Header::Deserialize(), ns3::UanHeaderRcRts::Deserialize(), ns3::UanHeaderRcCtsGlobal::Deserialize(), ns3::UlMap::Deserialize(), ns3::UanHeaderRcCts::Deserialize(), ns3::IdealHandoverPreparationInfoHeader::Deserialize(), ns3::IdealHandoverCommandHeader::Deserialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), ns3::Icmpv6Redirection::Deserialize(), ns3::Icmpv6OptionRedirected::Deserialize(), ns3::OfdmDcdChannelEncodings::DoRead(), ns3::DcdChannelEncodings::Read(), and ns3::UcdChannelEncodings::Read().
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.
Definition at line 1014 of file buffer.cc.
References data, and NS_LOG_FUNCTION.
Referenced by ns3::RadiotapHeader::Deserialize(), and ns3::EthernetHeader::Deserialize().
|
inline |
Read data and advance the Iterator by the number of bytes read.
Definition at line 819 of file buffer.h.
References data, ns3::Buffer::m_data, and NS_ASSERT_MSG.
Referenced by BenchHeader< N >::Deserialize(), ns3::EpcX2Header::Deserialize(), ns3::GtpuHeader::Deserialize(), ns3::flame::FlameHeader::Deserialize(), ns3::dot11s::MeshHeader::Deserialize(), ns3::aodv::TypeHeader::Deserialize(), ns3::LtePdcpHeader::Deserialize(), ns3::dot11s::PeerLinkFrameStart::Deserialize(), ns3::ManagementMessageType::Deserialize(), anonymous_namespace{packet-metadata-test.cc}::HistoryHeader< N >::Deserialize(), ns3::Icmpv4Header::Deserialize(), ns3::RadiotapHeader::Deserialize(), ns3::LteRlcHeader::Deserialize(), ns3::Tlv::Deserialize(), ns3::EpcX2HandoverRequestHeader::Deserialize(), ns3::UanHeaderRcData::Deserialize(), ns3::OfdmDownlinkFramePrefix::Deserialize(), ns3::ArpHeader::Deserialize(), ns3::UanHeaderCommon::Deserialize(), ns3::Ipv6ExtensionHeader::Deserialize(), ns3::GenericMacHeader::Deserialize(), ns3::U8TlvValue::Deserialize(), ns3::aodv::RreqHeader::Deserialize(), ns3::dsr::DsrOptionHeader::Deserialize(), ns3::Ipv6OptionHeader::Deserialize(), anonymous_namespace{packet-test-suite.cc}::ATestHeader< N >::Deserialize(), ns3::LteRlcAmHeader::Deserialize(), ns3::VendorSpecificActionHeader::Deserialize(), ns3::dsr::DsrFsHeader::Deserialize(), ns3::BandwidthRequestHeader::Deserialize(), anonymous_namespace{packet-test-suite.cc}::ATestTrailer< N >::Deserialize(), ns3::Ipv6Header::Deserialize(), anonymous_namespace{packet-metadata-test.cc}::HistoryTrailer< N >::Deserialize(), ns3::dsr::DsrOptionPad1Header::Deserialize(), ns3::aodv::RrepHeader::Deserialize(), ns3::RngRsp::Deserialize(), ns3::SixLowPanHc1::Deserialize(), ns3::Icmpv6Header::Deserialize(), ns3::Ipv6OptionPad1Header::Deserialize(), ns3::UanHeaderRcRts::Deserialize(), ns3::Icmpv4DestinationUnreachable::Deserialize(), ns3::olsr::MessageHeader::Deserialize(), ns3::SfVectorTlvValue::Deserialize(), ns3::Ucd::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::GrantManagementSubheader::Deserialize(), ns3::Dcd::Deserialize(), ns3::dsr::DsrOptionPadnHeader::Deserialize(), ns3::CsParamVectorTlvValue::Deserialize(), ns3::Icmpv4TimeExceeded::Deserialize(), ns3::aodv::RrepAckHeader::Deserialize(), ns3::Ipv6OptionPadnHeader::Deserialize(), ns3::Ipv6ExtensionHopByHopHeader::Deserialize(), ns3::ClassificationRuleVectorTlvValue::Deserialize(), ns3::olsr::MessageHeader::Hello::Deserialize(), ns3::FragmentationSubheader::Deserialize(), ns3::EpcX2LoadInformationHeader::Deserialize(), ns3::TosTlvValue::Deserialize(), ns3::aodv::RerrHeader::Deserialize(), ns3::EpcX2ResourceStatusUpdateHeader::Deserialize(), ns3::dsr::DsrRoutingHeader::Deserialize(), ns3::Ipv6ExtensionDestinationHeader::Deserialize(), ns3::Ipv6OptionJumbogramHeader::Deserialize(), ns3::ProtocolTlvValue::Deserialize(), ns3::DlMap::Deserialize(), ns3::UlMap::Deserialize(), ns3::dsr::DsrOptionRreqHeader::Deserialize(), ns3::DsaRsp::Deserialize(), ns3::Ipv6OptionRouterAlertHeader::Deserialize(), ns3::Icmpv6NS::Deserialize(), ns3::UanHeaderRcCts::Deserialize(), ns3::Ipv6ExtensionFragmentHeader::Deserialize(), ns3::SixLowPanFrag1::Deserialize(), ns3::DsaAck::Deserialize(), ns3::WifiActionHeader::Deserialize(), ns3::MgtAddBaRequestHeader::Deserialize(), ns3::UanHeaderRcAck::Deserialize(), ns3::RngReq::Deserialize(), ns3::SixLowPanFragN::Deserialize(), ns3::Ipv6ExtensionRoutingHeader::Deserialize(), ns3::dsr::DsrOptionRrepHeader::Deserialize(), ns3::Icmpv6NA::Deserialize(), ns3::MgtAddBaResponseHeader::Deserialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), ns3::PbbPacket::Deserialize(), ns3::dsr::DsrOptionSRHeader::Deserialize(), ns3::SixLowPanIphc::Deserialize(), ns3::Icmpv6RA::Deserialize(), ns3::dsr::DsrOptionRerrHeader::Deserialize(), ns3::Icmpv6RS::Deserialize(), ns3::Icmpv6Redirection::Deserialize(), ns3::dsr::DsrOptionRerrUnreachHeader::Deserialize(), ns3::SixLowPanNhcExtension::Deserialize(), ns3::Icmpv6Echo::Deserialize(), ns3::PbbMessage::Deserialize(), ns3::Icmpv6DestinationUnreachable::Deserialize(), ns3::dsr::DsrOptionRerrUnsupportHeader::Deserialize(), ns3::SixLowPanUdpNhcExtension::Deserialize(), ns3::Icmpv6TooBig::Deserialize(), ns3::dsr::DsrOptionAckReqHeader::Deserialize(), ns3::Icmpv6TimeExceeded::Deserialize(), ns3::dsr::DsrOptionAckHeader::Deserialize(), ns3::Icmpv6ParameterError::Deserialize(), ns3::Icmpv6OptionMtu::Deserialize(), ns3::PbbAddressBlock::Deserialize(), ns3::Icmpv6OptionPrefixInformation::Deserialize(), ns3::PbbTlv::Deserialize(), ns3::Icmpv6OptionLinkLayerAddress::Deserialize(), ns3::Icmpv6OptionRedirected::Deserialize(), ns3::Asn1Header::DeserializeBitset(), ns3::WifiInformationElement::DeserializeIfPresent(), ns3::dot11s::IePeeringProtocol::DeserializeInformationField(), ns3::dot11s::IePerr::DeserializeInformationField(), ns3::dot11s::IeRann::DeserializeInformationField(), ns3::dot11s::IePrep::DeserializeInformationField(), ns3::HtCapabilities::DeserializeInformationField(), ns3::dot11s::IePeerManagement::DeserializeInformationField(), ns3::dot11s::IeBeaconTiming::DeserializeInformationField(), ns3::dot11s::IeConfiguration::DeserializeInformationField(), ns3::dot11s::IePreq::DeserializeInformationField(), ns3::PbbMessage::DeserializeMessage(), ns3::MeshInformationElementVector::DeserializeSingleIe(), ns3::WifiInformationElementVector::DeserializeSingleIe(), ns3::OfdmUcdChannelEncodings::DoRead(), ns3::OfdmDcdChannelEncodings::DoRead(), ns3::DlFramePrefixIe::Read(), ns3::OfdmUlBurstProfile::Read(), ns3::OfdmDlBurstProfile::Read(), ns3::OfdmUlMapIe::Read(), and ns3::OfdmDlMapIe::Read().
|
private |
Definition at line 1044 of file buffer.cc.
References NS_LOG_FUNCTION.
|
private |
Definition at line 1054 of file buffer.cc.
References NS_LOG_FUNCTION.
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.
Definition at line 978 of file buffer.cc.
References ns3::Buffer::m_data, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
Referenced by ns3::Buffer::AddAtEnd(), ns3::Icmpv6Header::CalculatePseudoHeaderChecksum(), ns3::Buffer::CreateFullCopy(), ns3::SixLowPanNetDevice::DecompressLowPanNhc(), ns3::Ipv6ExtensionHeader::Deserialize(), ns3::dsr::DsrOptionHeader::Deserialize(), ns3::Ipv6OptionHeader::Deserialize(), ns3::dsr::DsrFsHeader::Deserialize(), ns3::OptionField::Deserialize(), ns3::dsr::DsrOptionField::Deserialize(), ns3::Buffer::Deserialize(), ns3::dsr::DsrOptionRerrHeader::Deserialize(), ns3::PbbTlv::Deserialize(), BufferTest::DoRun(), ns3::Packet::Packet(), PbbTestCase::PbbTestCase(), ns3::Asn1Header::Serialize(), ns3::LlcSnapHeader::Serialize(), ns3::OrganizationIdentifier::Serialize(), ns3::Ipv6ExtensionHeader::Serialize(), ns3::dsr::DsrOptionHeader::Serialize(), ns3::Ipv6OptionHeader::Serialize(), ns3::Icmpv4Echo::Serialize(), ns3::dsr::DsrFsHeader::Serialize(), ns3::OptionField::Serialize(), ns3::SixLowPanHc1::Serialize(), ns3::Icmpv4DestinationUnreachable::Serialize(), ns3::dsr::DsrOptionField::Serialize(), ns3::Icmpv4TimeExceeded::Serialize(), ns3::dsr::DsrOptionRreqHeader::Serialize(), ns3::Icmpv6NS::Serialize(), ns3::dsr::DsrOptionRrepHeader::Serialize(), ns3::Icmpv6NA::Serialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Serialize(), ns3::dsr::DsrOptionSRHeader::Serialize(), ns3::SixLowPanIphc::Serialize(), ns3::dsr::DsrOptionRerrHeader::Serialize(), ns3::Icmpv6Redirection::Serialize(), ns3::SixLowPanNhcExtension::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::ExtendedSupportedRatesIE::SerializeInformationField(), ns3::Ssid::SerializeInformationField(), ns3::SupportedRates::SerializeInformationField(), ns3::PbbMessageIpv4::SerializeOriginatorAddress(), ns3::PbbMessageIpv6::SerializeOriginatorAddress(), ns3::PbbTlv::SetValue(), and ns3::WriteTo().
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.
Definition at line 860 of file buffer.cc.
References m_current, m_data, ns3::Buffer::m_data, m_dataEnd, m_zeroEnd, m_zeroStart, NS_ASSERT, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
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.
Definition at line 935 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::CtrlBAckRequestHeader::Serialize(), ns3::StatusCode::Serialize(), ns3::dot11s::PeerLinkFrameStart::Serialize(), ns3::CapabilityInformation::Serialize(), ns3::dot11s::Dot11sMeshCapability::Serialize(), ns3::MgtAssocRequestHeader::Serialize(), ns3::WifiMacHeader::Serialize(), ns3::MgtAssocResponseHeader::Serialize(), ns3::CtrlBAckResponseHeader::Serialize(), ns3::MgtProbeResponseHeader::Serialize(), ns3::MgtAddBaRequestHeader::Serialize(), ns3::MgtAddBaResponseHeader::Serialize(), ns3::MgtDelBaHeader::Serialize(), ns3::CtrlBAckResponseHeader::SerializeBitmap(), 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.
Definition at line 942 of file buffer.cc.
References NS_LOG_FUNCTION.
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.
Definition at line 951 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by BufferTest::DoRun(), ns3::MgtProbeResponseHeader::Serialize(), and ns3::CtrlBAckResponseHeader::SerializeBitmap().
|
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.
Definition at line 726 of file buffer.h.
References ns3::Buffer::m_data, and NS_ASSERT_MSG.
Referenced by BufferTest::DoRun(), MyHeader::Serialize(), ns3::EpcX2Header::Serialize(), ns3::AmsduSubframeHeader::Serialize(), ns3::GtpuHeader::Serialize(), ns3::flame::FlameHeader::Serialize(), ns3::LlcSnapHeader::Serialize(), ns3::PppHeader::Serialize(), ns3::Icmpv4Header::Serialize(), ns3::EpcX2HandoverRequestHeader::Serialize(), ns3::olsr::PacketHeader::Serialize(), ns3::ArpHeader::Serialize(), ns3::EthernetHeader::Serialize(), ns3::UdpHeader::Serialize(), ns3::U16TlvValue::Serialize(), ns3::Icmpv4Echo::Serialize(), ns3::EpcX2HandoverRequestAckHeader::Serialize(), ns3::PbbTlvBlock::Serialize(), ns3::Ipv6Header::Serialize(), ns3::EpcX2HandoverPreparationFailureHeader::Serialize(), ns3::TcpHeader::Serialize(), ns3::olsr::MessageHeader::Serialize(), ns3::Icmpv4DestinationUnreachable::Serialize(), ns3::EpcX2SnStatusTransferHeader::Serialize(), ns3::Ipv4Header::Serialize(), ns3::EpcX2UeContextReleaseHeader::Serialize(), ns3::olsr::MessageHeader::Hello::Serialize(), ns3::EpcX2LoadInformationHeader::Serialize(), ns3::olsr::MessageHeader::Tc::Serialize(), ns3::EpcX2ResourceStatusUpdateHeader::Serialize(), ns3::PortRangeTlvValue::Serialize(), ns3::PbbAddressTlvBlock::Serialize(), ns3::dsr::DsrOptionRreqHeader::Serialize(), ns3::Ipv6OptionRouterAlertHeader::Serialize(), ns3::Ipv6ExtensionFragmentHeader::Serialize(), ns3::PbbPacket::Serialize(), ns3::SixLowPanIphc::Serialize(), ns3::Icmpv6RA::Serialize(), ns3::PbbMessage::Serialize(), ns3::Icmpv6Echo::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::SixLowPanUdpNhcExtension::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), ns3::Icmpv6ParameterError::Serialize(), ns3::Icmpv6OptionMtu::Serialize(), and ns3::PbbTlv::Serialize().
|
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.
Definition at line 745 of file buffer.h.
References ns3::Buffer::m_data, and NS_ASSERT_MSG.
Referenced by BufferTest::DoRun(), ns3::GtpuHeader::Serialize(), ns3::SeqTsHeader::Serialize(), ns3::dsdv::DsdvHeader::Serialize(), ns3::EpcX2HandoverRequestHeader::Serialize(), ns3::aodv::RreqHeader::Serialize(), ns3::EpcX2HandoverRequestAckHeader::Serialize(), ns3::U32TlvValue::Serialize(), ns3::Ipv6Header::Serialize(), ns3::aodv::RrepHeader::Serialize(), ns3::TcpHeader::Serialize(), ns3::olsr::MessageHeader::Serialize(), ns3::EpcX2SnStatusTransferHeader::Serialize(), ns3::olsr::MessageHeader::Mid::Serialize(), ns3::Ipv4Header::Serialize(), ns3::olsr::MessageHeader::Hello::Serialize(), ns3::aodv::RerrHeader::Serialize(), ns3::olsr::MessageHeader::Tc::Serialize(), ns3::Ipv6OptionJumbogramHeader::Serialize(), ns3::olsr::MessageHeader::Hna::Serialize(), ns3::Ipv4AddressTlvValue::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(), ns3::Icmpv6OptionPrefixInformation::Serialize(), and ns3::WriteTo().
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.
Definition at line 965 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by BufferTest::DoRun(), ns3::SeqTsHeader::Serialize(), ns3::EpcX2HandoverRequestHeader::Serialize(), and ns3::EpcX2SnStatusTransferHeader::Serialize().
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.
Definition at line 895 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::UdpHeader::CalculateHeaderChecksum(), ns3::TcpHeader::CalculateHeaderChecksum(), ns3::Icmpv6Header::CalculatePseudoHeaderChecksum(), BufferTest::DoRun(), ns3::WimaxMacToMacHeader::Serialize(), ns3::RadiotapHeader::Serialize(), OptionWithoutAlignmentHeader::Serialize(), ns3::Icmpv4Header::Serialize(), ns3::UanHeaderRcData::Serialize(), ns3::UdpHeader::Serialize(), OptionWithAlignmentHeader::Serialize(), ns3::dsr::DsrFsHeader::Serialize(), ns3::RngRsp::Serialize(), ns3::Icmpv6Header::Serialize(), ns3::UanHeaderRcRts::Serialize(), ns3::Icmpv4DestinationUnreachable::Serialize(), ns3::GrantManagementSubheader::Serialize(), ns3::Ipv4Header::Serialize(), ns3::olsr::MessageHeader::Hello::Serialize(), ns3::UanHeaderRcCtsGlobal::Serialize(), ns3::DsaReq::Serialize(), ns3::dsr::DsrRoutingHeader::Serialize(), ns3::DsaRsp::Serialize(), ns3::Icmpv6NS::Serialize(), ns3::SixLowPanFrag1::Serialize(), ns3::DsaAck::Serialize(), ns3::SixLowPanFragN::Serialize(), ns3::Icmpv6NA::Serialize(), ns3::Icmpv6RA::Serialize(), ns3::Icmpv6RS::Serialize(), ns3::Icmpv6Redirection::Serialize(), ns3::Icmpv6Echo::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::dsr::DsrOptionRerrUnsupportHeader::Serialize(), ns3::SixLowPanUdpNhcExtension::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::dsr::DsrOptionAckReqHeader::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), ns3::dsr::DsrOptionAckHeader::Serialize(), ns3::Icmpv6ParameterError::Serialize(), ns3::Icmpv6OptionRedirected::Serialize(), ns3::DlFramePrefixIe::Write(), ns3::DcdChannelEncodings::Write(), ns3::UcdChannelEncodings::Write(), ns3::OfdmUlMapIe::Write(), and ns3::OfdmDlMapIe::Write().
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.
Definition at line 903 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::OfdmDcdChannelEncodings::DoWrite(), ns3::WifiMacTrailer::Serialize(), ns3::RadiotapHeader::Serialize(), ns3::EthernetTrailer::Serialize(), ns3::OfdmDownlinkFramePrefix::Serialize(), ns3::RngRsp::Serialize(), ns3::Icmpv6Header::Serialize(), ns3::UanHeaderRcRts::Serialize(), ns3::Icmpv4TimeExceeded::Serialize(), ns3::UanHeaderRcCtsGlobal::Serialize(), ns3::UlMap::Serialize(), ns3::UanHeaderRcCts::Serialize(), ns3::IdealHandoverPreparationInfoHeader::Serialize(), ns3::IdealHandoverCommandHeader::Serialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Serialize(), ns3::Icmpv6Redirection::Serialize(), ns3::Icmpv6OptionRedirected::Serialize(), ns3::DcdChannelEncodings::Write(), and ns3::UcdChannelEncodings::Write().
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.
Definition at line 915 of file buffer.cc.
References NS_LOG_FUNCTION.
Referenced by BufferTest::DoRun(), ns3::RadiotapHeader::Serialize(), and ns3::EthernetHeader::Serialize().
|
inline |
data | data to write in buffer |
Write the data in buffer and avance the iterator position by one byte.
Definition at line 690 of file buffer.h.
References data, ns3::Buffer::m_data, and NS_ASSERT_MSG.
Referenced by ns3::UdpHeader::CalculateHeaderChecksum(), ns3::TcpHeader::CalculateHeaderChecksum(), ns3::Icmpv6Header::CalculatePseudoHeaderChecksum(), ns3::Buffer::CreateFullCopy(), BufferTest::DoRun(), ns3::OfdmUcdChannelEncodings::DoWrite(), ns3::OfdmDcdChannelEncodings::DoWrite(), BenchHeader< N >::Serialize(), ns3::EpcX2Header::Serialize(), ns3::WimaxMacToMacHeader::Serialize(), ns3::GtpuHeader::Serialize(), ns3::flame::FlameHeader::Serialize(), ns3::dot11s::MeshHeader::Serialize(), ns3::aodv::TypeHeader::Serialize(), ns3::LtePdcpHeader::Serialize(), ns3::RadiotapHeader::Serialize(), ns3::ManagementMessageType::Serialize(), OptionWithoutAlignmentHeader::Serialize(), anonymous_namespace{packet-metadata-test.cc}::HistoryHeader< N >::Serialize(), ns3::Icmpv4Header::Serialize(), ns3::LteRlcHeader::Serialize(), ns3::Tlv::Serialize(), ns3::EpcX2HandoverRequestHeader::Serialize(), ns3::UanHeaderRcData::Serialize(), ns3::OfdmDownlinkFramePrefix::Serialize(), ns3::ArpHeader::Serialize(), ns3::Ipv6ExtensionHeader::Serialize(), ns3::UanHeaderCommon::Serialize(), ns3::U8TlvValue::Serialize(), ns3::GenericMacHeader::Serialize(), ns3::dsr::DsrOptionHeader::Serialize(), ns3::Ipv6OptionHeader::Serialize(), ns3::aodv::RreqHeader::Serialize(), anonymous_namespace{packet-test-suite.cc}::ATestHeader< N >::Serialize(), OptionWithAlignmentHeader::Serialize(), ns3::LteRlcAmHeader::Serialize(), ns3::WifiInformationElement::Serialize(), ns3::VendorSpecificActionHeader::Serialize(), ns3::dsr::DsrFsHeader::Serialize(), anonymous_namespace{packet-test-suite.cc}::ATestTrailer< N >::Serialize(), ns3::Ipv6Header::Serialize(), ns3::BandwidthRequestHeader::Serialize(), ns3::dsr::DsrOptionPad1Header::Serialize(), anonymous_namespace{packet-metadata-test.cc}::HistoryTrailer< N >::Serialize(), ns3::SixLowPanHc1::Serialize(), ns3::aodv::RrepHeader::Serialize(), ns3::RngRsp::Serialize(), ns3::Icmpv6Header::Serialize(), ns3::Ipv6OptionPad1Header::Serialize(), ns3::UanHeaderRcRts::Serialize(), ns3::olsr::MessageHeader::Serialize(), ns3::Ucd::Serialize(), ns3::Ipv4Header::Serialize(), ns3::GrantManagementSubheader::Serialize(), ns3::dsr::DsrOptionPadnHeader::Serialize(), ns3::Dcd::Serialize(), ns3::Ipv6OptionPadnHeader::Serialize(), ns3::aodv::RrepAckHeader::Serialize(), ns3::Ipv6ExtensionHopByHopHeader::Serialize(), ns3::olsr::MessageHeader::Hello::Serialize(), ns3::FragmentationSubheader::Serialize(), ns3::EpcX2LoadInformationHeader::Serialize(), ns3::TosTlvValue::Serialize(), ns3::aodv::RerrHeader::Serialize(), ns3::EpcX2ResourceStatusUpdateHeader::Serialize(), ns3::dsr::DsrRoutingHeader::Serialize(), ns3::Ipv6ExtensionDestinationHeader::Serialize(), ns3::Ipv6OptionJumbogramHeader::Serialize(), ns3::ProtocolTlvValue::Serialize(), ns3::DlMap::Serialize(), ns3::UlMap::Serialize(), ns3::dsr::DsrOptionRreqHeader::Serialize(), ns3::DsaRsp::Serialize(), ns3::Ipv6OptionRouterAlertHeader::Serialize(), ns3::Icmpv6NS::Serialize(), ns3::Ipv6ExtensionFragmentHeader::Serialize(), ns3::SixLowPanFrag1::Serialize(), ns3::UanHeaderRcCts::Serialize(), ns3::DsaAck::Serialize(), ns3::WifiActionHeader::Serialize(), ns3::MgtAddBaRequestHeader::Serialize(), ns3::UanHeaderRcAck::Serialize(), ns3::RngReq::Serialize(), ns3::SixLowPanFragN::Serialize(), ns3::Ipv6ExtensionRoutingHeader::Serialize(), ns3::dsr::DsrOptionRrepHeader::Serialize(), ns3::Icmpv6NA::Serialize(), ns3::MgtAddBaResponseHeader::Serialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Serialize(), ns3::PbbPacket::Serialize(), ns3::SixLowPanIphc::Serialize(), ns3::dsr::DsrOptionSRHeader::Serialize(), ns3::Icmpv6RA::Serialize(), ns3::dsr::DsrOptionRerrHeader::Serialize(), ns3::Icmpv6RS::Serialize(), ns3::Icmpv6Redirection::Serialize(), ns3::dsr::DsrOptionRerrUnreachHeader::Serialize(), ns3::SixLowPanNhcExtension::Serialize(), ns3::PbbMessage::Serialize(), ns3::Icmpv6Echo::Serialize(), ns3::Icmpv6DestinationUnreachable::Serialize(), ns3::dsr::DsrOptionRerrUnsupportHeader::Serialize(), ns3::SixLowPanUdpNhcExtension::Serialize(), ns3::Icmpv6TooBig::Serialize(), ns3::dsr::DsrOptionAckReqHeader::Serialize(), ns3::Icmpv6TimeExceeded::Serialize(), ns3::dsr::DsrOptionAckHeader::Serialize(), ns3::Icmpv6ParameterError::Serialize(), ns3::Icmpv6OptionMtu::Serialize(), ns3::PbbAddressBlock::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(), ns3::dot11s::IePreq::SerializeInformationField(), ns3::DlFramePrefixIe::Write(), ns3::OfdmUlBurstProfile::Write(), ns3::OfdmDlBurstProfile::Write(), ns3::OfdmUlMapIe::Write(), ns3::OfdmDlMapIe::Write(), and ns3::Asn1Header::WriteOctet().
|
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.
Definition at line 708 of file buffer.h.
References ns3::Buffer::m_data, and NS_ASSERT_MSG.
|
private |
Definition at line 393 of file buffer.h.
Referenced by GetDistanceFrom(), and Write().
|
private |
Definition at line 397 of file buffer.h.
Referenced by GetDistanceFrom(), and Write().
|
private |
|
private |
|
private |