This class has the purpose to encode Information Elements according to ASN.1 syntax, as defined in ITU-T X-691. More...
#include <lte-asn1-header.h>
Public Member Functions | |
Asn1Header () | |
virtual | ~Asn1Header () |
virtual uint32_t | Deserialize (Buffer::Iterator bIterator)=0 |
virtual TypeId | GetInstanceTypeId (void) const |
uint32_t | GetSerializedSize (void) const |
virtual void | PreSerialize (void) const =0 |
This function serializes class attributes to m_serializationResult local Buffer. More... | |
virtual void | Print (std::ostream &os) const =0 |
void | Serialize (Buffer::Iterator bIterator) const |
Public Member Functions inherited from ns3::Header | |
virtual | ~Header () |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Header | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Chunk | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Protected Member Functions | |
template<int N> | |
Buffer::Iterator | DeserializeBitset (std::bitset< N > *data, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeBitset (std::bitset< 8 > *data, Buffer::Iterator bIterator) |
template<int N> | |
Buffer::Iterator | DeserializeBitstring (std::bitset< N > *bitstring, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeBitstring (std::bitset< 1 > *bitstring, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeBitstring (std::bitset< 2 > *bitstring, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeBitstring (std::bitset< 8 > *bitstring, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeBitstring (std::bitset< 10 > *bitstring, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeBitstring (std::bitset< 16 > *bitstring, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeBitstring (std::bitset< 27 > *bitstring, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeBitstring (std::bitset< 28 > *bitstring, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeBitstring (std::bitset< 32 > *bitstring, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeBoolean (bool *value, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeChoice (int numOptions, bool isExtensionMarkerPresent, int *selectedOption, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeEnum (int numElems, int *selectedElem, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeInteger (int *n, int nmin, int nmax, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeNull (Buffer::Iterator bIterator) |
template<int N> | |
Buffer::Iterator | DeserializeSequence (std::bitset< N > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequence (std::bitset< 0 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequence (std::bitset< 1 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequence (std::bitset< 2 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequence (std::bitset< 3 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequence (std::bitset< 4 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequence (std::bitset< 5 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequence (std::bitset< 6 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequence (std::bitset< 9 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequence (std::bitset< 10 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequence (std::bitset< 11 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator) |
Buffer::Iterator | DeserializeSequenceOf (int *numElems, int nMax, int nMin, Buffer::Iterator bIterator) |
void | FinalizeSerialization () const |
template<int N> | |
void | SerializeBitset (std::bitset< N > data) const |
template<int N> | |
void | SerializeBitstring (std::bitset< N > bitstring) const |
void | SerializeBitstring (std::bitset< 1 > bitstring) const |
void | SerializeBitstring (std::bitset< 2 > bitstring) const |
void | SerializeBitstring (std::bitset< 8 > bitstring) const |
void | SerializeBitstring (std::bitset< 10 > bitstring) const |
void | SerializeBitstring (std::bitset< 16 > bitstring) const |
void | SerializeBitstring (std::bitset< 27 > bitstring) const |
void | SerializeBitstring (std::bitset< 28 > bitstring) const |
void | SerializeBitstring (std::bitset< 32 > bitstring) const |
void | SerializeBoolean (bool value) const |
void | SerializeChoice (int numOptions, int selectedOption, bool isExtensionMarkerPresent) const |
void | SerializeEnum (int numElems, int selectedElem) const |
void | SerializeInteger (int n, int nmin, int nmax) const |
void | SerializeNull () const |
void | SerializeOctetstring (std::string s) const |
template<int N> | |
void | SerializeSequence (std::bitset< N > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequence (std::bitset< 0 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequence (std::bitset< 1 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequence (std::bitset< 2 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequence (std::bitset< 3 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequence (std::bitset< 4 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequence (std::bitset< 5 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequence (std::bitset< 6 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequence (std::bitset< 9 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequence (std::bitset< 10 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequence (std::bitset< 11 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const |
void | SerializeSequenceOf (int numElems, int nMax, int nMin) const |
void | WriteOctet (uint8_t octet) const |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This method is invoked once all member attributes have been initialized. More... | |
Protected Attributes | |
bool | m_isDataSerialized |
uint8_t | m_numSerializationPendingBits |
uint8_t | m_serializationPendingBits |
Buffer | m_serializationResult |
This class has the purpose to encode Information Elements according to ASN.1 syntax, as defined in ITU-T X-691.
Doxygen introspection did not find any typical Config paths.
IMPORTANT: The encoding is done following the UNALIGNED variant.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 38 of file lte-asn1-header.h.
ns3::Asn1Header::Asn1Header | ( | ) |
Definition at line 50 of file lte-asn1-header.cc.
References m_isDataSerialized, m_numSerializationPendingBits, and m_serializationPendingBits.
|
virtual |
Definition at line 57 of file lte-asn1-header.cc.
|
pure virtual |
start | an iterator which points to where the header should written. |
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.
Implemented in ns3::MeasurementReportHeader, ns3::RrcConnectionRejectHeader, ns3::RrcConnectionReleaseHeader, ns3::RrcConnectionReestablishmentRejectHeader, ns3::RrcConnectionReestablishmentCompleteHeader, ns3::RrcConnectionReestablishmentHeader, ns3::RrcConnectionReestablishmentRequestHeader, ns3::HandoverPreparationInfoHeader, ns3::RrcConnectionReconfigurationHeader, ns3::RrcConnectionReconfigurationCompleteHeader, ns3::RrcConnectionSetupCompleteHeader, ns3::RrcConnectionSetupHeader, ns3::RrcConnectionRequestHeader, ns3::RrcDlCcchMessage, ns3::RrcUlCcchMessage, ns3::RrcDlDcchMessage, ns3::RrcUlDcchMessage, and ns3::RrcAsn1Header.
|
protected |
Definition at line 428 of file lte-asn1-header.cc.
References m_numSerializationPendingBits, m_serializationPendingBits, and ns3::Buffer::Iterator::ReadU8().
|
protected |
|
protected |
Definition at line 481 of file lte-asn1-header.cc.
References data.
Referenced by ns3::RrcConnectionRequestHeader::Deserialize(), ns3::RrcConnectionReconfigurationHeader::Deserialize(), ns3::HandoverPreparationInfoHeader::Deserialize(), ns3::RrcConnectionReestablishmentRequestHeader::Deserialize(), ns3::RrcAsn1Header::DeserializeMeasConfig(), ns3::RrcAsn1Header::DeserializeMeasResults(), and ns3::RrcAsn1Header::DeserializeSystemInformationBlockType1().
|
protected |
Definition at line 486 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 491 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 496 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 501 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 506 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 511 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 516 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 521 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 526 of file lte-asn1-header.cc.
Referenced by DeserializeChoice(), ns3::RrcAsn1Header::DeserializeMeasConfig(), ns3::RrcAsn1Header::DeserializePhysicalConfigDedicated(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigCommon(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigCommonSib(), DeserializeSequence(), and ns3::RrcAsn1Header::DeserializeSystemInformationBlockType1().
|
protected |
Definition at line 668 of file lte-asn1-header.cc.
References DeserializeBoolean(), and DeserializeInteger().
Referenced by ns3::RrcConnectionRequestHeader::Deserialize(), ns3::RrcConnectionSetupHeader::Deserialize(), ns3::RrcConnectionSetupCompleteHeader::Deserialize(), ns3::RrcConnectionReconfigurationCompleteHeader::Deserialize(), ns3::RrcConnectionReconfigurationHeader::Deserialize(), ns3::HandoverPreparationInfoHeader::Deserialize(), ns3::RrcConnectionReestablishmentRequestHeader::Deserialize(), ns3::RrcConnectionReestablishmentHeader::Deserialize(), ns3::RrcConnectionReestablishmentCompleteHeader::Deserialize(), ns3::RrcConnectionReestablishmentRejectHeader::Deserialize(), ns3::RrcConnectionReleaseHeader::Deserialize(), ns3::RrcConnectionRejectHeader::Deserialize(), ns3::MeasurementReportHeader::Deserialize(), ns3::RrcDlCcchMessage::DeserializeDlCcchMessage(), ns3::RrcDlDcchMessage::DeserializeDlDcchMessage(), ns3::RrcAsn1Header::DeserializeDrbToAddModList(), ns3::RrcAsn1Header::DeserializeMeasConfig(), ns3::RrcAsn1Header::DeserializeMeasResults(), ns3::RrcAsn1Header::DeserializePhysicalConfigDedicated(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigCommonSib(), ns3::RrcAsn1Header::DeserializeSrbToAddModList(), ns3::RrcAsn1Header::DeserializeThresholdEutra(), ns3::RrcUlCcchMessage::DeserializeUlCcchMessage(), and ns3::RrcUlDcchMessage::DeserializeUlDcchMessage().
|
protected |
Definition at line 678 of file lte-asn1-header.cc.
References DeserializeInteger().
Referenced by ns3::RrcConnectionRequestHeader::Deserialize(), ns3::RrcConnectionReconfigurationHeader::Deserialize(), ns3::HandoverPreparationInfoHeader::Deserialize(), ns3::RrcConnectionReestablishmentRequestHeader::Deserialize(), ns3::RrcConnectionReleaseHeader::Deserialize(), ns3::RrcAsn1Header::DeserializeDrbToAddModList(), ns3::RrcAsn1Header::DeserializeLogicalChannelConfig(), ns3::RrcAsn1Header::DeserializeMeasConfig(), ns3::RrcAsn1Header::DeserializePhysicalConfigDedicated(), ns3::RrcAsn1Header::DeserializePlmnIdentity(), ns3::RrcAsn1Header::DeserializeQoffsetRange(), ns3::RrcAsn1Header::DeserializeRachConfigCommon(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigCommon(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigCommonSib(), ns3::RrcAsn1Header::DeserializeSystemInformationBlockType1(), and ns3::RrcAsn1Header::DeserializeSystemInformationBlockType2().
|
protected |
Definition at line 534 of file lte-asn1-header.cc.
Referenced by ns3::RrcConnectionSetupHeader::Deserialize(), ns3::RrcConnectionSetupCompleteHeader::Deserialize(), ns3::RrcConnectionReconfigurationCompleteHeader::Deserialize(), ns3::RrcConnectionReconfigurationHeader::Deserialize(), ns3::HandoverPreparationInfoHeader::Deserialize(), ns3::RrcConnectionReestablishmentRequestHeader::Deserialize(), ns3::RrcConnectionReestablishmentHeader::Deserialize(), ns3::RrcConnectionReestablishmentCompleteHeader::Deserialize(), ns3::RrcConnectionReleaseHeader::Deserialize(), ns3::RrcConnectionRejectHeader::Deserialize(), DeserializeChoice(), ns3::RrcAsn1Header::DeserializeDrbToAddModList(), DeserializeEnum(), ns3::RrcAsn1Header::DeserializeLogicalChannelConfig(), ns3::RrcAsn1Header::DeserializeMeasConfig(), ns3::RrcAsn1Header::DeserializeMeasResults(), ns3::RrcAsn1Header::DeserializePhysicalConfigDedicated(), ns3::RrcAsn1Header::DeserializePlmnIdentity(), ns3::RrcAsn1Header::DeserializeRachConfigCommon(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigCommon(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigCommonSib(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigDedicated(), DeserializeSequenceOf(), ns3::RrcAsn1Header::DeserializeSrbToAddModList(), ns3::RrcAsn1Header::DeserializeSystemInformationBlockType1(), ns3::RrcAsn1Header::DeserializeSystemInformationBlockType2(), and ns3::RrcAsn1Header::DeserializeThresholdEutra().
|
protected |
Definition at line 745 of file lte-asn1-header.cc.
Referenced by ns3::RrcConnectionSetupHeader::Deserialize(), ns3::RrcConnectionSetupCompleteHeader::Deserialize(), ns3::RrcConnectionReconfigurationHeader::Deserialize(), ns3::HandoverPreparationInfoHeader::Deserialize(), ns3::RrcConnectionReestablishmentHeader::Deserialize(), ns3::RrcConnectionReleaseHeader::Deserialize(), ns3::RrcConnectionRejectHeader::Deserialize(), ns3::MeasurementReportHeader::Deserialize(), ns3::RrcAsn1Header::DeserializeMeasConfig(), ns3::RrcAsn1Header::DeserializePhysicalConfigDedicated(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigCommonSib(), and ns3::RrcAsn1Header::DeserializeSrbToAddModList().
|
protected |
Definition at line 684 of file lte-asn1-header.cc.
References DeserializeBoolean().
Referenced by ns3::RrcConnectionRequestHeader::Deserialize(), ns3::RrcConnectionSetupHeader::Deserialize(), ns3::RrcConnectionSetupCompleteHeader::Deserialize(), ns3::RrcConnectionReconfigurationCompleteHeader::Deserialize(), ns3::RrcConnectionReconfigurationHeader::Deserialize(), ns3::HandoverPreparationInfoHeader::Deserialize(), ns3::RrcConnectionReestablishmentRequestHeader::Deserialize(), ns3::RrcConnectionReestablishmentHeader::Deserialize(), ns3::RrcConnectionReestablishmentCompleteHeader::Deserialize(), ns3::RrcConnectionReestablishmentRejectHeader::Deserialize(), ns3::RrcConnectionReleaseHeader::Deserialize(), ns3::RrcConnectionRejectHeader::Deserialize(), ns3::MeasurementReportHeader::Deserialize(), ns3::RrcDlCcchMessage::DeserializeDlCcchMessage(), ns3::RrcDlDcchMessage::DeserializeDlDcchMessage(), ns3::RrcAsn1Header::DeserializeDrbToAddModList(), ns3::RrcAsn1Header::DeserializeLogicalChannelConfig(), ns3::RrcAsn1Header::DeserializeMeasConfig(), ns3::RrcAsn1Header::DeserializeMeasResults(), ns3::RrcAsn1Header::DeserializePhysicalConfigDedicated(), ns3::RrcAsn1Header::DeserializePlmnIdentity(), ns3::RrcAsn1Header::DeserializeRachConfigCommon(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigCommon(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigCommonSib(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigDedicated(), ns3::RrcAsn1Header::DeserializeSrbToAddModList(), ns3::RrcAsn1Header::DeserializeSystemInformationBlockType1(), ns3::RrcAsn1Header::DeserializeSystemInformationBlockType2(), ns3::RrcUlCcchMessage::DeserializeUlCcchMessage(), and ns3::RrcUlDcchMessage::DeserializeUlDcchMessage().
|
protected |
Definition at line 695 of file lte-asn1-header.cc.
|
protected |
Definition at line 700 of file lte-asn1-header.cc.
|
protected |
Definition at line 705 of file lte-asn1-header.cc.
|
protected |
Definition at line 710 of file lte-asn1-header.cc.
|
protected |
Definition at line 715 of file lte-asn1-header.cc.
|
protected |
Definition at line 720 of file lte-asn1-header.cc.
|
protected |
Definition at line 725 of file lte-asn1-header.cc.
|
protected |
Definition at line 730 of file lte-asn1-header.cc.
|
protected |
Definition at line 735 of file lte-asn1-header.cc.
|
protected |
Definition at line 740 of file lte-asn1-header.cc.
|
protected |
Definition at line 750 of file lte-asn1-header.cc.
References DeserializeInteger().
Referenced by ns3::HandoverPreparationInfoHeader::Deserialize(), ns3::RrcAsn1Header::DeserializeDrbToAddModList(), ns3::RrcAsn1Header::DeserializeMeasConfig(), ns3::RrcAsn1Header::DeserializeMeasResults(), ns3::RrcAsn1Header::DeserializePlmnIdentity(), ns3::RrcAsn1Header::DeserializeRadioResourceConfigDedicated(), ns3::RrcAsn1Header::DeserializeSrbToAddModList(), and ns3::RrcAsn1Header::DeserializeSystemInformationBlockType1().
|
protected |
Definition at line 417 of file lte-asn1-header.cc.
References m_isDataSerialized, m_numSerializationPendingBits, and m_serializationPendingBits.
Referenced by ns3::RrcConnectionRequestHeader::PreSerialize(), ns3::RrcConnectionSetupHeader::PreSerialize(), ns3::RrcConnectionSetupCompleteHeader::PreSerialize(), ns3::RrcConnectionReconfigurationCompleteHeader::PreSerialize(), ns3::RrcConnectionReconfigurationHeader::PreSerialize(), ns3::HandoverPreparationInfoHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRequestHeader::PreSerialize(), ns3::RrcConnectionReestablishmentHeader::PreSerialize(), ns3::RrcConnectionReestablishmentCompleteHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRejectHeader::PreSerialize(), ns3::RrcConnectionReleaseHeader::PreSerialize(), ns3::RrcConnectionRejectHeader::PreSerialize(), and ns3::MeasurementReportHeader::PreSerialize().
|
virtual |
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.
Reimplemented in ns3::RrcAsn1Header.
Definition at line 45 of file lte-asn1-header.cc.
References GetTypeId().
|
virtual |
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 62 of file lte-asn1-header.cc.
References ns3::Buffer::GetSize(), m_isDataSerialized, m_serializationResult, and PreSerialize().
Referenced by ns3::RrcConnectionRequestHeader::Deserialize(), ns3::RrcConnectionSetupHeader::Deserialize(), ns3::RrcConnectionSetupCompleteHeader::Deserialize(), ns3::RrcConnectionReconfigurationCompleteHeader::Deserialize(), ns3::RrcConnectionReconfigurationHeader::Deserialize(), ns3::HandoverPreparationInfoHeader::Deserialize(), ns3::RrcConnectionReestablishmentRequestHeader::Deserialize(), ns3::RrcConnectionReestablishmentHeader::Deserialize(), ns3::RrcConnectionReestablishmentCompleteHeader::Deserialize(), ns3::RrcConnectionReestablishmentRejectHeader::Deserialize(), ns3::RrcConnectionReleaseHeader::Deserialize(), ns3::RrcConnectionRejectHeader::Deserialize(), and ns3::MeasurementReportHeader::Deserialize().
|
static |
Definition at line 36 of file lte-asn1-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
pure virtual |
This function serializes class attributes to m_serializationResult local Buffer.
As ASN1 encoding produces a bitstream that does not have a fixed length, this function is needed to store the result, so its length can be retrieved with Header::GetSerializedSize() function. This method is pure virtual in this class (needs to be implemented in child classes) as the meningful information elements are in the subclasses.
Implemented in ns3::MeasurementReportHeader, ns3::RrcConnectionRejectHeader, ns3::RrcConnectionReleaseHeader, ns3::RrcConnectionReestablishmentRejectHeader, ns3::RrcConnectionReestablishmentCompleteHeader, ns3::RrcConnectionReestablishmentHeader, ns3::RrcConnectionReestablishmentRequestHeader, ns3::HandoverPreparationInfoHeader, ns3::RrcConnectionReconfigurationHeader, ns3::RrcConnectionReconfigurationCompleteHeader, ns3::RrcConnectionSetupCompleteHeader, ns3::RrcConnectionSetupHeader, ns3::RrcConnectionRequestHeader, ns3::RrcDlCcchMessage, ns3::RrcUlCcchMessage, ns3::RrcDlDcchMessage, ns3::RrcUlDcchMessage, and ns3::RrcAsn1Header.
Referenced by GetSerializedSize(), and Serialize().
|
pure virtual |
os | output stream 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.
Implemented in ns3::MeasurementReportHeader, ns3::RrcConnectionRejectHeader, ns3::RrcConnectionReleaseHeader, ns3::RrcConnectionReestablishmentRejectHeader, ns3::RrcConnectionReestablishmentCompleteHeader, ns3::RrcConnectionReestablishmentHeader, ns3::RrcConnectionReestablishmentRequestHeader, ns3::HandoverPreparationInfoHeader, ns3::RrcConnectionReconfigurationHeader, ns3::RrcConnectionReconfigurationCompleteHeader, ns3::RrcConnectionSetupCompleteHeader, ns3::RrcConnectionSetupHeader, ns3::RrcConnectionRequestHeader, ns3::RrcDlCcchMessage, ns3::RrcUlCcchMessage, ns3::RrcDlDcchMessage, ns3::RrcUlDcchMessage, and ns3::RrcAsn1Header.
|
virtual |
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 71 of file lte-asn1-header.cc.
References ns3::Buffer::Begin(), ns3::Buffer::End(), m_isDataSerialized, m_serializationResult, PreSerialize(), and ns3::Buffer::Iterator::Write().
|
protected |
Definition at line 89 of file lte-asn1-header.cc.
References m_numSerializationPendingBits, m_serializationPendingBits, and WriteOctet().
|
protected |
Definition at line 173 of file lte-asn1-header.cc.
References data.
Referenced by ns3::RrcConnectionRequestHeader::PreSerialize(), ns3::RrcConnectionReconfigurationHeader::PreSerialize(), ns3::HandoverPreparationInfoHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRequestHeader::PreSerialize(), ns3::RrcAsn1Header::SerializeMeasConfig(), ns3::RrcAsn1Header::SerializeMeasResults(), and ns3::RrcAsn1Header::SerializeSystemInformationBlockType1().
|
protected |
Definition at line 179 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 184 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 189 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 194 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 199 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 204 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 209 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 214 of file lte-asn1-header.cc.
References data.
|
protected |
Definition at line 219 of file lte-asn1-header.cc.
Referenced by SerializeChoice(), ns3::RrcAsn1Header::SerializeMeasConfig(), ns3::RrcAsn1Header::SerializePhysicalConfigDedicated(), ns3::RrcAsn1Header::SerializeRadioResourceConfigCommon(), ns3::RrcAsn1Header::SerializeRadioResourceConfigCommonSib(), SerializeSequence(), and ns3::RrcAsn1Header::SerializeSystemInformationBlockType1().
|
protected |
Definition at line 300 of file lte-asn1-header.cc.
References SerializeBoolean(), and SerializeInteger().
Referenced by ns3::RrcConnectionRequestHeader::PreSerialize(), ns3::RrcConnectionSetupHeader::PreSerialize(), ns3::RrcConnectionSetupCompleteHeader::PreSerialize(), ns3::RrcConnectionReconfigurationCompleteHeader::PreSerialize(), ns3::RrcConnectionReconfigurationHeader::PreSerialize(), ns3::HandoverPreparationInfoHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRequestHeader::PreSerialize(), ns3::RrcConnectionReestablishmentHeader::PreSerialize(), ns3::RrcConnectionReestablishmentCompleteHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRejectHeader::PreSerialize(), ns3::RrcConnectionReleaseHeader::PreSerialize(), ns3::RrcConnectionRejectHeader::PreSerialize(), ns3::MeasurementReportHeader::PreSerialize(), ns3::RrcDlCcchMessage::SerializeDlCcchMessage(), ns3::RrcDlDcchMessage::SerializeDlDcchMessage(), ns3::RrcAsn1Header::SerializeDrbToAddModList(), ns3::RrcAsn1Header::SerializeMeasConfig(), ns3::RrcAsn1Header::SerializeMeasResults(), ns3::RrcAsn1Header::SerializePhysicalConfigDedicated(), ns3::RrcAsn1Header::SerializeRadioResourceConfigCommonSib(), ns3::RrcAsn1Header::SerializeSrbToAddModList(), ns3::RrcAsn1Header::SerializeThresholdEutra(), ns3::RrcUlCcchMessage::SerializeUlCcchMessage(), and ns3::RrcUlDcchMessage::SerializeUlDcchMessage().
|
protected |
Definition at line 294 of file lte-asn1-header.cc.
References SerializeInteger().
Referenced by ns3::RrcConnectionRequestHeader::PreSerialize(), ns3::RrcConnectionReconfigurationHeader::PreSerialize(), ns3::HandoverPreparationInfoHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRequestHeader::PreSerialize(), ns3::RrcConnectionReleaseHeader::PreSerialize(), ns3::RrcAsn1Header::SerializeDrbToAddModList(), ns3::RrcAsn1Header::SerializeLogicalChannelConfig(), ns3::RrcAsn1Header::SerializeMeasConfig(), ns3::RrcAsn1Header::SerializePhysicalConfigDedicated(), ns3::RrcAsn1Header::SerializePlmnIdentity(), ns3::RrcAsn1Header::SerializeQoffsetRange(), ns3::RrcAsn1Header::SerializeRachConfigCommon(), ns3::RrcAsn1Header::SerializeRadioResourceConfigCommon(), ns3::RrcAsn1Header::SerializeRadioResourceConfigCommonSib(), ns3::RrcAsn1Header::SerializeSystemInformationBlockType1(), and ns3::RrcAsn1Header::SerializeSystemInformationBlockType2().
|
protected |
Definition at line 317 of file lte-asn1-header.cc.
Referenced by ns3::RrcConnectionSetupHeader::PreSerialize(), ns3::RrcConnectionSetupCompleteHeader::PreSerialize(), ns3::RrcConnectionReconfigurationCompleteHeader::PreSerialize(), ns3::RrcConnectionReconfigurationHeader::PreSerialize(), ns3::HandoverPreparationInfoHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRequestHeader::PreSerialize(), ns3::RrcConnectionReestablishmentHeader::PreSerialize(), ns3::RrcConnectionReestablishmentCompleteHeader::PreSerialize(), ns3::RrcConnectionReleaseHeader::PreSerialize(), ns3::RrcConnectionRejectHeader::PreSerialize(), SerializeChoice(), ns3::RrcAsn1Header::SerializeDrbToAddModList(), SerializeEnum(), ns3::RrcAsn1Header::SerializeLogicalChannelConfig(), ns3::RrcAsn1Header::SerializeMeasConfig(), ns3::RrcAsn1Header::SerializeMeasResults(), ns3::RrcAsn1Header::SerializePhysicalConfigDedicated(), ns3::RrcAsn1Header::SerializePlmnIdentity(), ns3::RrcAsn1Header::SerializeRachConfigCommon(), ns3::RrcAsn1Header::SerializeRadioResourceConfigCommon(), ns3::RrcAsn1Header::SerializeRadioResourceConfigCommonSib(), ns3::RrcAsn1Header::SerializeRadioResourceConfigDedicated(), SerializeSequenceOf(), ns3::RrcAsn1Header::SerializeSrbToAddModList(), ns3::RrcAsn1Header::SerializeSystemInformationBlockType1(), ns3::RrcAsn1Header::SerializeSystemInformationBlockType2(), and ns3::RrcAsn1Header::SerializeThresholdEutra().
|
protected |
Definition at line 411 of file lte-asn1-header.cc.
Referenced by ns3::RrcConnectionSetupCompleteHeader::PreSerialize(), ns3::RrcAsn1Header::SerializeMeasConfig(), ns3::RrcAsn1Header::SerializePhysicalConfigDedicated(), and ns3::RrcAsn1Header::SerializeRadioResourceConfigCommonSib().
|
protected |
|
protected |
Definition at line 228 of file lte-asn1-header.cc.
References SerializeBoolean().
Referenced by ns3::RrcConnectionRequestHeader::PreSerialize(), ns3::RrcConnectionSetupHeader::PreSerialize(), ns3::RrcConnectionSetupCompleteHeader::PreSerialize(), ns3::RrcConnectionReconfigurationCompleteHeader::PreSerialize(), ns3::RrcConnectionReconfigurationHeader::PreSerialize(), ns3::HandoverPreparationInfoHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRequestHeader::PreSerialize(), ns3::RrcConnectionReestablishmentHeader::PreSerialize(), ns3::RrcConnectionReestablishmentCompleteHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRejectHeader::PreSerialize(), ns3::RrcConnectionReleaseHeader::PreSerialize(), ns3::RrcConnectionRejectHeader::PreSerialize(), ns3::MeasurementReportHeader::PreSerialize(), ns3::RrcDlCcchMessage::SerializeDlCcchMessage(), ns3::RrcDlDcchMessage::SerializeDlDcchMessage(), ns3::RrcAsn1Header::SerializeDrbToAddModList(), ns3::RrcAsn1Header::SerializeLogicalChannelConfig(), ns3::RrcAsn1Header::SerializeMeasConfig(), ns3::RrcAsn1Header::SerializeMeasResults(), ns3::RrcAsn1Header::SerializePhysicalConfigDedicated(), ns3::RrcAsn1Header::SerializePlmnIdentity(), ns3::RrcAsn1Header::SerializeRachConfigCommon(), ns3::RrcAsn1Header::SerializeRadioResourceConfigCommon(), ns3::RrcAsn1Header::SerializeRadioResourceConfigCommonSib(), ns3::RrcAsn1Header::SerializeRadioResourceConfigDedicated(), ns3::RrcAsn1Header::SerializeSrbToAddModList(), ns3::RrcAsn1Header::SerializeSystemInformationBlockType1(), ns3::RrcAsn1Header::SerializeSystemInformationBlockType2(), ns3::RrcUlCcchMessage::SerializeUlCcchMessage(), and ns3::RrcUlDcchMessage::SerializeUlDcchMessage().
|
protected |
Definition at line 238 of file lte-asn1-header.cc.
|
protected |
Definition at line 243 of file lte-asn1-header.cc.
|
protected |
Definition at line 248 of file lte-asn1-header.cc.
|
protected |
Definition at line 253 of file lte-asn1-header.cc.
|
protected |
Definition at line 258 of file lte-asn1-header.cc.
|
protected |
Definition at line 263 of file lte-asn1-header.cc.
|
protected |
Definition at line 268 of file lte-asn1-header.cc.
|
protected |
Definition at line 273 of file lte-asn1-header.cc.
|
protected |
Definition at line 278 of file lte-asn1-header.cc.
|
protected |
Definition at line 283 of file lte-asn1-header.cc.
|
protected |
Definition at line 288 of file lte-asn1-header.cc.
References SerializeInteger().
Referenced by ns3::HandoverPreparationInfoHeader::PreSerialize(), ns3::RrcAsn1Header::SerializeDrbToAddModList(), ns3::RrcAsn1Header::SerializeMeasConfig(), ns3::RrcAsn1Header::SerializeMeasResults(), ns3::RrcAsn1Header::SerializePlmnIdentity(), ns3::RrcAsn1Header::SerializeRadioResourceConfigDedicated(), ns3::RrcAsn1Header::SerializeSrbToAddModList(), and ns3::RrcAsn1Header::SerializeSystemInformationBlockType1().
|
protected |
Definition at line 80 of file lte-asn1-header.cc.
References ns3::Buffer::AddAtEnd(), ns3::Buffer::End(), m_serializationResult, ns3::Buffer::Iterator::Prev(), and ns3::Buffer::Iterator::WriteU8().
Referenced by SerializeBitset().
|
mutableprotected |
Definition at line 68 of file lte-asn1-header.h.
Referenced by Asn1Header(), FinalizeSerialization(), GetSerializedSize(), Serialize(), ns3::RrcConnectionRequestHeader::SetMessage(), ns3::RrcConnectionSetupHeader::SetMessage(), ns3::RrcConnectionSetupCompleteHeader::SetMessage(), ns3::RrcConnectionReconfigurationCompleteHeader::SetMessage(), ns3::RrcConnectionReconfigurationHeader::SetMessage(), ns3::HandoverPreparationInfoHeader::SetMessage(), ns3::RrcConnectionReestablishmentRequestHeader::SetMessage(), ns3::RrcConnectionReestablishmentHeader::SetMessage(), ns3::RrcConnectionReestablishmentCompleteHeader::SetMessage(), ns3::RrcConnectionReestablishmentRejectHeader::SetMessage(), ns3::RrcConnectionReleaseHeader::SetMessage(), ns3::RrcConnectionRejectHeader::SetMessage(), and ns3::MeasurementReportHeader::SetMessage().
|
mutableprotected |
Definition at line 67 of file lte-asn1-header.h.
Referenced by Asn1Header(), DeserializeBitset(), FinalizeSerialization(), and SerializeBitset().
|
mutableprotected |
Definition at line 66 of file lte-asn1-header.h.
Referenced by Asn1Header(), DeserializeBitset(), FinalizeSerialization(), and SerializeBitset().
|
mutableprotected |
Definition at line 69 of file lte-asn1-header.h.
Referenced by GetSerializedSize(), ns3::RrcConnectionRequestHeader::PreSerialize(), ns3::RrcConnectionSetupHeader::PreSerialize(), ns3::RrcConnectionSetupCompleteHeader::PreSerialize(), ns3::RrcConnectionReconfigurationCompleteHeader::PreSerialize(), ns3::RrcConnectionReconfigurationHeader::PreSerialize(), ns3::HandoverPreparationInfoHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRequestHeader::PreSerialize(), ns3::RrcConnectionReestablishmentHeader::PreSerialize(), ns3::RrcConnectionReestablishmentCompleteHeader::PreSerialize(), ns3::RrcConnectionReestablishmentRejectHeader::PreSerialize(), ns3::RrcConnectionReleaseHeader::PreSerialize(), ns3::RrcConnectionRejectHeader::PreSerialize(), ns3::MeasurementReportHeader::PreSerialize(), Serialize(), and WriteOctet().