A Discrete-Event Network Simulator
API
ns3::RrcDlDcchMessage Class Reference

This class only serves to discriminate which message type has been received in downlink (eNb to ue) for channel DCCH. More...

#include "lte-rrc-header.h"

+ Inheritance diagram for ns3::RrcDlDcchMessage:
+ Collaboration diagram for ns3::RrcDlDcchMessage:

Public Member Functions

 RrcDlDcchMessage ()
 
 ~RrcDlDcchMessage ()
 
uint32_t Deserialize (Buffer::Iterator bIterator)
 
void PreSerialize () const
 This function serializes class attributes to m_serializationResult local Buffer. More...
 
void Print (std::ostream &os) const
 
- Public Member Functions inherited from ns3::RrcAsn1Header
 RrcAsn1Header ()
 
int GetMessageType ()
 
- Public Member Functions inherited from ns3::Asn1Header
 Asn1Header ()
 
virtual ~Asn1Header ()
 
uint32_t GetSerializedSize (void) const
 
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
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Protected Member Functions

Buffer::Iterator DeserializeDlDcchMessage (Buffer::Iterator bIterator)
 
void SerializeDlDcchMessage (int msgType) const
 
- Protected Member Functions inherited from ns3::RrcAsn1Header
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
 Get the most derived TypeId for this Object. More...
 
void Print (std::ostream &os, LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const
 This function prints RadioResourceConfigDedicated IE, for debugging purposes. More...
 
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)
 Deserialize a bitset. More...
 
Buffer::Iterator DeserializeBitset (std::bitset< 8 > *data, Buffer::Iterator bIterator)
 Deserialize a bitset. More...
 
template<int N>
Buffer::Iterator DeserializeBitstring (std::bitset< N > *bitstring, Buffer::Iterator bIterator)
 Deserialize a bitstring. More...
 
Buffer::Iterator DeserializeBitstring (std::bitset< 1 > *bitstring, Buffer::Iterator bIterator)
 Deserialize a bitstring. More...
 
Buffer::Iterator DeserializeBitstring (std::bitset< 2 > *bitstring, Buffer::Iterator bIterator)
 Deserialize a bitstring. More...
 
Buffer::Iterator DeserializeBitstring (std::bitset< 8 > *bitstring, Buffer::Iterator bIterator)
 Deserialize a bitstring. More...
 
Buffer::Iterator DeserializeBitstring (std::bitset< 10 > *bitstring, Buffer::Iterator bIterator)
 Deserialize a bitstring. More...
 
Buffer::Iterator DeserializeBitstring (std::bitset< 16 > *bitstring, Buffer::Iterator bIterator)
 Deserialize a bitstring. More...
 
Buffer::Iterator DeserializeBitstring (std::bitset< 27 > *bitstring, Buffer::Iterator bIterator)
 Deserialize a bitstring. More...
 
Buffer::Iterator DeserializeBitstring (std::bitset< 28 > *bitstring, Buffer::Iterator bIterator)
 Deserialize a bitstring. More...
 
Buffer::Iterator DeserializeBitstring (std::bitset< 32 > *bitstring, Buffer::Iterator bIterator)
 Deserialize a bitstring. More...
 
Buffer::Iterator DeserializeBoolean (bool *value, Buffer::Iterator bIterator)
 Deserialize a boolean. More...
 
Buffer::Iterator DeserializeChoice (int numOptions, bool isExtensionMarkerPresent, int *selectedOption, Buffer::Iterator bIterator)
 Deserialize a Choice (set of options) More...
 
Buffer::Iterator DeserializeEnum (int numElems, int *selectedElem, Buffer::Iterator bIterator)
 Deserialize an Enum. More...
 
Buffer::Iterator DeserializeInteger (int *n, int nmin, int nmax, Buffer::Iterator bIterator)
 Deserialize an integer. More...
 
Buffer::Iterator DeserializeNull (Buffer::Iterator bIterator)
 Deserialize nothing (null op) More...
 
template<int N>
Buffer::Iterator DeserializeSequence (std::bitset< N > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequence (std::bitset< 0 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequence (std::bitset< 1 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequence (std::bitset< 2 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequence (std::bitset< 3 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequence (std::bitset< 4 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequence (std::bitset< 5 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequence (std::bitset< 6 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequence (std::bitset< 9 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequence (std::bitset< 10 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequence (std::bitset< 11 > *optionalOrDefaultMask, bool isExtensionMarkerPresent, Buffer::Iterator bIterator)
 Deserialize a sequence. More...
 
Buffer::Iterator DeserializeSequenceOf (int *numElems, int nMax, int nMin, Buffer::Iterator bIterator)
 Deserialize a Sequence. More...
 
void FinalizeSerialization () const
 Finalizes an in progress serialization. More...
 
template<int N>
void SerializeBitset (std::bitset< N > data) const
 Serialize a bitset. More...
 
template<int N>
void SerializeBitstring (std::bitset< N > bitstring) const
 Serialize a bitstring. More...
 
void SerializeBitstring (std::bitset< 1 > bitstring) const
 Serialize a bitstring. More...
 
void SerializeBitstring (std::bitset< 2 > bitstring) const
 Serialize a bitstring. More...
 
void SerializeBitstring (std::bitset< 8 > bitstring) const
 Serialize a bitstring. More...
 
void SerializeBitstring (std::bitset< 10 > bitstring) const
 Serialize a bitstring. More...
 
void SerializeBitstring (std::bitset< 16 > bitstring) const
 Serialize a bitstring. More...
 
void SerializeBitstring (std::bitset< 27 > bitstring) const
 Serialize a bitstring. More...
 
void SerializeBitstring (std::bitset< 28 > bitstring) const
 Serialize a bitstring. More...
 
void SerializeBitstring (std::bitset< 32 > bitstring) const
 Serialize a bitstring. More...
 
void SerializeBoolean (bool value) const
 Serialize a bool. More...
 
void SerializeChoice (int numOptions, int selectedOption, bool isExtensionMarkerPresent) const
 Serialize a Choice (set of options) More...
 
void SerializeEnum (int numElems, int selectedElem) const
 Serialize an Enum. More...
 
void SerializeInteger (int n, int nmin, int nmax) const
 Serialize an Integer. More...
 
void SerializeNull () const
 Serialize nothing (null op) More...
 
template<int N>
void SerializeSequence (std::bitset< N > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequence (std::bitset< 0 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequence (std::bitset< 1 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequence (std::bitset< 2 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequence (std::bitset< 3 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequence (std::bitset< 4 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequence (std::bitset< 5 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequence (std::bitset< 6 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequence (std::bitset< 9 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequence (std::bitset< 10 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequence (std::bitset< 11 > optionalOrDefaultMask, bool isExtensionMarkerPresent) const
 Serialize a sequence. More...
 
void SerializeSequenceOf (int numElems, int nMax, int nMin) const
 Serialize a Sequence. More...
 
void WriteOctet (uint8_t octet) const
 Function to write in m_serializationResult, after resizing its size. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::Asn1Header
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Header
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Chunk
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Protected Member Functions inherited from ns3::RrcAsn1Header
static TypeId GetTypeId (void)
 
- Protected Attributes inherited from ns3::RrcAsn1Header
int m_messageType
 Stores RRC message type, according to 3GPP TS 36.331. More...
 
- Protected Attributes inherited from ns3::Asn1Header
bool m_isDataSerialized
 true if data is serialized More...
 
uint8_t m_numSerializationPendingBits
 number of pending bits More...
 
uint8_t m_serializationPendingBits
 pending bits More...
 
Buffer m_serializationResult
 serialization result More...
 

Detailed Description

This class only serves to discriminate which message type has been received in downlink (eNb to ue) for channel DCCH.

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

Constructor & Destructor Documentation

ns3::RrcDlDcchMessage::RrcDlDcchMessage ( )

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

ns3::RrcDlDcchMessage::~RrcDlDcchMessage ( )

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

Member Function Documentation

uint32_t ns3::RrcDlDcchMessage::Deserialize ( Buffer::Iterator  start)
virtual
Parameters
startan iterator which points to where the header should read from.
Returns
the number of bytes read.

This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. The data read is expected to match bit-for-bit the representation of this header in real networks.

Note that data is not actually removed from the buffer to which the iterator points. Both Packet::RemoveHeader() and Packet::PeekHeader() call Deserialize(), but only the RemoveHeader() has additional statements to remove the header bytes from the underlying buffer and associated metadata.

Implements ns3::RrcAsn1Header.

Reimplemented in ns3::RrcConnectionReleaseHeader, and ns3::RrcConnectionReconfigurationHeader.

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

References DeserializeDlDcchMessage().

+ Here is the call graph for this function:

Buffer::Iterator ns3::RrcDlDcchMessage::DeserializeDlDcchMessage ( Buffer::Iterator  bIterator)
protected

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

References ns3::Asn1Header::DeserializeChoice(), ns3::Asn1Header::DeserializeSequence(), and ns3::RrcAsn1Header::m_messageType.

Referenced by Deserialize(), ns3::RrcConnectionReconfigurationHeader::Deserialize(), and ns3::RrcConnectionReleaseHeader::Deserialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RrcDlDcchMessage::PreSerialize ( ) const
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 meaningful information elements are in the subclasses.

Implements ns3::RrcAsn1Header.

Reimplemented in ns3::RrcConnectionReleaseHeader, and ns3::RrcConnectionReconfigurationHeader.

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

References ns3::RrcAsn1Header::m_messageType, and SerializeDlDcchMessage().

+ Here is the call graph for this function:

void ns3::RrcDlDcchMessage::Print ( std::ostream &  os) const
virtual
Parameters
osoutput stream This method is used by Packet::Print to print the content of a header as ascii data to a c++ output stream. Although the header 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

Reimplemented from ns3::RrcAsn1Header.

Reimplemented in ns3::RrcConnectionReleaseHeader, and ns3::RrcConnectionReconfigurationHeader.

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

References ns3::RrcAsn1Header::m_messageType.

void ns3::RrcDlDcchMessage::SerializeDlDcchMessage ( int  msgType) const
protected

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

References ns3::Asn1Header::SerializeChoice(), and ns3::Asn1Header::SerializeSequence().

Referenced by PreSerialize(), ns3::RrcConnectionReconfigurationHeader::PreSerialize(), and ns3::RrcConnectionReleaseHeader::PreSerialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


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