From a58d3c49f152c27a331da0129a246075b05d3c19 Mon Sep 17 00:00:00 2001 From: Lluis Parcerisa Date: Thu, 31 Jan 2013 13:48:32 +0100 Subject: [PATCH] Add extension marker flag to Serialize/Deserialize Choice --- src/lte/model/lte-asn1-header.cc | 15 ++- src/lte/model/lte-asn1-header.h | 4 +- src/lte/model/lte-rrc-header.cc | 185 ++++++++++++++++--------------- 3 files changed, 109 insertions(+), 95 deletions(-) diff --git a/src/lte/model/lte-asn1-header.cc b/src/lte/model/lte-asn1-header.cc index 159a67bb7..2bceafbe2 100644 --- a/src/lte/model/lte-asn1-header.cc +++ b/src/lte/model/lte-asn1-header.cc @@ -296,8 +296,14 @@ void Asn1Header::SerializeEnum (int numElems, int selectedElem) const SerializeInteger (selectedElem, 0, numElems - 1); } -void Asn1Header::SerializeChoice (int numOptions, int selectedOption) const +void Asn1Header::SerializeChoice (int numOptions, int selectedOption, bool isExtensionMarkerPresent) const { + if(isExtensionMarkerPresent) + { + // Never extended attributes + SerializeBoolean(false); + } + // Clause 23.4 ITU-T X.691 if (numOptions < 2) { @@ -658,8 +664,13 @@ Buffer::Iterator Asn1Header::DeserializeInteger (int *n, int nmin, int nmax, Buf return bIterator; } -Buffer::Iterator Asn1Header::DeserializeChoice (int numOptions, int *selectedOption, Buffer::Iterator bIterator) +Buffer::Iterator Asn1Header::DeserializeChoice (int numOptions, bool isExtensionMarkerPresent, int *selectedOption, Buffer::Iterator bIterator) { + if (isExtensionMarkerPresent) + { + bool marker; + bIterator = DeserializeBoolean (&marker,bIterator); + } return DeserializeInteger (selectedOption,0,numOptions - 1,bIterator); } diff --git a/src/lte/model/lte-asn1-header.h b/src/lte/model/lte-asn1-header.h index 2afdcbdd5..bd34d15ac 100644 --- a/src/lte/model/lte-asn1-header.h +++ b/src/lte/model/lte-asn1-header.h @@ -76,7 +76,7 @@ protected: void SerializeInteger (int n, int nmin, int nmax) const; void SerializeOctetstring (std::string s) const; void SerializeSequenceOf (int numElems, int nMax, int nMin) const; - void SerializeChoice (int numOptions, int selectedOption) const; + void SerializeChoice (int numOptions, int selectedOption, bool isExtensionMarkerPresent) const; void SerializeEnum (int numElems, int selectedElem) const; void SerializeNull () const; void FinalizeSerialization () const; @@ -115,7 +115,7 @@ protected: Buffer::Iterator DeserializeBoolean (bool *value, Buffer::Iterator bIterator); Buffer::Iterator DeserializeInteger (int *n, int nmin, int nmax, Buffer::Iterator bIterator); - Buffer::Iterator DeserializeChoice (int numOptions, int *selectedOption, 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); template diff --git a/src/lte/model/lte-rrc-header.cc b/src/lte/model/lte-rrc-header.cc index 68135d3df..5a894360b 100644 --- a/src/lte/model/lte-rrc-header.cc +++ b/src/lte/model/lte-rrc-header.cc @@ -97,7 +97,7 @@ RrcAsn1Header::SerializeDrbToAddModList (std::list drbTo { case LteRrcSap::RlcConfig::UM_BI_DIRECTIONAL: // Serialize rlc-Config choice - SerializeChoice (4,1); + SerializeChoice (4,1,true); // Serialize UL-UM-RLC SerializeSequence (std::bitset<0> (),false); @@ -111,7 +111,7 @@ RrcAsn1Header::SerializeDrbToAddModList (std::list drbTo case LteRrcSap::RlcConfig::UM_UNI_DIRECTIONAL_UL: // Serialize rlc-Config choice - SerializeChoice (4,2); + SerializeChoice (4,2,true); // Serialize UL-UM-RLC SerializeSequence (std::bitset<0> (),false); @@ -120,7 +120,7 @@ RrcAsn1Header::SerializeDrbToAddModList (std::list drbTo case LteRrcSap::RlcConfig::UM_UNI_DIRECTIONAL_DL: // Serialize rlc-Config choice - SerializeChoice (4,3); + SerializeChoice (4,3,true); // Serialize DL-UM-RLC SerializeSequence (std::bitset<0> (),false); @@ -131,7 +131,7 @@ RrcAsn1Header::SerializeDrbToAddModList (std::list drbTo case LteRrcSap::RlcConfig::AM: default: // Serialize rlc-Config choice - SerializeChoice (4,0); + SerializeChoice (4,0,true); // Serialize UL-AM-RLC SerializeSequence (std::bitset<0> (),false); @@ -177,7 +177,7 @@ RrcAsn1Header::SerializeSrbToAddModList (std::list srbTo // Serialize logicalChannelConfig choice // 2 options, selected option 0 (var "explicitValue", of type LogicalChannelConfig) - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize LogicalChannelConfig SerializeLogicalChannelConfig (it->logicalChannelConfig); @@ -188,12 +188,12 @@ void RrcAsn1Header::SerializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig logicalChannelConfig) const { // Serialize LogicalChannelConfig sequence - // 1 optional field, which is present. No extension marker. - SerializeSequence (std::bitset<1> (1),false); + // 1 optional field (ul-SpecificParameters), which is present. Extension marker present. + SerializeSequence (std::bitset<1> (1),true); // Serialize ul-SpecificParameters sequence - // no optional/default fields. No extension marker. - SerializeSequence (std::bitset<0> (),false); + // 1 optional field (logicalChannelGroup), which is present. No extension marker. + SerializeSequence (std::bitset<1> (1),false); // Serialize priority ::= INTEGER (1..16) SerializeInteger (logicalChannelConfig.priority,1,16); @@ -282,14 +282,14 @@ RrcAsn1Header::SerializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedica switch (physicalConfigDedicated.soundingRsUlConfigDedicated.type) { case LteRrcSap::SoundingRsUlConfigDedicated::RESET: - SerializeChoice (2,0); + SerializeChoice (2,0,false); SerializeNull (); break; case LteRrcSap::SoundingRsUlConfigDedicated::SETUP: default: // 2 options, selected: 1 (setup) - SerializeChoice (2,1); + SerializeChoice (2,1,false); // Serialize setup sequence // 0 optional / default fields, no extension marker. @@ -324,17 +324,18 @@ RrcAsn1Header::SerializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedica { // Serialize antennaInfo choice // 2 options. Selected: 0 ("explicitValue" of type "AntennaInfoDedicated") - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize AntennaInfoDedicated sequence // 1 optional parameter, not present. No extension marker. SerializeSequence (std::bitset<1> (0),false); // Serialize transmissionMode - SerializeEnum (8,physicalConfigDedicated.antennaInfo.transmissionMode); + // Enum values: {tm1, tm2, tm3, tm4, tm5, tm6, tm7, spare1} + SerializeEnum (8,physicalConfigDedicated.antennaInfo.transmissionMode-1); // Serialize ue-TransmitAntennaSelection choice - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize release SerializeNull (); @@ -539,7 +540,7 @@ RrcAsn1Header::SerializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceCo SerializeInteger (0,0,7); // nCS-AN SerializeInteger (0,0,2047); // n1PUCCH-AN // soundingRS-UL-ConfigCommon - SerializeChoice (2,0); + SerializeChoice (2,0,false); SerializeNull (); // release // uplinkPowerControlCommon SerializeSequence (std::bitset<0> (0),false); @@ -633,7 +634,7 @@ RrcAsn1Header::SerializeMeasResults (LteRrcSap::MeasResults measResults) const if (measResults.haveMeasResultNeighCells) { // Serialize Choice = 0 (MeasResultListEUTRA) - SerializeChoice (4,0); + SerializeChoice (4,0,false); // Serialize measResultNeighCells SerializeSequenceOf (measResults.measResultListEutra.size (),MAX_CELL_REPORT,1); @@ -942,7 +943,7 @@ RrcAsn1Header::DeserializeSrbToAddModList (std::list *sr { // Deserialize logicalChannelConfig choice int sel; - bIterator = DeserializeChoice (2,&sel,bIterator); + bIterator = DeserializeChoice (2,false,&sel,bIterator); // Deserialize logicalChannelConfig defaultValue if (sel == 1) @@ -998,7 +999,7 @@ RrcAsn1Header::DeserializeDrbToAddModList (std::list *dr { // Deserialize RLC-Config int chosen; - bIterator = DeserializeChoice (4,&chosen,bIterator); + bIterator = DeserializeChoice (4,true,&chosen,bIterator); int sel; std::bitset<0> bitset0; @@ -1075,15 +1076,14 @@ RrcAsn1Header::DeserializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig int n; // Deserialize LogicalChannelConfig sequence - // 1 optional field, no extension marker. + // 1 optional field, extension marker is present. std::bitset<1> bitset1; - bIterator = DeserializeSequence (&bitset1,false,bIterator); + bIterator = DeserializeSequence (&bitset1,true,bIterator); if (bitset1[0]) { // Deserialize ul-SpecificParameters sequence - std::bitset<0> bitset0; - bIterator = DeserializeSequence (&bitset0,false,bIterator); + bIterator = DeserializeSequence (&bitset1,false,bIterator); // Deserialize priority bIterator = DeserializeInteger (&n,1,16,bIterator); @@ -1152,9 +1152,12 @@ RrcAsn1Header::DeserializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig } logicalChannelConfig->bucketSizeDurationMs = bucketSizeDurationMs; - // Deserialize logicalChannelGroup - bIterator = DeserializeInteger (&n,0,3,bIterator); - logicalChannelConfig->logicalChannelGroup = n; + if (bitset1[0]) + { + // Deserialize logicalChannelGroup + bIterator = DeserializeInteger (&n,0,3,bIterator); + logicalChannelConfig->logicalChannelGroup = n; + } } return bIterator; } @@ -1205,7 +1208,7 @@ RrcAsn1Header::DeserializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedi { // Deserialize soundingRS-UL-ConfigDedicated int sel; - bIterator = DeserializeChoice (2,&sel,bIterator); + bIterator = DeserializeChoice (2,false,&sel,bIterator); if (sel == 0) { @@ -1253,7 +1256,7 @@ RrcAsn1Header::DeserializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedi { // Deserialize antennaInfo int sel; - bIterator = DeserializeChoice (2,&sel,bIterator); + bIterator = DeserializeChoice (2,false,&sel,bIterator); if (sel == 1) { bIterator = DeserializeNull (bIterator); @@ -1265,7 +1268,7 @@ RrcAsn1Header::DeserializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedi int txmode; bIterator = DeserializeEnum (8,&txmode,bIterator); - physicalConfigDedicated->antennaInfo.transmissionMode = txmode; + physicalConfigDedicated->antennaInfo.transmissionMode = txmode+1; if (codebookSubsetRestrictionPresent[0]) { @@ -1274,7 +1277,7 @@ RrcAsn1Header::DeserializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedi } int txantennaselchosen; - bIterator = DeserializeChoice (2,&txantennaselchosen,bIterator); + bIterator = DeserializeChoice (2,false,&txantennaselchosen,bIterator); if (txantennaselchosen == 0) { // Deserialize ue-TransmitAntennaSelection release @@ -1897,7 +1900,7 @@ RrcAsn1Header::DeserializeRadioResourceConfigCommonSib (LteRrcSap::RadioResource // soundingRS-UL-ConfigCommon int choice; - bIterator = DeserializeChoice (2,&choice,bIterator); + bIterator = DeserializeChoice (2,false,&choice,bIterator); if (choice == 0) { bIterator = DeserializeNull (bIterator); // release @@ -1957,7 +1960,7 @@ RrcAsn1Header::DeserializeMeasResults (LteRrcSap::MeasResults *measResults, Buff int measResultNeighCellsChoice; // Deserialize measResultNeighCells - bIterator = DeserializeChoice (4,&measResultNeighCellsChoice,bIterator); + bIterator = DeserializeChoice (4,false,&measResultNeighCellsChoice,bIterator); if (measResultNeighCellsChoice == 0) { @@ -2136,7 +2139,7 @@ RrcConnectionRequestHeader::PreSerialize () const // Serialize criticalExtensions choice: // 2 options, selected: 0 (option: rrcConnectionRequest-r8) - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize RRCConnectionRequest-r8-IEs sequence: // no default or optional fields. Extension marker not present. @@ -2144,7 +2147,7 @@ RrcConnectionRequestHeader::PreSerialize () const // Serialize InitialUE-Identity choice: // 2 options, selected: 0 (option: s-TMSI) - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize S-TMSI sequence: // no default or optional fields. Extension marker not present. @@ -2179,13 +2182,13 @@ RrcConnectionRequestHeader::Deserialize (Buffer::Iterator bIterator) bIterator = DeserializeSequence (&optionalOrDefaultMask,false,bIterator); // Deserialize criticalExtensions choice: - bIterator = DeserializeChoice (2,&selectedOption,bIterator); + bIterator = DeserializeChoice (2,false,&selectedOption,bIterator); // Deserialize RRCConnectionRequest-r8-IEs sequence bIterator = DeserializeSequence (&optionalOrDefaultMask,false,bIterator); // Deserialize InitialUE-Identity choice - bIterator = DeserializeChoice (2,&selectedOption,bIterator); + bIterator = DeserializeChoice (2,false,&selectedOption,bIterator); // Deserialize S-TMSI sequence bIterator = DeserializeSequence (&optionalOrDefaultMask,false,bIterator); @@ -2270,11 +2273,11 @@ RrcConnectionSetupHeader::PreSerialize () const // Serialize criticalExtensions choice: // 2 options, selected: 0 (option: c1) - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize c1 choice: // 8 options, selected: 0 (option: rrcConnectionSetup-r8) - SerializeChoice (8,0); + SerializeChoice (8,0,false); // Serialize rrcConnectionSetup-r8 sequence // 1 optional fields (not present). Extension marker not present. @@ -2314,7 +2317,7 @@ RrcConnectionSetupHeader::Deserialize (Buffer::Iterator bIterator) // Deserialize criticalExtensions choice int criticalExtensionChoice; - bIterator = DeserializeChoice (2,&criticalExtensionChoice,bIterator); + bIterator = DeserializeChoice (2,false,&criticalExtensionChoice,bIterator); if (criticalExtensionChoice == 1) { // Deserialize criticalExtensionsFuture @@ -2324,7 +2327,7 @@ RrcConnectionSetupHeader::Deserialize (Buffer::Iterator bIterator) { // Deserialize c1 int c1; - bIterator = DeserializeChoice (8,&c1,bIterator); + bIterator = DeserializeChoice (8,false,&c1,bIterator); if (c1 > 0) { @@ -2440,10 +2443,10 @@ RrcConnectionSetupCompleteHeader::PreSerialize () const // Serialize criticalExtensions choice // 2 options, selected 0 (c1) - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Choose spare3 NULL - SerializeChoice (4,1); + SerializeChoice (4,1,false); // Serialize spare3 NULL SerializeNull (); @@ -2465,7 +2468,7 @@ RrcConnectionSetupCompleteHeader::Deserialize (Buffer::Iterator bIterator) bIterator = DeserializeInteger (&n,0,3,bIterator); m_rrcTransactionIdentifier = n; - bIterator = DeserializeChoice (2,&n,bIterator); + bIterator = DeserializeChoice (2,false,&n,bIterator); if (n == 1) { @@ -2476,7 +2479,7 @@ RrcConnectionSetupCompleteHeader::Deserialize (Buffer::Iterator bIterator) { // Deserialize c1 int c1Chosen; - bIterator = DeserializeChoice (4,&c1Chosen,bIterator); + bIterator = DeserializeChoice (4,false,&c1Chosen,bIterator); if (c1Chosen == 0) { @@ -2546,7 +2549,7 @@ RrcConnectionReconfigurationCompleteHeader::PreSerialize () const // Serialize criticalExtensions choice // 2 options, selected 1 (criticalExtensionsFuture) - SerializeChoice (2,1); + SerializeChoice (2,1,false); // Choose criticalExtensionsFuture SerializeSequence (std::bitset<0> (),false); @@ -2567,7 +2570,7 @@ RrcConnectionReconfigurationCompleteHeader::Deserialize (Buffer::Iterator bItera bIterator = DeserializeInteger (&n,0,3,bIterator); m_rrcTransactionIdentifier = n; - bIterator = DeserializeChoice (2,&n,bIterator); + bIterator = DeserializeChoice (2,false,&n,bIterator); if (n == 1) { @@ -2636,11 +2639,11 @@ RrcConnectionReconfigurationHeader::PreSerialize () const // Serialize criticalExtensions choice // 2 options, selected 0 (c1) - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize c1 choice // 8 options, selected 0 (rrcConnectionReconfiguration-r8) - SerializeChoice (8,0); + SerializeChoice (8,0,false); // Serialize RRCConnectionReconfiguration-r8-IEs sequence: // 6 optional fields. Extension marker not present. @@ -2783,7 +2786,7 @@ RrcConnectionReconfigurationHeader::Deserialize (Buffer::Iterator bIterator) // criticalExtensions int sel; - bIterator = DeserializeChoice (2,&sel,bIterator); + bIterator = DeserializeChoice (2,false,&sel,bIterator); if (sel == 1) { // criticalExtensionsFuture @@ -2793,7 +2796,7 @@ RrcConnectionReconfigurationHeader::Deserialize (Buffer::Iterator bIterator) { // c1 int c1Chosen; - bIterator = DeserializeChoice (8,&c1Chosen,bIterator); + bIterator = DeserializeChoice (8,false,&c1Chosen,bIterator); if (c1Chosen > 0) { bIterator = DeserializeNull (bIterator); @@ -3163,11 +3166,11 @@ HandoverPreparationInfoHeader::PreSerialize () const // Serialize criticalExtensions choice // 2 options, selected 0 (c1) - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize c1 choice // 8 options, selected 0 (handoverPreparationInformation-r8) - SerializeChoice (8,0); + SerializeChoice (8,0,false); // Serialize HandoverPreparationInformation-r8-IEs sequence // 4 optional fields, no extension marker. @@ -3240,7 +3243,7 @@ HandoverPreparationInfoHeader::Deserialize (Buffer::Iterator bIterator) // Deserialize criticalExtensions choice int criticalExtensionsChosen; - bIterator = DeserializeChoice (2,&criticalExtensionsChosen,bIterator); + bIterator = DeserializeChoice (2,false,&criticalExtensionsChosen,bIterator); if (criticalExtensionsChosen == 1) { @@ -3251,7 +3254,7 @@ HandoverPreparationInfoHeader::Deserialize (Buffer::Iterator bIterator) { // Deserialize c1 choice int c1Chosen; - bIterator = DeserializeChoice (8,&c1Chosen,bIterator); + bIterator = DeserializeChoice (8,false,&c1Chosen,bIterator); if (c1Chosen > 0) { bIterator = DeserializeNull (bIterator); @@ -3449,7 +3452,7 @@ RrcConnectionReestablishmentRequestHeader::PreSerialize () const // Serialize criticalExtensions choice // chosen: rrcConnectionReestablishmentRequest-r8 - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize RRCConnectionReestablishmentRequest-r8-IEs sequence // no default or optional fields. Extension marker not present. @@ -3500,7 +3503,7 @@ RrcConnectionReestablishmentRequestHeader::Deserialize (Buffer::Iterator bIterat bIterator = DeserializeSequence (&bitset0,false,bIterator); // Deserialize criticalExtensions choice - bIterator = DeserializeChoice (2,&n,bIterator); + bIterator = DeserializeChoice (2,false,&n,bIterator); if ( n == 1) { // Deserialize criticalExtensionsFuture @@ -3617,10 +3620,10 @@ RrcConnectionReestablishmentHeader::PreSerialize () const SerializeInteger (m_rrcTransactionIdentifier,0,3); // Serialize criticalExtensions choice - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize c1 choice - SerializeChoice (8,0); + SerializeChoice (8,0,false); // Serialize RRCConnectionReestablishment-r8-IEs sequence // 1 optional field, no extension marker @@ -3654,7 +3657,7 @@ RrcConnectionReestablishmentHeader::Deserialize (Buffer::Iterator bIterator) // Deserialize criticalExtensions choice int criticalExtensionsChoice; - bIterator = DeserializeChoice (2,&criticalExtensionsChoice,bIterator); + bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator); if (criticalExtensionsChoice == 1) { // Deserialize criticalExtensionsFuture @@ -3664,7 +3667,7 @@ RrcConnectionReestablishmentHeader::Deserialize (Buffer::Iterator bIterator) { // Deserialize c1 int c1; - bIterator = DeserializeChoice (8,&c1,bIterator); + bIterator = DeserializeChoice (8,false,&c1,bIterator); if (c1 > 0) { bIterator = DeserializeNull (bIterator); @@ -3746,7 +3749,7 @@ RrcConnectionReestablishmentCompleteHeader::PreSerialize () const SerializeInteger (m_rrcTransactionIdentifier,0,3); // Serialize criticalExtensions choice - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize rrcConnectionReestablishmentComplete-r8 sequence // 1 optional field (not present), no extension marker. @@ -3774,7 +3777,7 @@ RrcConnectionReestablishmentCompleteHeader::Deserialize (Buffer::Iterator bItera // Deserialize criticalExtensions choice int criticalExtensionsChoice; - bIterator = DeserializeChoice (2,&criticalExtensionsChoice,bIterator); + bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator); if (criticalExtensionsChoice == 1) { // Deserialize criticalExtensionsFuture @@ -3845,7 +3848,7 @@ RrcConnectionReestablishmentRejectHeader::PreSerialize () const SerializeSequence (std::bitset<0> (),false); // Serialize criticalExtensions choice - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize RRCConnectionReestablishmentReject-r8-IEs sequence // 1 optional field (not present), no extension marker. @@ -3868,7 +3871,7 @@ RrcConnectionReestablishmentRejectHeader::Deserialize (Buffer::Iterator bIterato // Deserialize criticalExtensions choice int criticalExtensionsChoice; - bIterator = DeserializeChoice (2,&criticalExtensionsChoice,bIterator); + bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator); if (criticalExtensionsChoice == 1) { // Deserialize criticalExtensionsFuture @@ -3933,10 +3936,10 @@ RrcConnectionReleaseHeader::PreSerialize () const SerializeInteger (m_rrcConnectionRelease.rrcTransactionIdentifier,0,3); // Serialize criticalExtensions choice - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize c1 choice - SerializeChoice (4,0); + SerializeChoice (4,0,false); // Serialize RRCConnectionRelease-r8-IEs sequence // 3 optional field (not present), no extension marker. @@ -3967,7 +3970,7 @@ RrcConnectionReleaseHeader::Deserialize (Buffer::Iterator bIterator) // Deserialize criticalExtensions choice int criticalExtensionsChoice; - bIterator = DeserializeChoice (2,&criticalExtensionsChoice,bIterator); + bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator); if (criticalExtensionsChoice == 1) { // Deserialize criticalExtensionsFuture @@ -3977,7 +3980,7 @@ RrcConnectionReleaseHeader::Deserialize (Buffer::Iterator bIterator) { // Deserialize c1 int c1Choice; - bIterator = DeserializeChoice (4,&c1Choice,bIterator); + bIterator = DeserializeChoice (4,false,&c1Choice,bIterator); if (c1Choice == 0) { @@ -4055,10 +4058,10 @@ RrcConnectionRejectHeader::PreSerialize () const SerializeSequence (std::bitset<0> (),false); // Serialize criticalExtensions choice - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize c1 choice - SerializeChoice (4,0); + SerializeChoice (4,0,false); // Serialize rrcConnectionReject-r8 sequence // 1 optional field (not present), no extension marker. @@ -4085,7 +4088,7 @@ RrcConnectionRejectHeader::Deserialize (Buffer::Iterator bIterator) // Deserialize criticalExtensions choice int criticalExtensionsChoice; - bIterator = DeserializeChoice (2,&criticalExtensionsChoice,bIterator); + bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator); if (criticalExtensionsChoice == 1) { // Deserialize criticalExtensionsFuture @@ -4095,7 +4098,7 @@ RrcConnectionRejectHeader::Deserialize (Buffer::Iterator bIterator) { // Deserialize c1 choice int c1Choice; - bIterator = DeserializeChoice (4,&c1Choice,bIterator); + bIterator = DeserializeChoice (4,false,&c1Choice,bIterator); if (c1Choice > 0) { @@ -4164,11 +4167,11 @@ MeasurementReportHeader::PreSerialize () const // Serialize criticalExtensions choice: // c1 chosen - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Serialize c1 choice // measurementReport-r8 chosen - SerializeChoice (8,0); + SerializeChoice (8,0,false); // Serialize MeasurementReport-r8-IEs sequence: // 1 optional fields, not present. Extension marker not present. @@ -4191,7 +4194,7 @@ MeasurementReportHeader::Deserialize (Buffer::Iterator bIterator) bIterator = DeserializeUlDcchMessage (bIterator); int criticalExtensionsChoice; - bIterator = DeserializeChoice (2,&criticalExtensionsChoice,bIterator); + bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator); if (criticalExtensionsChoice == 1) { @@ -4202,7 +4205,7 @@ MeasurementReportHeader::Deserialize (Buffer::Iterator bIterator) { // Deserialize c1 int c1Choice; - bIterator = DeserializeChoice (8,&c1Choice,bIterator); + bIterator = DeserializeChoice (8,false,&c1Choice,bIterator); if (c1Choice > 0) { @@ -4326,7 +4329,7 @@ RrcUlDcchMessage::DeserializeUlDcchMessage (Buffer::Iterator bIterator) int n; bIterator = DeserializeSequence (&bitset0,false,bIterator); - bIterator = DeserializeChoice (2,&n,bIterator); + bIterator = DeserializeChoice (2,false,&n,bIterator); if (n == 1) { // Deserialize messageClassExtension @@ -4336,7 +4339,7 @@ RrcUlDcchMessage::DeserializeUlDcchMessage (Buffer::Iterator bIterator) else if (n == 0) { // Deserialize c1 - bIterator = DeserializeChoice (16,&m_messageType,bIterator); + bIterator = DeserializeChoice (16,false,&m_messageType,bIterator); } return bIterator; @@ -4347,9 +4350,9 @@ RrcUlDcchMessage::SerializeUlDcchMessage (int messageType) const { SerializeSequence (std::bitset<0> (),false); // Choose c1 - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Choose message type - SerializeChoice (16,messageType); + SerializeChoice (16,messageType,false); } /////////////////// RrcDlDcchMessage ////////////////////////////////// @@ -4387,7 +4390,7 @@ RrcDlDcchMessage::DeserializeDlDcchMessage (Buffer::Iterator bIterator) int n; bIterator = DeserializeSequence (&bitset0,false,bIterator); - bIterator = DeserializeChoice (2,&n,bIterator); + bIterator = DeserializeChoice (2,false,&n,bIterator); if (n == 1) { // Deserialize messageClassExtension @@ -4397,7 +4400,7 @@ RrcDlDcchMessage::DeserializeDlDcchMessage (Buffer::Iterator bIterator) else if (n == 0) { // Deserialize c1 - bIterator = DeserializeChoice (16,&m_messageType,bIterator); + bIterator = DeserializeChoice (16,false,&m_messageType,bIterator); } return bIterator; @@ -4408,9 +4411,9 @@ RrcDlDcchMessage::SerializeDlDcchMessage (int messageType) const { SerializeSequence (std::bitset<0> (),false); // Choose c1 - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Choose message type - SerializeChoice (16,messageType); + SerializeChoice (16,messageType,false); } /////////////////// RrcUlCcchMessage ////////////////////////////////// @@ -4448,7 +4451,7 @@ RrcUlCcchMessage::DeserializeUlCcchMessage (Buffer::Iterator bIterator) int n; bIterator = DeserializeSequence (&bitset0,false,bIterator); - bIterator = DeserializeChoice (2,&n,bIterator); + bIterator = DeserializeChoice (2,false,&n,bIterator); if (n == 1) { // Deserialize messageClassExtension @@ -4458,7 +4461,7 @@ RrcUlCcchMessage::DeserializeUlCcchMessage (Buffer::Iterator bIterator) else if (n == 0) { // Deserialize c1 - bIterator = DeserializeChoice (2,&m_messageType,bIterator); + bIterator = DeserializeChoice (2,false,&m_messageType,bIterator); } return bIterator; @@ -4469,9 +4472,9 @@ RrcUlCcchMessage::SerializeUlCcchMessage (int messageType) const { SerializeSequence (std::bitset<0> (),false); // Choose c1 - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Choose message type - SerializeChoice (2,messageType); + SerializeChoice (2,messageType,false); } /////////////////// RrcDlCcchMessage ////////////////////////////////// @@ -4509,7 +4512,7 @@ RrcDlCcchMessage::DeserializeDlCcchMessage (Buffer::Iterator bIterator) int n; bIterator = DeserializeSequence (&bitset0,false,bIterator); - bIterator = DeserializeChoice (2,&n,bIterator); + bIterator = DeserializeChoice (2,false,&n,bIterator); if (n == 1) { // Deserialize messageClassExtension @@ -4519,7 +4522,7 @@ RrcDlCcchMessage::DeserializeDlCcchMessage (Buffer::Iterator bIterator) else if (n == 0) { // Deserialize c1 - bIterator = DeserializeChoice (4,&m_messageType,bIterator); + bIterator = DeserializeChoice (4,false,&m_messageType,bIterator); } return bIterator; @@ -4530,9 +4533,9 @@ RrcDlCcchMessage::SerializeDlCcchMessage (int messageType) const { SerializeSequence (std::bitset<0> (),false); // Choose c1 - SerializeChoice (2,0); + SerializeChoice (2,0,false); // Choose message type - SerializeChoice (4,messageType); + SerializeChoice (4,messageType,false); } } // namespace ns3