A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::RrcAsn1Header Class Referenceabstract

#include <lte-rrc-header.h>

+ Inheritance diagram for ns3::RrcAsn1Header:

Public Member Functions

int GetMessageType ()
 
- Public Member Functions inherited from ns3::Asn1Header
uint32_t GetSerializedSize (void) const
 
virtual void Print (std::ostream &os) const =0
 
void Serialize (Buffer::Iterator bIterator) const
 
- Public Member Functions inherited from ns3::ObjectBase
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)
 

Protected Member Functions

uint32_t Deserialize (Buffer::Iterator bIterator)=0
 
Buffer::Iterator DeserializeDrbToAddModList (std::list< LteRrcSap::DrbToAddMod > *drbToAddModLis, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig *logicalChannelConfig, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeMeasConfig (LteRrcSap::MeasConfig *measConfig, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeMeasResults (LteRrcSap::MeasResults *measResults, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedicated *physicalConfigDedicated, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializePlmnIdentity (uint32_t *plmnId, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeQoffsetRange (int8_t *qOffsetRange, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeRachConfigCommon (LteRrcSap::RachConfigCommon *rachConfigCommon, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeRadioResourceConfigCommon (LteRrcSap::RadioResourceConfigCommon *radioResourceConfigCommon, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceConfigCommonSib *radioResourceConfigCommonSib, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated *radioResourceConfigDedicated, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeSrbToAddModList (std::list< LteRrcSap::SrbToAddMod > *srbToAddModList, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 *systemInformationBlockType1, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeSystemInformationBlockType2 (LteRrcSap::SystemInformationBlockType2 *systemInformationBlockType2, Buffer::Iterator bIterator)
 
Buffer::Iterator DeserializeThresholdEutra (LteRrcSap::ThresholdEutra *thresholdEutra, Buffer::Iterator bIterator)
 
virtual TypeId GetInstanceTypeId (void) const
 
virtual void PreSerialize (void) const =0
 
void Print (std::ostream &os, LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const
 
void SerializeDrbToAddModList (std::list< LteRrcSap::DrbToAddMod > drbToAddModList) const
 
void SerializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig logicalChannelConfig) const
 
void SerializeMeasConfig (LteRrcSap::MeasConfig measConfig) const
 
void SerializeMeasResults (LteRrcSap::MeasResults measResults) const
 
void SerializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated) const
 
void SerializePlmnIdentity (uint32_t plmnId) const
 
void SerializeQoffsetRange (int8_t qOffsetRange) const
 
void SerializeRachConfigCommon (LteRrcSap::RachConfigCommon rachConfigCommon) const
 
void SerializeRadioResourceConfigCommon (LteRrcSap::RadioResourceConfigCommon radioResourceConfigCommon) const
 
void SerializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceConfigCommonSib radioResourceConfigCommonSib) const
 
void SerializeRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const
 
void SerializeSrbToAddModList (std::list< LteRrcSap::SrbToAddMod > srbToAddModList) const
 
void SerializeSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const
 
void SerializeSystemInformationBlockType2 (LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2) const
 
void SerializeThresholdEutra (LteRrcSap::ThresholdEutra thresholdEutra) const
 
- Protected Member Functions inherited from ns3::Asn1Header
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)
 

Static Protected Member Functions

static TypeId GetTypeId (void)
 

Protected Attributes

int m_messageType
 Stores RRC message type, according to 3GPP TS 36.331.
 
- Protected Attributes inherited from ns3::Asn1Header
bool m_isDataSerialized
 
uint8_t m_numSerializationPendingBits
 
uint8_t m_serializationPendingBits
 
Buffer m_serializationResult
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::Asn1Header
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)
 

Detailed Description

This class extends Asn1Header functions, adding serialization/deserialization of some Information elements defined in 3GPP TS 36.331

Definition at line 38 of file lte-rrc-header.h.

Member Function Documentation

uint32_t ns3::RrcAsn1Header::Deserialize ( Buffer::Iterator  start)
protectedpure virtual
TypeId ns3::RrcAsn1Header::GetInstanceTypeId ( void  ) const
protectedvirtual
Returns
the TypeId associated to the most-derived type of this instance.

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

Reimplemented from ns3::Asn1Header.

Definition at line 58 of file lte-rrc-header.cc.

virtual void ns3::RrcAsn1Header::PreSerialize ( void  ) const
protectedpure 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.

Implements ns3::Asn1Header.

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, and ns3::RrcUlDcchMessage.

void ns3::RrcAsn1Header::Print ( std::ostream &  os,
LteRrcSap::RadioResourceConfigDedicated  radioResourceConfigDedicated 
) const
protected

This function prints RadioResourceConfigDedicated IE, for debugging purposes.

Parameters
osThe output stream to use (i.e. std::cout)
radioResourceConfigDedicatedThe information element to be printed

Definition at line 2227 of file lte-rrc-header.cc.

Referenced by ns3::RrcConnectionSetupHeader::Print(), ns3::RrcConnectionReconfigurationHeader::Print(), ns3::HandoverPreparationInfoHeader::Print(), and ns3::RrcConnectionReestablishmentHeader::Print().


The documentation for this class was generated from the following files: