Implement Nicola's review comments
This commit is contained in:
@@ -46,7 +46,6 @@ Asn1Header::GetInstanceTypeId (void) const
|
||||
return GetTypeId ();
|
||||
}
|
||||
|
||||
// Constructor
|
||||
Asn1Header::Asn1Header ()
|
||||
{
|
||||
m_serializationPendingBits = 0x00;
|
||||
@@ -54,7 +53,6 @@ Asn1Header::Asn1Header ()
|
||||
m_isDataSerialized = false;
|
||||
}
|
||||
|
||||
// Destructor
|
||||
Asn1Header::~Asn1Header ()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -41,15 +41,26 @@ public:
|
||||
Asn1Header ();
|
||||
virtual ~Asn1Header ();
|
||||
|
||||
// Inherited from ns3::Header base class
|
||||
static TypeId GetTypeId (void);
|
||||
virtual TypeId GetInstanceTypeId (void) const;
|
||||
uint32_t GetSerializedSize (void) const;
|
||||
void Serialize (Buffer::Iterator bIterator) const;
|
||||
|
||||
// Pure virtual methods, implemented in child classes
|
||||
virtual void PreSerialize (void) const = 0;
|
||||
// Inherited from ns3::Header base class
|
||||
// Pure virtual methods, to be implemented in child classes
|
||||
virtual uint32_t Deserialize (Buffer::Iterator bIterator) = 0;
|
||||
virtual void Print (std::ostream &os) const = 0;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
virtual void PreSerialize (void) const = 0;
|
||||
|
||||
protected:
|
||||
mutable uint8_t m_serializationPendingBits;
|
||||
@@ -137,5 +148,5 @@ protected:
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
#endif // EPC_ASN1_HEADER_H
|
||||
#endif // ASN1_HEADER_H
|
||||
|
||||
|
||||
@@ -448,19 +448,106 @@ RrcAsn1Header::SerializeSystemInformationBlockType1 (LteRrcSap::SystemInformatio
|
||||
}
|
||||
|
||||
void
|
||||
RrcAsn1Header::SerializeRadioResourceConfigCommonSIB () const
|
||||
RrcAsn1Header::SerializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceConfigCommonSib radioResourceConfigCommonSib) const
|
||||
{
|
||||
SerializeSequence (std::bitset<0> (0),true);
|
||||
// rach-ConfigCommon
|
||||
SerializeSequence (std::bitset<0> (0),true);
|
||||
SerializeSequence (std::bitset<1> (0),false); // preambleInfo
|
||||
SerializeEnum (16,0); // numberOfRA-Preambles
|
||||
|
||||
// numberOfRA-Preambles
|
||||
switch(radioResourceConfigCommonSib.rachConfigCommon.preambleInfo.numberOfRaPreambles)
|
||||
{
|
||||
case 4: SerializeEnum (16,0);
|
||||
break;
|
||||
case 8: SerializeEnum (16,1);
|
||||
break;
|
||||
case 12: SerializeEnum (16,2);
|
||||
break;
|
||||
case 16 : SerializeEnum (16,3);
|
||||
break;
|
||||
case 20: SerializeEnum (16,4);
|
||||
break;
|
||||
case 24: SerializeEnum (16,5);
|
||||
break;
|
||||
case 28: SerializeEnum (16,6);
|
||||
break;
|
||||
case 32: SerializeEnum (16,7);
|
||||
break;
|
||||
case 36: SerializeEnum (16,8);
|
||||
break;
|
||||
case 40: SerializeEnum (16,9);
|
||||
break;
|
||||
case 44: SerializeEnum (16,10);
|
||||
break;
|
||||
case 48: SerializeEnum (16,11);
|
||||
break;
|
||||
case 52: SerializeEnum (16,12);
|
||||
break;
|
||||
case 56: SerializeEnum (16,13);
|
||||
break;
|
||||
case 60: SerializeEnum (16,14);
|
||||
break;
|
||||
case 64: SerializeEnum (16,15);
|
||||
break;
|
||||
default: SerializeEnum (16,0);
|
||||
}
|
||||
|
||||
SerializeSequence (std::bitset<0> (0),false); // powerRampingParameters
|
||||
SerializeEnum (4,0); // powerRampingStep
|
||||
SerializeEnum (16,0); // preambleInitialReceivedTargetPower
|
||||
SerializeSequence (std::bitset<0> (0),false); // ra-SupervisionInfo
|
||||
SerializeEnum (11,0); // preambleTransMax
|
||||
SerializeEnum (8,0); // ra-ResponseWindowSize
|
||||
|
||||
// preambleTransMax
|
||||
switch(radioResourceConfigCommonSib.rachConfigCommon.raSupervisionInfo.preambleTransMax)
|
||||
{
|
||||
case 3: SerializeEnum(11,0);
|
||||
break;
|
||||
case 4: SerializeEnum(11,1);
|
||||
break;
|
||||
case 5: SerializeEnum(11,2);
|
||||
break;
|
||||
case 6: SerializeEnum(11,3);
|
||||
break;
|
||||
case 7: SerializeEnum(11,4);
|
||||
break;
|
||||
case 8: SerializeEnum(11,5);
|
||||
break;
|
||||
case 10: SerializeEnum(11,6);
|
||||
break;
|
||||
case 20: SerializeEnum(11,7);
|
||||
break;
|
||||
case 50: SerializeEnum(11,8);
|
||||
break;
|
||||
case 100: SerializeEnum(11,9);
|
||||
break;
|
||||
case 200: SerializeEnum(11,10);
|
||||
break;
|
||||
default: SerializeEnum (11,0);
|
||||
}
|
||||
|
||||
// ra-ResponseWindowSize
|
||||
switch(radioResourceConfigCommonSib.rachConfigCommon.raSupervisionInfo.raResponseWindowSize)
|
||||
{
|
||||
case 2: SerializeEnum(8,0);
|
||||
break;
|
||||
case 3: SerializeEnum(8,1);
|
||||
break;
|
||||
case 4: SerializeEnum(8,2);
|
||||
break;
|
||||
case 5: SerializeEnum(8,3);
|
||||
break;
|
||||
case 6: SerializeEnum(8,4);
|
||||
break;
|
||||
case 7: SerializeEnum(8,5);
|
||||
break;
|
||||
case 8: SerializeEnum(8,6);
|
||||
break;
|
||||
case 10: SerializeEnum(8,7);
|
||||
break;
|
||||
default: SerializeEnum (8,0);
|
||||
}
|
||||
|
||||
SerializeEnum (8,0); // mac-ContentionResolutionTimer
|
||||
SerializeInteger (1,1,8); // maxHARQ-Msg3Tx
|
||||
// bcch-Config
|
||||
@@ -515,12 +602,12 @@ RrcAsn1Header::SerializeRadioResourceConfigCommonSIB () const
|
||||
}
|
||||
|
||||
void
|
||||
RrcAsn1Header::SerializeSystemInformationBlockType2 () const
|
||||
RrcAsn1Header::SerializeSystemInformationBlockType2 (LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2) const
|
||||
{
|
||||
SerializeSequence (std::bitset<2> (0),true);
|
||||
|
||||
// RadioResourceConfigCommonSIB
|
||||
SerializeRadioResourceConfigCommonSIB ();
|
||||
// RadioResourceConfigCommonSib
|
||||
SerializeRadioResourceConfigCommonSib (systemInformationBlockType2.radioResourceConfigCommon);
|
||||
|
||||
// ue-TimersAndConstants
|
||||
SerializeSequence (std::bitset<0> (0),true);
|
||||
@@ -530,8 +617,27 @@ RrcAsn1Header::SerializeSystemInformationBlockType2 () const
|
||||
SerializeEnum (8,0); // n310
|
||||
SerializeEnum (7,0); // t311
|
||||
SerializeEnum (8,0); // n311
|
||||
|
||||
// freqInfo
|
||||
SerializeSequence (std::bitset<2> (0),false);
|
||||
SerializeSequence (std::bitset<2> (3),false);
|
||||
SerializeInteger ((int) systemInformationBlockType2.freqInfo.ulCarrierFreq, 0, MAX_EARFCN);
|
||||
switch(systemInformationBlockType2.freqInfo.ulBandwidth)
|
||||
{
|
||||
case 6: SerializeEnum(6,0);
|
||||
break;
|
||||
case 15: SerializeEnum(6,1);
|
||||
break;
|
||||
case 25: SerializeEnum(6,2);
|
||||
break;
|
||||
case 50: SerializeEnum(6,3);
|
||||
break;
|
||||
case 75: SerializeEnum(6,4);
|
||||
break;
|
||||
case 100: SerializeEnum(6,5);
|
||||
break;
|
||||
default: SerializeEnum(6,0);
|
||||
}
|
||||
|
||||
SerializeInteger (29,1,32); // additionalSpectrumEmission
|
||||
// timeAlignmentTimerCommon
|
||||
SerializeEnum (8,0);
|
||||
@@ -1250,7 +1356,7 @@ RrcAsn1Header::DeserializeSystemInformationBlockType1 (LteRrcSap::SystemInformat
|
||||
}
|
||||
|
||||
Buffer::Iterator
|
||||
RrcAsn1Header::DeserializeSystemInformationBlockType2 (Buffer::Iterator bIterator)
|
||||
RrcAsn1Header::DeserializeSystemInformationBlockType2 (LteRrcSap::SystemInformationBlockType2 *systemInformationBlockType2, Buffer::Iterator bIterator)
|
||||
{
|
||||
std::bitset<0> bitset0;
|
||||
int n;
|
||||
@@ -1264,7 +1370,7 @@ RrcAsn1Header::DeserializeSystemInformationBlockType2 (Buffer::Iterator bIterato
|
||||
}
|
||||
|
||||
// Deserialize radioResourceConfigCommon
|
||||
bIterator = DeserializeRadioResourceConfigCommonSib (bIterator);
|
||||
bIterator = DeserializeRadioResourceConfigCommonSib (&systemInformationBlockType2->radioResourceConfigCommon, bIterator);
|
||||
|
||||
// Deserialize ue-TimersAndConstants
|
||||
bIterator = DeserializeSequence (&bitset0,true,bIterator);
|
||||
@@ -1281,14 +1387,40 @@ RrcAsn1Header::DeserializeSystemInformationBlockType2 (Buffer::Iterator bIterato
|
||||
if (freqInfoOpts[1])
|
||||
{
|
||||
// Deserialize ul-CarrierFreq
|
||||
// ...
|
||||
bIterator = DeserializeInteger (&n, 0, MAX_EARFCN, bIterator);
|
||||
systemInformationBlockType2->freqInfo.ulCarrierFreq = n;
|
||||
}
|
||||
if (freqInfoOpts[0])
|
||||
{
|
||||
// Deserialize ul-Bandwidth
|
||||
// ...
|
||||
bIterator = DeserializeEnum (6, &n, bIterator);
|
||||
switch(n)
|
||||
{
|
||||
case 0:
|
||||
systemInformationBlockType2->freqInfo.ulBandwidth = 6;
|
||||
break;
|
||||
case 1:
|
||||
systemInformationBlockType2->freqInfo.ulBandwidth = 15;
|
||||
break;
|
||||
case 2:
|
||||
systemInformationBlockType2->freqInfo.ulBandwidth = 25;
|
||||
break;
|
||||
case 3:
|
||||
systemInformationBlockType2->freqInfo.ulBandwidth = 50;
|
||||
break;
|
||||
case 4:
|
||||
systemInformationBlockType2->freqInfo.ulBandwidth = 75;
|
||||
break;
|
||||
case 5:
|
||||
systemInformationBlockType2->freqInfo.ulBandwidth = 100;
|
||||
break;
|
||||
default:
|
||||
systemInformationBlockType2->freqInfo.ulBandwidth = 6;
|
||||
}
|
||||
}
|
||||
bIterator = DeserializeInteger (&n,1,32,bIterator); // additionalSpectrumEmission
|
||||
|
||||
// additionalSpectrumEmission
|
||||
bIterator = DeserializeInteger (&n,1,32,bIterator);
|
||||
|
||||
if (sysInfoBlkT2Opts[0])
|
||||
{
|
||||
@@ -1421,32 +1553,161 @@ RrcAsn1Header::DeserializeRadioResourceConfigCommon (Buffer::Iterator bIterator)
|
||||
}
|
||||
|
||||
Buffer::Iterator
|
||||
RrcAsn1Header::DeserializeRadioResourceConfigCommonSib (Buffer::Iterator bIterator)
|
||||
RrcAsn1Header::DeserializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceConfigCommonSib * radioResourceConfigCommonSib, Buffer::Iterator bIterator)
|
||||
{
|
||||
std::bitset<0> bitset0;
|
||||
int n;
|
||||
|
||||
|
||||
bIterator = DeserializeSequence (&bitset0,true,bIterator);
|
||||
// rach-ConfigCommon
|
||||
bIterator = DeserializeSequence (&bitset0,true,bIterator);
|
||||
// preambleInfo
|
||||
std::bitset<1> preamblesGroupAConfigPresent;
|
||||
bIterator = DeserializeSequence (&preamblesGroupAConfigPresent,false,bIterator);
|
||||
bIterator = DeserializeEnum (16,&n,bIterator); // numberOfRA-Preambles
|
||||
|
||||
// numberOfRA-Preambles
|
||||
bIterator = DeserializeEnum (16,&n,bIterator);
|
||||
switch(n)
|
||||
{
|
||||
case 0:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 4;
|
||||
break;
|
||||
case 1:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 8;
|
||||
break;
|
||||
case 2:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 12;
|
||||
break;
|
||||
case 3:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 16;
|
||||
break;
|
||||
case 4:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 20;
|
||||
break;
|
||||
case 5:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 24;
|
||||
break;
|
||||
case 6:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 28;
|
||||
break;
|
||||
case 7:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 32;
|
||||
break;
|
||||
case 8:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 36;
|
||||
break;
|
||||
case 9:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 40;
|
||||
break;
|
||||
case 10:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 44;
|
||||
break;
|
||||
case 11:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 48;
|
||||
break;
|
||||
case 12:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 52;
|
||||
break;
|
||||
case 13:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 56;
|
||||
break;
|
||||
case 14:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 60;
|
||||
break;
|
||||
case 15:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 64;
|
||||
break;
|
||||
default:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = 0;
|
||||
}
|
||||
|
||||
radioResourceConfigCommonSib->rachConfigCommon.preambleInfo.numberOfRaPreambles = n;
|
||||
|
||||
if (preamblesGroupAConfigPresent[0])
|
||||
{
|
||||
// Deserialize preamblesGroupAConfig
|
||||
// ...
|
||||
}
|
||||
|
||||
// powerRampingParameters
|
||||
bIterator = DeserializeSequence (&bitset0,false,bIterator);
|
||||
bIterator = DeserializeEnum (4,&n,bIterator); // powerRampingStep
|
||||
bIterator = DeserializeEnum (16,&n,bIterator); // preambleInitialReceivedTargetPower
|
||||
|
||||
// ra-SupervisionInfo
|
||||
bIterator = DeserializeSequence (&bitset0,false,bIterator);
|
||||
bIterator = DeserializeEnum (11,&n,bIterator); // preambleTransMax
|
||||
bIterator = DeserializeEnum (8,&n,bIterator); // ra-ResponseWindowSize
|
||||
switch(n)
|
||||
{
|
||||
case 0:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 3;
|
||||
break;
|
||||
case 1:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 4;
|
||||
break;
|
||||
case 2:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 5;
|
||||
break;
|
||||
case 3:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 6;
|
||||
break;
|
||||
case 4:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 7;
|
||||
break;
|
||||
case 5:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 8;
|
||||
break;
|
||||
case 6:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 10;
|
||||
break;
|
||||
case 7:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 20;
|
||||
break;
|
||||
case 8:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 50;
|
||||
break;
|
||||
case 9:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 100;
|
||||
break;
|
||||
case 10:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 200;
|
||||
break;
|
||||
default:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.preambleTransMax = 0;
|
||||
}
|
||||
|
||||
// ra-ResponseWindowSize
|
||||
bIterator = DeserializeEnum (8,&n,bIterator);
|
||||
switch(n)
|
||||
{
|
||||
case 0:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 2;
|
||||
break;
|
||||
case 1:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 3;
|
||||
break;
|
||||
case 2:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 4;
|
||||
break;
|
||||
case 3:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 5;
|
||||
break;
|
||||
case 4:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 6;
|
||||
break;
|
||||
case 5:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 7;
|
||||
break;
|
||||
case 6:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 8;
|
||||
break;
|
||||
case 7:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 10;
|
||||
break;
|
||||
default:
|
||||
radioResourceConfigCommonSib->rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 0;
|
||||
}
|
||||
|
||||
bIterator = DeserializeEnum (8,&n,bIterator); // mac-ContentionResolutionTimer
|
||||
|
||||
bIterator = DeserializeInteger (&n,1,8,bIterator); //maxHARQ-Msg3Tx
|
||||
@@ -1844,13 +2105,13 @@ RrcConnectionRequestHeader::GetMessage () const
|
||||
}
|
||||
|
||||
std::bitset<8>
|
||||
RrcConnectionRequestHeader::getMmec () const
|
||||
RrcConnectionRequestHeader::GetMmec () const
|
||||
{
|
||||
return m_mmec;
|
||||
}
|
||||
|
||||
std::bitset<32>
|
||||
RrcConnectionRequestHeader::getMtmsi () const
|
||||
RrcConnectionRequestHeader::GetMtmsi () const
|
||||
{
|
||||
return m_mTmsi;
|
||||
}
|
||||
@@ -1861,6 +2122,10 @@ RrcConnectionSetupHeader::RrcConnectionSetupHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
RrcConnectionSetupHeader::~RrcConnectionSetupHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionSetupHeader::Print (std::ostream &os) const
|
||||
{
|
||||
@@ -1972,7 +2237,7 @@ RrcConnectionSetupHeader::Deserialize (Buffer::Iterator bIterator)
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionSetupHeader::SetMessage (RrcConnectionSetup msg)
|
||||
RrcConnectionSetupHeader::SetMessage (LteRrcSap::RrcConnectionSetup msg)
|
||||
{
|
||||
rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
|
||||
radioResourceConfigDedicated = msg.radioResourceConfigDedicated;
|
||||
@@ -1982,7 +2247,7 @@ RrcConnectionSetupHeader::SetMessage (RrcConnectionSetup msg)
|
||||
LteRrcSap::RrcConnectionSetup
|
||||
RrcConnectionSetupHeader::GetMessage () const
|
||||
{
|
||||
RrcConnectionSetup msg;
|
||||
LteRrcSap::RrcConnectionSetup msg;
|
||||
msg.rrcTransactionIdentifier = rrcTransactionIdentifier;
|
||||
msg.radioResourceConfigDedicated = radioResourceConfigDedicated;
|
||||
return msg;
|
||||
@@ -2036,6 +2301,10 @@ RrcConnectionSetupCompleteHeader::RrcConnectionSetupCompleteHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
RrcConnectionSetupCompleteHeader::~RrcConnectionSetupCompleteHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionSetupCompleteHeader::PreSerialize () const
|
||||
{
|
||||
@@ -2112,7 +2381,7 @@ RrcConnectionSetupCompleteHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionSetupCompleteHeader::SetMessage (RrcConnectionSetupCompleted msg)
|
||||
RrcConnectionSetupCompleteHeader::SetMessage (LteRrcSap::RrcConnectionSetupCompleted msg)
|
||||
{
|
||||
m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
|
||||
m_isDataSerialized = false;
|
||||
@@ -2138,6 +2407,10 @@ RrcConnectionReconfigurationCompleteHeader::RrcConnectionReconfigurationComplete
|
||||
{
|
||||
}
|
||||
|
||||
RrcConnectionReconfigurationCompleteHeader::~RrcConnectionReconfigurationCompleteHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReconfigurationCompleteHeader::PreSerialize () const
|
||||
{
|
||||
@@ -2199,7 +2472,7 @@ RrcConnectionReconfigurationCompleteHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReconfigurationCompleteHeader::SetMessage (RrcConnectionReconfigurationCompleted msg)
|
||||
RrcConnectionReconfigurationCompleteHeader::SetMessage (LteRrcSap::RrcConnectionReconfigurationCompleted msg)
|
||||
{
|
||||
m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
|
||||
m_isDataSerialized = false;
|
||||
@@ -2208,7 +2481,7 @@ RrcConnectionReconfigurationCompleteHeader::SetMessage (RrcConnectionReconfigura
|
||||
LteRrcSap::RrcConnectionReconfigurationCompleted
|
||||
RrcConnectionReconfigurationCompleteHeader::GetMessage () const
|
||||
{
|
||||
RrcConnectionReconfigurationCompleted msg;
|
||||
LteRrcSap::RrcConnectionReconfigurationCompleted msg;
|
||||
msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
|
||||
return msg;
|
||||
}
|
||||
@@ -2225,6 +2498,10 @@ RrcConnectionReconfigurationHeader::RrcConnectionReconfigurationHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
RrcConnectionReconfigurationHeader::~RrcConnectionReconfigurationHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReconfigurationHeader::PreSerialize () const
|
||||
{
|
||||
@@ -2677,7 +2954,7 @@ RrcConnectionReconfigurationHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReconfigurationHeader::SetMessage (RrcConnectionReconfiguration msg)
|
||||
RrcConnectionReconfigurationHeader::SetMessage (LteRrcSap::RrcConnectionReconfiguration msg)
|
||||
{
|
||||
m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
|
||||
m_haveMeasConfig = msg.haveMeasConfig;
|
||||
@@ -2693,7 +2970,7 @@ RrcConnectionReconfigurationHeader::SetMessage (RrcConnectionReconfiguration msg
|
||||
LteRrcSap::RrcConnectionReconfiguration
|
||||
RrcConnectionReconfigurationHeader::GetMessage () const
|
||||
{
|
||||
RrcConnectionReconfiguration msg;
|
||||
LteRrcSap::RrcConnectionReconfiguration msg;
|
||||
|
||||
msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
|
||||
msg.haveMeasConfig = m_haveMeasConfig;
|
||||
@@ -2848,7 +3125,8 @@ HandoverPreparationInfoHeader::PreSerialize () const
|
||||
SerializeSystemInformationBlockType1 (m_asConfig.sourceSystemInformationBlockType1);
|
||||
|
||||
// Serialize sourceSystemInformationBlockType2
|
||||
SerializeSystemInformationBlockType2 ();
|
||||
LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2;
|
||||
SerializeSystemInformationBlockType2 (systemInformationBlockType2);
|
||||
|
||||
// Serialize AntennaInfoCommon
|
||||
SerializeSequence (std::bitset<0> (0),false);
|
||||
@@ -2992,7 +3270,7 @@ HandoverPreparationInfoHeader::Deserialize (Buffer::Iterator bIterator)
|
||||
bIterator = DeserializeSystemInformationBlockType1 (&m_asConfig.sourceSystemInformationBlockType1,bIterator);
|
||||
|
||||
// Deserialize sourceSystemInformationBlockType2
|
||||
bIterator = DeserializeSystemInformationBlockType2 (bIterator);
|
||||
bIterator = DeserializeSystemInformationBlockType2 (&m_asConfig.sourceSystemInformationBlockType2,bIterator);
|
||||
|
||||
// Deserialize antennaInfoCommon
|
||||
bIterator = DeserializeSequence (&bitset0,false,bIterator);
|
||||
@@ -3038,7 +3316,7 @@ HandoverPreparationInfoHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
HandoverPreparationInfoHeader::SetMessage (HandoverPreparationInfo msg)
|
||||
HandoverPreparationInfoHeader::SetMessage (LteRrcSap::HandoverPreparationInfo msg)
|
||||
{
|
||||
m_asConfig = msg.asConfig;
|
||||
m_isDataSerialized = false;
|
||||
@@ -3047,7 +3325,7 @@ HandoverPreparationInfoHeader::SetMessage (HandoverPreparationInfo msg)
|
||||
LteRrcSap::HandoverPreparationInfo
|
||||
HandoverPreparationInfoHeader::GetMessage () const
|
||||
{
|
||||
HandoverPreparationInfo msg;
|
||||
LteRrcSap::HandoverPreparationInfo msg;
|
||||
msg.asConfig = m_asConfig;
|
||||
|
||||
return msg;
|
||||
@@ -3065,6 +3343,10 @@ RrcConnectionReestablishmentRequestHeader::RrcConnectionReestablishmentRequestHe
|
||||
{
|
||||
}
|
||||
|
||||
RrcConnectionReestablishmentRequestHeader::~RrcConnectionReestablishmentRequestHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReestablishmentRequestHeader::PreSerialize () const
|
||||
{
|
||||
@@ -3096,13 +3378,13 @@ RrcConnectionReestablishmentRequestHeader::PreSerialize () const
|
||||
// Serialize ReestablishmentCause
|
||||
switch (m_reestablishmentCause)
|
||||
{
|
||||
case RECONFIGURATION_FAILURE:
|
||||
case LteRrcSap::RECONFIGURATION_FAILURE:
|
||||
SerializeEnum (4,0);
|
||||
break;
|
||||
case HANDOVER_FAILURE:
|
||||
case LteRrcSap::HANDOVER_FAILURE:
|
||||
SerializeEnum (4,1);
|
||||
break;
|
||||
case OTHER_FAILURE:
|
||||
case LteRrcSap::OTHER_FAILURE:
|
||||
SerializeEnum (4,2);
|
||||
break;
|
||||
default:
|
||||
@@ -3163,13 +3445,13 @@ RrcConnectionReestablishmentRequestHeader::Deserialize (Buffer::Iterator bIterat
|
||||
switch (reestCs)
|
||||
{
|
||||
case 0:
|
||||
m_reestablishmentCause = RECONFIGURATION_FAILURE;
|
||||
m_reestablishmentCause = LteRrcSap::RECONFIGURATION_FAILURE;
|
||||
break;
|
||||
case 1:
|
||||
m_reestablishmentCause = HANDOVER_FAILURE;
|
||||
m_reestablishmentCause = LteRrcSap::HANDOVER_FAILURE;
|
||||
break;
|
||||
case 2:
|
||||
m_reestablishmentCause = OTHER_FAILURE;
|
||||
m_reestablishmentCause = LteRrcSap::OTHER_FAILURE;
|
||||
break;
|
||||
case 3:
|
||||
break;
|
||||
@@ -3192,7 +3474,7 @@ RrcConnectionReestablishmentRequestHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReestablishmentRequestHeader::SetMessage (RrcConnectionReestablishmentRequest msg)
|
||||
RrcConnectionReestablishmentRequestHeader::SetMessage (LteRrcSap::RrcConnectionReestablishmentRequest msg)
|
||||
{
|
||||
m_ueIdentity = msg.ueIdentity;
|
||||
m_reestablishmentCause = msg.reestablishmentCause;
|
||||
@@ -3202,7 +3484,7 @@ RrcConnectionReestablishmentRequestHeader::SetMessage (RrcConnectionReestablishm
|
||||
LteRrcSap::RrcConnectionReestablishmentRequest
|
||||
RrcConnectionReestablishmentRequestHeader::GetMessage () const
|
||||
{
|
||||
RrcConnectionReestablishmentRequest msg;
|
||||
LteRrcSap::RrcConnectionReestablishmentRequest msg;
|
||||
msg.ueIdentity = m_ueIdentity;
|
||||
msg.reestablishmentCause = m_reestablishmentCause;
|
||||
|
||||
@@ -3227,6 +3509,10 @@ RrcConnectionReestablishmentHeader::RrcConnectionReestablishmentHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
RrcConnectionReestablishmentHeader::~RrcConnectionReestablishmentHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReestablishmentHeader::PreSerialize () const
|
||||
{
|
||||
@@ -3321,7 +3607,7 @@ RrcConnectionReestablishmentHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReestablishmentHeader::SetMessage (RrcConnectionReestablishment msg)
|
||||
RrcConnectionReestablishmentHeader::SetMessage (LteRrcSap::RrcConnectionReestablishment msg)
|
||||
{
|
||||
m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
|
||||
m_radioResourceConfigDedicated = msg.radioResourceConfigDedicated;
|
||||
@@ -3331,7 +3617,7 @@ RrcConnectionReestablishmentHeader::SetMessage (RrcConnectionReestablishment msg
|
||||
LteRrcSap::RrcConnectionReestablishment
|
||||
RrcConnectionReestablishmentHeader::GetMessage () const
|
||||
{
|
||||
RrcConnectionReestablishment msg;
|
||||
LteRrcSap::RrcConnectionReestablishment msg;
|
||||
msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
|
||||
msg.radioResourceConfigDedicated = m_radioResourceConfigDedicated;
|
||||
return msg;
|
||||
@@ -3427,7 +3713,7 @@ RrcConnectionReestablishmentCompleteHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReestablishmentCompleteHeader::SetMessage (RrcConnectionReestablishmentComplete msg)
|
||||
RrcConnectionReestablishmentCompleteHeader::SetMessage (LteRrcSap::RrcConnectionReestablishmentComplete msg)
|
||||
{
|
||||
m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
|
||||
m_isDataSerialized = false;
|
||||
@@ -3436,7 +3722,7 @@ RrcConnectionReestablishmentCompleteHeader::SetMessage (RrcConnectionReestablish
|
||||
LteRrcSap::RrcConnectionReestablishmentComplete
|
||||
RrcConnectionReestablishmentCompleteHeader::GetMessage () const
|
||||
{
|
||||
RrcConnectionReestablishmentComplete msg;
|
||||
LteRrcSap::RrcConnectionReestablishmentComplete msg;
|
||||
msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
|
||||
return msg;
|
||||
}
|
||||
@@ -3453,6 +3739,10 @@ RrcConnectionReestablishmentRejectHeader::RrcConnectionReestablishmentRejectHead
|
||||
{
|
||||
}
|
||||
|
||||
RrcConnectionReestablishmentRejectHeader::~RrcConnectionReestablishmentRejectHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReestablishmentRejectHeader::PreSerialize () const
|
||||
{
|
||||
@@ -3516,7 +3806,7 @@ RrcConnectionReestablishmentRejectHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReestablishmentRejectHeader::SetMessage (RrcConnectionReestablishmentReject msg)
|
||||
RrcConnectionReestablishmentRejectHeader::SetMessage (LteRrcSap::RrcConnectionReestablishmentReject msg)
|
||||
{
|
||||
m_rrcConnectionReestablishmentReject = msg;
|
||||
m_isDataSerialized = false;
|
||||
@@ -3534,6 +3824,10 @@ RrcConnectionReleaseHeader::RrcConnectionReleaseHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
RrcConnectionReleaseHeader::~RrcConnectionReleaseHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReleaseHeader::PreSerialize () const
|
||||
{
|
||||
@@ -3637,7 +3931,7 @@ RrcConnectionReleaseHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionReleaseHeader::SetMessage (RrcConnectionRelease msg)
|
||||
RrcConnectionReleaseHeader::SetMessage (LteRrcSap::RrcConnectionRelease msg)
|
||||
{
|
||||
m_rrcConnectionRelease = msg;
|
||||
m_isDataSerialized = false;
|
||||
@@ -3655,6 +3949,10 @@ RrcConnectionRejectHeader::RrcConnectionRejectHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
RrcConnectionRejectHeader::~RrcConnectionRejectHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionRejectHeader::PreSerialize () const
|
||||
{
|
||||
@@ -3741,7 +4039,7 @@ RrcConnectionRejectHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
RrcConnectionRejectHeader::SetMessage (RrcConnectionReject msg)
|
||||
RrcConnectionRejectHeader::SetMessage (LteRrcSap::RrcConnectionReject msg)
|
||||
{
|
||||
m_rrcConnectionReject = msg;
|
||||
m_isDataSerialized = false;
|
||||
@@ -3759,6 +4057,10 @@ MeasurementReportHeader::MeasurementReportHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
MeasurementReportHeader::~MeasurementReportHeader ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
MeasurementReportHeader::PreSerialize () const
|
||||
{
|
||||
@@ -3886,7 +4188,7 @@ MeasurementReportHeader::Print (std::ostream &os) const
|
||||
}
|
||||
|
||||
void
|
||||
MeasurementReportHeader::SetMessage (MeasurementReport msg)
|
||||
MeasurementReportHeader::SetMessage (LteRrcSap::MeasurementReport msg)
|
||||
{
|
||||
m_measurementReport = msg;
|
||||
m_isDataSerialized = false;
|
||||
@@ -3895,7 +4197,7 @@ MeasurementReportHeader::SetMessage (MeasurementReport msg)
|
||||
LteRrcSap::MeasurementReport
|
||||
MeasurementReportHeader::GetMessage () const
|
||||
{
|
||||
MeasurementReport msg;
|
||||
LteRrcSap::MeasurementReport msg;
|
||||
msg = m_measurementReport;
|
||||
return msg;
|
||||
}
|
||||
|
||||
@@ -42,17 +42,21 @@ public:
|
||||
int GetMessageType ();
|
||||
|
||||
protected:
|
||||
// Serialization functions
|
||||
// Inherited from Asn1Header
|
||||
static TypeId GetTypeId (void);
|
||||
virtual TypeId GetInstanceTypeId (void) const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator) = 0;
|
||||
virtual void PreSerialize (void) const = 0;
|
||||
|
||||
// Serialization functions
|
||||
void SerializeSrbToAddModList (std::list<LteRrcSap::SrbToAddMod> srbToAddModList) const;
|
||||
void SerializeDrbToAddModList (std::list<LteRrcSap::DrbToAddMod> drbToAddModList) const;
|
||||
void SerializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig logicalChannelConfig) const;
|
||||
void SerializeRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
|
||||
void SerializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated) const;
|
||||
void SerializeSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const;
|
||||
void SerializeSystemInformationBlockType2 () const;
|
||||
void SerializeRadioResourceConfigCommonSIB () const;
|
||||
void SerializeSystemInformationBlockType2 (LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2) const;
|
||||
void SerializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceConfigCommonSib radioResourceConfigCommonSib) const;
|
||||
void SerializeMeasResults (LteRrcSap::MeasResults measResults) const;
|
||||
void SerializePlmnIdentity (uint32_t plmnId) const;
|
||||
|
||||
@@ -63,14 +67,20 @@ protected:
|
||||
Buffer::Iterator DeserializeRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated *radioResourceConfigDedicated, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedicated *physicalConfigDedicated, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 *systemInformationBlockType1, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeSystemInformationBlockType2 (Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeSystemInformationBlockType2 (LteRrcSap::SystemInformationBlockType2 *systemInformationBlockType2, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeRadioResourceConfigCommon (Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeRadioResourceConfigCommonSib (Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceConfigCommonSib *radioResourceConfigCommonSib, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeMeasResults (LteRrcSap::MeasResults *measResults, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializePlmnIdentity (uint32_t *plmnId, Buffer::Iterator bIterator);
|
||||
|
||||
/**
|
||||
* This function prints RadioResourceConfigDedicated IE, for debugging purposes.
|
||||
* @param os The output stream to use (i.e. std::cout)
|
||||
* @param radioResourceConfigDedicated The information element to be printed
|
||||
*/
|
||||
void Print (std::ostream &os, LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
|
||||
|
||||
/// Stores RRC message type, according to 3GPP TS 36.331
|
||||
int m_messageType;
|
||||
};
|
||||
|
||||
@@ -82,11 +92,15 @@ protected:
|
||||
class RrcUlDcchMessage : public RrcAsn1Header
|
||||
{
|
||||
public:
|
||||
RrcUlDcchMessage();
|
||||
~RrcUlDcchMessage();
|
||||
RrcUlDcchMessage ();
|
||||
~RrcUlDcchMessage ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void PreSerialize () const;
|
||||
|
||||
protected:
|
||||
void SerializeUlDcchMessage (int msgType) const;
|
||||
Buffer::Iterator DeserializeUlDcchMessage (Buffer::Iterator bIterator);
|
||||
};
|
||||
@@ -98,11 +112,15 @@ public:
|
||||
class RrcDlDcchMessage : public RrcAsn1Header
|
||||
{
|
||||
public:
|
||||
RrcDlDcchMessage();
|
||||
~RrcDlDcchMessage();
|
||||
RrcDlDcchMessage ();
|
||||
~RrcDlDcchMessage ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void PreSerialize () const;
|
||||
|
||||
protected:
|
||||
void SerializeDlDcchMessage (int msgType) const;
|
||||
Buffer::Iterator DeserializeDlDcchMessage (Buffer::Iterator bIterator);
|
||||
};
|
||||
@@ -116,9 +134,13 @@ class RrcUlCcchMessage : public RrcAsn1Header
|
||||
public:
|
||||
RrcUlCcchMessage ();
|
||||
~RrcUlCcchMessage ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void PreSerialize () const;
|
||||
|
||||
protected:
|
||||
void SerializeUlCcchMessage (int msgType) const;
|
||||
Buffer::Iterator DeserializeUlCcchMessage (Buffer::Iterator bIterator);
|
||||
};
|
||||
@@ -130,11 +152,15 @@ public:
|
||||
class RrcDlCcchMessage : public RrcAsn1Header
|
||||
{
|
||||
public:
|
||||
RrcDlCcchMessage();
|
||||
~RrcDlCcchMessage();
|
||||
RrcDlCcchMessage ();
|
||||
~RrcDlCcchMessage ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void PreSerialize () const;
|
||||
|
||||
protected:
|
||||
void SerializeDlCcchMessage (int msgType) const;
|
||||
Buffer::Iterator DeserializeDlCcchMessage (Buffer::Iterator bIterator);
|
||||
};
|
||||
@@ -145,16 +171,38 @@ public:
|
||||
class RrcConnectionRequestHeader : public RrcUlCcchMessage
|
||||
{
|
||||
public:
|
||||
static TypeId GetTypeId (void);
|
||||
RrcConnectionRequestHeader ();
|
||||
~RrcConnectionRequestHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
static TypeId GetTypeId (void);
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
|
||||
/**
|
||||
* Receives a RrcConnectionRequest IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionRequest msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionRequest IE from the values in the class attributes
|
||||
* @return A RrcConnectionRequest, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionRequest GetMessage () const;
|
||||
std::bitset<8> getMmec () const;
|
||||
std::bitset<32> getMtmsi () const;
|
||||
|
||||
/**
|
||||
* Get MMEC attribute
|
||||
* @return m_mmec attribute
|
||||
*/
|
||||
std::bitset<8> GetMmec () const;
|
||||
|
||||
/**
|
||||
* Get M-TMSI attribute
|
||||
* @return m_tmsi attribute
|
||||
*/
|
||||
std::bitset<32> GetMtmsi () const;
|
||||
|
||||
private:
|
||||
std::bitset<8> m_mmec;
|
||||
@@ -170,16 +218,30 @@ private:
|
||||
/**
|
||||
* This class manages the serialization/deserialization of RrcConnectionSetup IE
|
||||
*/
|
||||
class RrcConnectionSetupHeader : public RrcDlCcchMessage,
|
||||
LteRrcSap
|
||||
class RrcConnectionSetupHeader : public RrcDlCcchMessage
|
||||
{
|
||||
public:
|
||||
RrcConnectionSetupHeader ();
|
||||
~RrcConnectionSetupHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (RrcConnectionSetup msg);
|
||||
RrcConnectionSetup GetMessage () const;
|
||||
|
||||
/**
|
||||
* Receives a RrcConnectionSetup IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionSetup msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionSetup IE from the values in the class attributes
|
||||
* @return A RrcConnectionSetup, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionSetup GetMessage () const;
|
||||
|
||||
|
||||
uint8_t GetRrcTransactionIdentifier () const;
|
||||
bool HavePhysicalConfigDedicated () const;
|
||||
std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList () const;
|
||||
@@ -190,25 +252,41 @@ public:
|
||||
|
||||
private:
|
||||
uint8_t rrcTransactionIdentifier;
|
||||
mutable RadioResourceConfigDedicated radioResourceConfigDedicated;
|
||||
mutable LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated;
|
||||
};
|
||||
|
||||
/**
|
||||
* This class manages the serialization/deserialization of RrcConnectionSetupComplete IE
|
||||
*/
|
||||
class RrcConnectionSetupCompleteHeader : public RrcUlDcchMessage,
|
||||
LteRrcSap
|
||||
class RrcConnectionSetupCompleteHeader : public RrcUlDcchMessage
|
||||
{
|
||||
public:
|
||||
RrcConnectionSetupCompleteHeader ();
|
||||
~RrcConnectionSetupCompleteHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (RrcConnectionSetupCompleted msg);
|
||||
|
||||
/**
|
||||
* Receives a RrcConnectionSetupCompleted IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionSetupCompleted msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionSetupCompleted IE from the values in the class attributes
|
||||
* @return A RrcConnectionSetupCompleted, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionSetupCompleted GetMessage () const;
|
||||
|
||||
/**
|
||||
* Getter for m_rrcTransactionIdentifier
|
||||
* @return m_rrcTransactionIdentifier
|
||||
*/
|
||||
uint8_t GetRrcTransactionIdentifier () const;
|
||||
RrcConnectionSetupCompleted GetMessage () const;
|
||||
|
||||
|
||||
private:
|
||||
uint8_t m_rrcTransactionIdentifier;
|
||||
|
||||
@@ -217,16 +295,33 @@ private:
|
||||
/**
|
||||
* This class manages the serialization/deserialization of RrcConnectionSetupComplete IE
|
||||
*/
|
||||
class RrcConnectionReconfigurationCompleteHeader : public RrcUlDcchMessage,
|
||||
LteRrcSap
|
||||
class RrcConnectionReconfigurationCompleteHeader : public RrcUlDcchMessage
|
||||
{
|
||||
public:
|
||||
RrcConnectionReconfigurationCompleteHeader ();
|
||||
~RrcConnectionReconfigurationCompleteHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (RrcConnectionReconfigurationCompleted msg);
|
||||
RrcConnectionReconfigurationCompleted GetMessage () const;
|
||||
|
||||
/**
|
||||
* Receives a RrcConnectionReconfigurationCompleted IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionReconfigurationCompleted msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionReconfigurationCompleted IE from the values in the class attributes
|
||||
* @return A RrcConnectionReconfigurationCompleted, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionReconfigurationCompleted GetMessage () const;
|
||||
|
||||
/**
|
||||
* Getter for m_rrcTransactionIdentifier
|
||||
* @return m_rrcTransactionIdentifier
|
||||
*/
|
||||
uint8_t GetRrcTransactionIdentifier () const;
|
||||
|
||||
private:
|
||||
@@ -237,24 +332,70 @@ private:
|
||||
/**
|
||||
* This class manages the serialization/deserialization of RrcConnectionReconfiguration IE
|
||||
*/
|
||||
class RrcConnectionReconfigurationHeader : public RrcDlDcchMessage,
|
||||
LteRrcSap
|
||||
class RrcConnectionReconfigurationHeader : public RrcDlDcchMessage
|
||||
{
|
||||
public:
|
||||
RrcConnectionReconfigurationHeader ();
|
||||
~RrcConnectionReconfigurationHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (RrcConnectionReconfiguration msg);
|
||||
|
||||
RrcConnectionReconfiguration GetMessage () const;
|
||||
/**
|
||||
* Receives a RrcConnectionReconfiguration IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionReconfiguration msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionReconfiguration IE from the values in the class attributes
|
||||
* @return A RrcConnectionReconfiguration, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionReconfiguration GetMessage () const;
|
||||
|
||||
/**
|
||||
* Getter for m_rrcTransactionIdentifier
|
||||
* @return m_rrcTransactionIdentifier
|
||||
*/
|
||||
uint8_t GetRrcTransactionIdentifier () const;
|
||||
|
||||
/**
|
||||
* Getter for m_haveMeasConfig
|
||||
* @return m_haveMeasConfig
|
||||
*/
|
||||
bool GetHaveMeasConfig ();
|
||||
MeasConfig GetMeasConfig ();
|
||||
|
||||
/**
|
||||
* Getter for m_measConfig
|
||||
* @return m_measConfig
|
||||
*/
|
||||
LteRrcSap::MeasConfig GetMeasConfig ();
|
||||
|
||||
/**
|
||||
* Getter for m_haveMobilityControlInfo
|
||||
* @return m_haveMobilityControlInfo
|
||||
*/
|
||||
bool GetHaveMobilityControlInfo ();
|
||||
MobilityControlInfo GetMobilityControlInfo ();
|
||||
|
||||
/**
|
||||
* Getter for m_mobilityControlInfo
|
||||
* @return m_mobilityControlInfo
|
||||
*/
|
||||
LteRrcSap::MobilityControlInfo GetMobilityControlInfo ();
|
||||
|
||||
/**
|
||||
* Getter for m_haveRadioResourceConfigDedicated
|
||||
* @return m_haveRadioResourceConfigDedicated
|
||||
*/
|
||||
bool GetHaveRadioResourceConfigDedicated ();
|
||||
RadioResourceConfigDedicated GetRadioResourceConfigDedicated ();
|
||||
|
||||
/**
|
||||
* Getter for m_radioResourceConfigDedicated
|
||||
* @return m_radioResourceConfigDedicated
|
||||
*/
|
||||
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated ();
|
||||
|
||||
// RadioResourceConfigDedicated functions
|
||||
bool HavePhysicalConfigDedicated () const;
|
||||
@@ -266,89 +407,163 @@ public:
|
||||
private:
|
||||
uint8_t m_rrcTransactionIdentifier;
|
||||
bool m_haveMeasConfig;
|
||||
MeasConfig m_measConfig;
|
||||
LteRrcSap::MeasConfig m_measConfig;
|
||||
bool m_haveMobilityControlInfo;
|
||||
MobilityControlInfo m_mobilityControlInfo;
|
||||
LteRrcSap::MobilityControlInfo m_mobilityControlInfo;
|
||||
bool m_haveRadioResourceConfigDedicated;
|
||||
RadioResourceConfigDedicated m_radioResourceConfigDedicated;
|
||||
LteRrcSap::RadioResourceConfigDedicated m_radioResourceConfigDedicated;
|
||||
};
|
||||
|
||||
/**
|
||||
* This class manages the serialization/deserialization of HandoverPreparationInfo IE
|
||||
*/
|
||||
class HandoverPreparationInfoHeader : public RrcAsn1Header,
|
||||
LteRrcSap
|
||||
class HandoverPreparationInfoHeader : public RrcAsn1Header
|
||||
{
|
||||
public:
|
||||
HandoverPreparationInfoHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (HandoverPreparationInfo msg);
|
||||
|
||||
HandoverPreparationInfo GetMessage () const;
|
||||
AsConfig GetAsConfig () const;
|
||||
/**
|
||||
* Receives a HandoverPreparationInfo IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::HandoverPreparationInfo msg);
|
||||
|
||||
/**
|
||||
* Returns a HandoverPreparationInfo IE from the values in the class attributes
|
||||
* @return A HandoverPreparationInfo, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::HandoverPreparationInfo GetMessage () const;
|
||||
|
||||
/**
|
||||
* Getter for m_asConfig
|
||||
* @return m_asConfig
|
||||
*/
|
||||
LteRrcSap::AsConfig GetAsConfig () const;
|
||||
|
||||
private:
|
||||
AsConfig m_asConfig;
|
||||
LteRrcSap::AsConfig m_asConfig;
|
||||
};
|
||||
|
||||
/**
|
||||
* This class manages the serialization/deserialization of RRCConnectionReestablishmentRequest IE
|
||||
*/
|
||||
class RrcConnectionReestablishmentRequestHeader : public RrcUlCcchMessage,
|
||||
LteRrcSap
|
||||
class RrcConnectionReestablishmentRequestHeader : public RrcUlCcchMessage
|
||||
{
|
||||
public:
|
||||
RrcConnectionReestablishmentRequestHeader ();
|
||||
~RrcConnectionReestablishmentRequestHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (RrcConnectionReestablishmentRequest msg);
|
||||
RrcConnectionReestablishmentRequest GetMessage () const;
|
||||
|
||||
ReestabUeIdentity GetUeIdentity () const;
|
||||
ReestablishmentCause GetReestablishmentCause () const;
|
||||
/**
|
||||
* Receives a RrcConnectionReestablishmentRequest IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionReestablishmentRequest msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionReestablishmentRequest IE from the values in the class attributes
|
||||
* @return A RrcConnectionReestablishmentRequest, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionReestablishmentRequest GetMessage () const;
|
||||
|
||||
/**
|
||||
* Getter for m_ueIdentity
|
||||
* @return m_ueIdentity
|
||||
*/
|
||||
LteRrcSap::ReestabUeIdentity GetUeIdentity () const;
|
||||
|
||||
/**
|
||||
* Getter for m_reestablishmentCause
|
||||
* @return m_reestablishmentCause
|
||||
*/
|
||||
LteRrcSap::ReestablishmentCause GetReestablishmentCause () const;
|
||||
|
||||
private:
|
||||
ReestabUeIdentity m_ueIdentity;
|
||||
ReestablishmentCause m_reestablishmentCause;
|
||||
LteRrcSap::ReestabUeIdentity m_ueIdentity;
|
||||
LteRrcSap::ReestablishmentCause m_reestablishmentCause;
|
||||
};
|
||||
|
||||
/**
|
||||
* This class manages the serialization/deserialization of RrcConnectionReestablishment IE
|
||||
*/
|
||||
class RrcConnectionReestablishmentHeader : public RrcDlCcchMessage,
|
||||
LteRrcSap
|
||||
class RrcConnectionReestablishmentHeader : public RrcDlCcchMessage
|
||||
{
|
||||
public:
|
||||
RrcConnectionReestablishmentHeader ();
|
||||
~RrcConnectionReestablishmentHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (RrcConnectionReestablishment msg);
|
||||
RrcConnectionReestablishment GetMessage () const;
|
||||
|
||||
/**
|
||||
* Receives a RrcConnectionReestablishment IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionReestablishment msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionReestablishment IE from the values in the class attributes
|
||||
* @return A RrcConnectionReestablishment, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionReestablishment GetMessage () const;
|
||||
|
||||
/**
|
||||
* Getter for m_rrcTransactionIdentifier attribute
|
||||
* @return m_rrcTransactionIdentifier
|
||||
*/
|
||||
uint8_t GetRrcTransactionIdentifier () const;
|
||||
RadioResourceConfigDedicated GetRadioResourceConfigDedicated () const;
|
||||
|
||||
/**
|
||||
* Getter for m_radioResourceConfigDedicated attribute
|
||||
* @return m_radioResourceConfigDedicated
|
||||
*/
|
||||
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated () const;
|
||||
|
||||
private:
|
||||
uint8_t m_rrcTransactionIdentifier;
|
||||
RadioResourceConfigDedicated m_radioResourceConfigDedicated;
|
||||
LteRrcSap::RadioResourceConfigDedicated m_radioResourceConfigDedicated;
|
||||
};
|
||||
|
||||
/**
|
||||
* This class manages the serialization/deserialization of RrcConnectionReestablishmentComplete IE
|
||||
*/
|
||||
class RrcConnectionReestablishmentCompleteHeader : public RrcUlDcchMessage,
|
||||
LteRrcSap
|
||||
class RrcConnectionReestablishmentCompleteHeader : public RrcUlDcchMessage
|
||||
{
|
||||
public:
|
||||
RrcConnectionReestablishmentCompleteHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (RrcConnectionReestablishmentComplete msg);
|
||||
RrcConnectionReestablishmentComplete GetMessage () const;
|
||||
|
||||
/**
|
||||
* Receives a RrcConnectionReestablishmentComplete IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionReestablishmentComplete msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionReestablishmentComplete IE from the values in the class attributes
|
||||
* @return A RrcConnectionReestablishmentComplete, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionReestablishmentComplete GetMessage () const;
|
||||
|
||||
/**
|
||||
* Getter for m_rrcTransactionIdentifier attribute
|
||||
* @return m_rrcTransactionIdentifier
|
||||
*/
|
||||
uint8_t GetRrcTransactionIdentifier () const;
|
||||
|
||||
private:
|
||||
@@ -358,78 +573,131 @@ private:
|
||||
/**
|
||||
* This class manages the serialization/deserialization of RrcConnectionReestablishmentReject IE
|
||||
*/
|
||||
class RrcConnectionReestablishmentRejectHeader : public RrcDlCcchMessage,
|
||||
LteRrcSap
|
||||
class RrcConnectionReestablishmentRejectHeader : public RrcDlCcchMessage
|
||||
{
|
||||
public:
|
||||
RrcConnectionReestablishmentRejectHeader ();
|
||||
~RrcConnectionReestablishmentRejectHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (RrcConnectionReestablishmentReject msg);
|
||||
RrcConnectionReestablishmentReject GetMessage () const;
|
||||
|
||||
/**
|
||||
* Receives a RrcConnectionReestablishmentReject IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionReestablishmentReject msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionReestablishmentReject IE from the values in the class attributes
|
||||
* @return A RrcConnectionReestablishmentReject, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionReestablishmentReject GetMessage () const;
|
||||
|
||||
private:
|
||||
RrcConnectionReestablishmentReject m_rrcConnectionReestablishmentReject;
|
||||
LteRrcSap::RrcConnectionReestablishmentReject m_rrcConnectionReestablishmentReject;
|
||||
};
|
||||
|
||||
/**
|
||||
* This class manages the serialization/deserialization of RrcConnectionRelease IE
|
||||
*/
|
||||
class RrcConnectionReleaseHeader : public RrcDlDcchMessage,
|
||||
LteRrcSap
|
||||
class RrcConnectionReleaseHeader : public RrcDlDcchMessage
|
||||
{
|
||||
public:
|
||||
RrcConnectionReleaseHeader ();
|
||||
~RrcConnectionReleaseHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (RrcConnectionRelease msg);
|
||||
RrcConnectionRelease GetMessage () const;
|
||||
|
||||
/**
|
||||
* Receives a RrcConnectionRelease IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionRelease msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionRelease IE from the values in the class attributes
|
||||
* @return A RrcConnectionRelease, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionRelease GetMessage () const;
|
||||
|
||||
/**
|
||||
* Getter for m_rrcConnectionRelease attribute
|
||||
* @return m_rrcConnectionRelease
|
||||
*/
|
||||
uint8_t GetRrcTransactionIdentifier () const;
|
||||
|
||||
private:
|
||||
RrcConnectionRelease m_rrcConnectionRelease;
|
||||
LteRrcSap::RrcConnectionRelease m_rrcConnectionRelease;
|
||||
};
|
||||
|
||||
/**
|
||||
* This class manages the serialization/deserialization of RrcConnectionReject IE
|
||||
*/
|
||||
class RrcConnectionRejectHeader : public RrcDlCcchMessage,
|
||||
LteRrcSap
|
||||
class RrcConnectionRejectHeader : public RrcDlCcchMessage
|
||||
{
|
||||
public:
|
||||
RrcConnectionRejectHeader ();
|
||||
~RrcConnectionRejectHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (RrcConnectionReject msg);
|
||||
RrcConnectionReject GetMessage () const;
|
||||
|
||||
/**
|
||||
* Receives a RrcConnectionReject IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::RrcConnectionReject msg);
|
||||
|
||||
/**
|
||||
* Returns a RrcConnectionReject IE from the values in the class attributes
|
||||
* @return A RrcConnectionReject, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::RrcConnectionReject GetMessage () const;
|
||||
|
||||
private:
|
||||
RrcConnectionReject m_rrcConnectionReject;
|
||||
LteRrcSap::RrcConnectionReject m_rrcConnectionReject;
|
||||
};
|
||||
|
||||
/**
|
||||
* This class manages the serialization/deserialization of MeasurementReport IE
|
||||
*/
|
||||
class MeasurementReportHeader : public RrcUlDcchMessage,
|
||||
LteRrcSap
|
||||
class MeasurementReportHeader : public RrcUlDcchMessage
|
||||
{
|
||||
public:
|
||||
MeasurementReportHeader ();
|
||||
~MeasurementReportHeader ();
|
||||
|
||||
// Inherited from RrcAsn1Header
|
||||
void PreSerialize () const;
|
||||
uint32_t Deserialize (Buffer::Iterator bIterator);
|
||||
void Print (std::ostream &os) const;
|
||||
void SetMessage (MeasurementReport msg);
|
||||
MeasurementReport GetMessage () const;
|
||||
|
||||
/**
|
||||
* Receives a MeasurementReport IE and stores the contents into the class attributes
|
||||
* @param msg The information element to parse
|
||||
*/
|
||||
void SetMessage (LteRrcSap::MeasurementReport msg);
|
||||
|
||||
/**
|
||||
* Returns a MeasurementReport IE from the values in the class attributes
|
||||
* @return A MeasurementReport, as defined in LteRrcSap
|
||||
*/
|
||||
LteRrcSap::MeasurementReport GetMessage () const;
|
||||
|
||||
private:
|
||||
MeasurementReport m_measurementReport;
|
||||
LteRrcSap::MeasurementReport m_measurementReport;
|
||||
|
||||
};
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
#endif // EPC_ASN1_HEADER_H
|
||||
#endif // RRC_HEADER_H
|
||||
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* Author: Nicola Baldo <nbaldo@cttc.es>
|
||||
* Authors: Nicola Baldo <nbaldo@cttc.es>
|
||||
* Lluis Parcerisa <lparcerisa@cttc.cat>
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -380,6 +380,7 @@ public:
|
||||
uint16_t sourceUeIdentity;
|
||||
MasterInformationBlock sourceMasterInformationBlock;
|
||||
SystemInformationBlockType1 sourceSystemInformationBlockType1;
|
||||
SystemInformationBlockType2 sourceSystemInformationBlockType2;
|
||||
uint16_t sourceDlCarrierFreq;
|
||||
};
|
||||
|
||||
|
||||
@@ -280,8 +280,8 @@ RrcConnectionRequestTestCase::DoRun (void)
|
||||
TestUtils::LogPacketInfo<RrcConnectionRequestHeader> (destination,"DESTINATION");
|
||||
|
||||
// Check that the destination and source headers contain the same values
|
||||
NS_TEST_ASSERT_MSG_EQ (source.getMmec (),destination.getMmec (), "Different m_mmec!");
|
||||
NS_TEST_ASSERT_MSG_EQ (source.getMtmsi (),destination.getMtmsi (), "Different m_mTmsi!");
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetMmec (),destination.GetMmec (), "Different m_mmec!");
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetMtmsi (),destination.GetMtmsi (), "Different m_mTmsi!");
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user