src/lte/model/lte-rrc-header.cc
author Peter D. Barnes, Jr. <barnes26@llnl.gov>
Fri, 26 Sep 2014 15:51:00 -0700
changeset 10968 2d29fee2b7b8
parent 10892 3e86fac77082
child 11274 609de51c9b88
permissions -rw-r--r--
[Bug 1551] Redux: NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     2
/*
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     3
 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     4
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     8
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    12
 * GNU General Public License for more details.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    13
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    17
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    18
 * Author: Lluis Parcerisa <lparcerisa@cttc.cat>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    19
 */
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    20
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    21
#include "ns3/log.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    22
#include "ns3/lte-rrc-header.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    23
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    24
#include <stdio.h>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    25
#include <sstream>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    26
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    27
#define MAX_DRB 11 // According to section 6.4 3GPP TS 36.331
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    28
#define MAX_EARFCN 65535
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    29
#define MAX_RAT_CAPABILITIES 8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    30
#define MAX_SI_MESSAGE 32
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    31
#define MAX_SIB 32
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    32
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
    33
#define MAX_REPORT_CONFIG_ID 32
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
    34
#define MAX_OBJECT_ID 32
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
    35
#define MAX_MEAS_ID 32
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
    36
#define MAX_CELL_MEAS 32
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
    37
#define MAX_CELL_REPORT 8
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
    38
10968
2d29fee2b7b8 [Bug 1551] Redux: NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10892
diff changeset
    39
namespace ns3 {
2d29fee2b7b8 [Bug 1551] Redux: NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10892
diff changeset
    40
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    41
NS_LOG_COMPONENT_DEFINE ("RrcHeader");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    42
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    43
//////////////////// RrcAsn1Header class ///////////////////////////////
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    44
RrcAsn1Header::RrcAsn1Header ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    45
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    46
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    47
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    48
TypeId
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    49
RrcAsn1Header::GetTypeId (void)
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    50
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    51
  static TypeId tid = TypeId ("ns3::RrcAsn1Header")
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    52
    .SetParent<Header> ()
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    53
  ;
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    54
  return tid;
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    55
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    56
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    57
TypeId
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    58
RrcAsn1Header::GetInstanceTypeId (void) const
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    59
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    60
  return GetTypeId ();
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    61
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
    62
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    63
int
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    64
RrcAsn1Header::GetMessageType ()
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    65
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    66
  return m_messageType;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    67
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    68
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    69
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    70
RrcAsn1Header::SerializeDrbToAddModList (std::list<LteRrcSap::DrbToAddMod> drbToAddModList) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    71
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    72
  // Serialize DRB-ToAddModList sequence-of
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    73
  SerializeSequenceOf (drbToAddModList.size (),MAX_DRB,1);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    74
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    75
  // Serialize the elements in the sequence-of list
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    76
  std::list<LteRrcSap::DrbToAddMod>::iterator it = drbToAddModList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    77
  for (; it != drbToAddModList.end (); it++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    78
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    79
      // Serialize DRB-ToAddMod sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    80
      // 5 otional fields. Extension marker is present.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    81
      std::bitset<5> drbToAddModListOptionalFieldsPresent = std::bitset<5> ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    82
      drbToAddModListOptionalFieldsPresent.set (4,1); // eps-BearerIdentity present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    83
      drbToAddModListOptionalFieldsPresent.set (3,0); // pdcp-Config not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    84
      drbToAddModListOptionalFieldsPresent.set (2,1); // rlc-Config present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    85
      drbToAddModListOptionalFieldsPresent.set (1,1); // logicalChannelIdentity present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    86
      drbToAddModListOptionalFieldsPresent.set (0,1); // logicalChannelConfig present
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
    87
      SerializeSequence (drbToAddModListOptionalFieldsPresent,true);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    88
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    89
      // Serialize eps-BearerIdentity::=INTEGER (0..15)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    90
      SerializeInteger (it->epsBearerIdentity,0,15);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    91
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    92
      // Serialize drb-Identity ::= INTEGER (1..32)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    93
      SerializeInteger (it->drbIdentity,1,32);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    94
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    95
      switch (it->rlcConfig.choice)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    96
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    97
        case LteRrcSap::RlcConfig::UM_BI_DIRECTIONAL:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    98
          // Serialize rlc-Config choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
    99
          SerializeChoice (4,1,true);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   100
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   101
          // Serialize UL-UM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   102
          SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   103
          SerializeEnum (2,0);  // sn-FieldLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   104
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   105
          // Serialize DL-UM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   106
          SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   107
          SerializeEnum (2,0);  // sn-FieldLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   108
          SerializeEnum (32,0);  // t-Reordering
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   109
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   110
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   111
        case LteRrcSap::RlcConfig::UM_UNI_DIRECTIONAL_UL:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   112
          // Serialize rlc-Config choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   113
          SerializeChoice (4,2,true);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   114
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   115
          // Serialize UL-UM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   116
          SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   117
          SerializeEnum (2,0);  // sn-FieldLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   118
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   119
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   120
        case LteRrcSap::RlcConfig::UM_UNI_DIRECTIONAL_DL:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   121
          // Serialize rlc-Config choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   122
          SerializeChoice (4,3,true);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   123
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   124
          // Serialize DL-UM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   125
          SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   126
          SerializeEnum (2,0);  // sn-FieldLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   127
          SerializeEnum (32,0);  // t-Reordering
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   128
          break;
9508
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   129
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   130
        case LteRrcSap::RlcConfig::AM:
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   131
        default:
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   132
          // Serialize rlc-Config choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   133
          SerializeChoice (4,0,true);
9508
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   134
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   135
          // Serialize UL-AM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   136
          SerializeSequence (std::bitset<0> (),false);
9508
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   137
          SerializeEnum (64,0);  // t-PollRetransmit
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   138
          SerializeEnum (8,0);   // pollPDU
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   139
          SerializeEnum (16,0);  // pollByte
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   140
          SerializeEnum (8,0);   // maxRetxThreshold
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   141
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   142
          // Serialize DL-AM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   143
          SerializeSequence (std::bitset<0> (),false);
9508
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   144
          SerializeEnum (32,0);  // t-Reordering
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   145
          SerializeEnum (64,0);  // t-StatusProhibit
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   146
          break;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   147
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   148
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   149
      // Serialize logicalChannelIdentity ::=INTEGER (3..10)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   150
      SerializeInteger (it->logicalChannelIdentity,3,10);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   151
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   152
      // Serialize logicalChannelConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   153
      SerializeLogicalChannelConfig (it->logicalChannelConfig);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   154
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   155
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   156
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   157
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   158
RrcAsn1Header::SerializeSrbToAddModList (std::list<LteRrcSap::SrbToAddMod> srbToAddModList) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   159
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   160
  // Serialize SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   161
  SerializeSequenceOf (srbToAddModList.size (),2,1);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   162
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   163
  // Serialize the elements in the sequence-of list
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   164
  std::list<LteRrcSap::SrbToAddMod>::iterator it = srbToAddModList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   165
  for (; it != srbToAddModList.end (); it++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   166
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   167
      // Serialize SRB-ToAddMod sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   168
      // 2 otional fields. Extension marker is present.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   169
      std::bitset<2> srbToAddModListOptionalFieldsPresent = std::bitset<2> ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   170
      srbToAddModListOptionalFieldsPresent.set (1,0); // rlc-Config not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   171
      srbToAddModListOptionalFieldsPresent.set (0,1); // logicalChannelConfig present
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   172
      SerializeSequence (srbToAddModListOptionalFieldsPresent,true);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   173
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   174
      // Serialize srb-Identity ::= INTEGER (1..2)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   175
      SerializeInteger (it->srbIdentity,1,2);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   176
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   177
      // Serialize logicalChannelConfig choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   178
      // 2 options, selected option 0 (var "explicitValue", of type LogicalChannelConfig)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   179
      SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   180
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   181
      // Serialize LogicalChannelConfig 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   182
      SerializeLogicalChannelConfig (it->logicalChannelConfig);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   183
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   184
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   185
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   186
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   187
RrcAsn1Header::SerializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig logicalChannelConfig) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   188
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   189
  // Serialize LogicalChannelConfig sequence
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   190
  // 1 optional field (ul-SpecificParameters), which is present. Extension marker present.
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   191
  SerializeSequence (std::bitset<1> (1),true);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   192
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   193
  // Serialize ul-SpecificParameters sequence
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   194
  // 1 optional field (logicalChannelGroup), which is present. No extension marker.
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   195
  SerializeSequence (std::bitset<1> (1),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   196
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   197
  // Serialize priority ::= INTEGER (1..16)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   198
  SerializeInteger (logicalChannelConfig.priority,1,16);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   199
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   200
  // Serialize prioritisedBitRate
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   201
  int prioritizedBitRate;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   202
  switch (logicalChannelConfig.prioritizedBitRateKbps)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   203
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   204
    case 0:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   205
      prioritizedBitRate = 0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   206
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   207
    case 8:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   208
      prioritizedBitRate = 1;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   209
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   210
    case 16:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   211
      prioritizedBitRate = 2;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   212
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   213
    case 32:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   214
      prioritizedBitRate = 3;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   215
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   216
    case 64:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   217
      prioritizedBitRate = 4;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   218
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   219
    case 128:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   220
      prioritizedBitRate = 5;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   221
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   222
    case 256:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   223
      prioritizedBitRate = 6;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   224
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   225
    default:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   226
      prioritizedBitRate = 7;          // Infinity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   227
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   228
  SerializeEnum (16,prioritizedBitRate);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   229
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   230
  // Serialize bucketSizeDuration
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   231
  int bucketSizeDuration;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   232
  switch (logicalChannelConfig.bucketSizeDurationMs)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   233
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   234
    case 50:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   235
      bucketSizeDuration = 0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   236
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   237
    case 100:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   238
      bucketSizeDuration = 1;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   239
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   240
    case 150:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   241
      bucketSizeDuration = 2;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   242
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   243
    case 300:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   244
      bucketSizeDuration = 3;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   245
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   246
    case 500:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   247
      bucketSizeDuration = 4;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   248
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   249
    case 1000:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   250
      bucketSizeDuration = 5;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   251
      break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   252
    default:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   253
      bucketSizeDuration = 5;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   254
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   255
  SerializeEnum (8,bucketSizeDuration);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   256
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   257
  // Serialize logicalChannelGroup ::= INTEGER (0..3)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   258
  SerializeInteger (logicalChannelConfig.logicalChannelGroup,0,3);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   259
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   260
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   261
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   262
RrcAsn1Header::SerializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   263
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   264
  // Serialize PhysicalConfigDedicated Sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   265
  std::bitset<10> optionalFieldsPhysicalConfigDedicated;
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   266
  optionalFieldsPhysicalConfigDedicated.set (9,physicalConfigDedicated.havePdschConfigDedicated);  // pdsch-ConfigDedicated
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   267
  optionalFieldsPhysicalConfigDedicated.set (8,0);  // pucch-ConfigDedicated not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   268
  optionalFieldsPhysicalConfigDedicated.set (7,0);  // pusch-ConfigDedicated not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   269
  optionalFieldsPhysicalConfigDedicated.set (6,0);  // uplinkPowerControlDedicated not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   270
  optionalFieldsPhysicalConfigDedicated.set (5,0);  // tpc-PDCCH-ConfigPUCCH not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   271
  optionalFieldsPhysicalConfigDedicated.set (4,0);  // tpc-PDCCH-ConfigPUSCH not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   272
  optionalFieldsPhysicalConfigDedicated.set (3,0);  // cqi-ReportConfig not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   273
  optionalFieldsPhysicalConfigDedicated.set (2,physicalConfigDedicated.haveSoundingRsUlConfigDedicated);  // soundingRS-UL-ConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   274
  optionalFieldsPhysicalConfigDedicated.set (1,physicalConfigDedicated.haveAntennaInfoDedicated);  // antennaInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   275
  optionalFieldsPhysicalConfigDedicated.set (0,0);  // schedulingRequestConfig not present
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
   276
  SerializeSequence (optionalFieldsPhysicalConfigDedicated,true);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   277
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   278
  if (physicalConfigDedicated.havePdschConfigDedicated)
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   279
    {
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   280
      // Serialize Pdsch-ConfigDedicated Sequence:
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   281
      // 0 optional / default fields, no extension marker.
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   282
      SerializeSequence (std::bitset<0> (),false);
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   283
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   284
      // Serialize  p-a
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   285
      // Assuming the value in the struct is the enum index
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   286
      SerializeEnum (8,physicalConfigDedicated.pdschConfigDedicated.pa);
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   287
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   288
      // Serialize release
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   289
      SerializeNull ();
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   290
    }
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
   291
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   292
  if (physicalConfigDedicated.haveSoundingRsUlConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   293
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   294
      // Serialize SoundingRS-UL-ConfigDedicated choice:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   295
      switch (physicalConfigDedicated.soundingRsUlConfigDedicated.type)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   296
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   297
        case LteRrcSap::SoundingRsUlConfigDedicated::RESET:
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   298
          SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   299
          SerializeNull ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   300
          break;
9508
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   301
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   302
        case LteRrcSap::SoundingRsUlConfigDedicated::SETUP:
9508
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   303
        default:
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   304
          // 2 options, selected: 1 (setup)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   305
          SerializeChoice (2,1,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   306
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   307
          // Serialize setup sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   308
          // 0 optional / default fields, no extension marker.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   309
          SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   310
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   311
          // Serialize srs-Bandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   312
          SerializeEnum (4,physicalConfigDedicated.soundingRsUlConfigDedicated.srsBandwidth);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   313
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   314
          // Serialize  srs-HoppingBandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   315
          SerializeEnum (4,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   316
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   317
          // Serialize freqDomainPosition
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   318
          SerializeInteger (0,0,23);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   319
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   320
          // Serialize duration
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   321
          SerializeBoolean (false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   322
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   323
          // Serialize srs-ConfigIndex
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   324
          SerializeInteger (physicalConfigDedicated.soundingRsUlConfigDedicated.srsConfigIndex,0,1023);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   325
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   326
          // Serialize transmissionComb
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   327
          SerializeInteger (0,0,1);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   328
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   329
          // Serialize cyclicShift
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   330
          SerializeEnum (8,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   331
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   332
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   333
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   334
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   335
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   336
  if (physicalConfigDedicated.haveAntennaInfoDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   337
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   338
      // Serialize antennaInfo choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   339
      // 2 options. Selected: 0 ("explicitValue" of type "AntennaInfoDedicated")
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   340
      SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   341
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   342
      // Serialize AntennaInfoDedicated sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   343
      // 1 optional parameter, not present. No extension marker.
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
   344
      SerializeSequence (std::bitset<1> (0),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   345
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   346
      // Serialize transmissionMode
9651
0c8f2173327d Assume the value in the struct antennaInfo.transmissionMode is the enum index.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9650
diff changeset
   347
      // Assuming the value in the struct is the enum index
0c8f2173327d Assume the value in the struct antennaInfo.transmissionMode is the enum index.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9650
diff changeset
   348
      SerializeEnum (8,physicalConfigDedicated.antennaInfo.transmissionMode);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   349
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   350
      // Serialize ue-TransmitAntennaSelection choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   351
      SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   352
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   353
      // Serialize release
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   354
      SerializeNull ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   355
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   356
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   357
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   358
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   359
RrcAsn1Header::SerializeRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   360
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   361
  bool isSrbToAddModListPresent = !radioResourceConfigDedicated.srbToAddModList.empty ();
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   362
  bool isDrbToAddModListPresent = !radioResourceConfigDedicated.drbToAddModList.empty ();
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   363
  bool isDrbToReleaseListPresent = !radioResourceConfigDedicated.drbToReleaseList.empty ();
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   364
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   365
  // 6 optional fields. Extension marker is present.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   366
  std::bitset<6> optionalFieldsPresent = std::bitset<6> ();
9486
36915221a849 Fix Serialization when list size=0 in rrcConnectionSetup, check rb1 set before sending setup complete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9482
diff changeset
   367
  optionalFieldsPresent.set (5,isSrbToAddModListPresent);  // srb-ToAddModList present
36915221a849 Fix Serialization when list size=0 in rrcConnectionSetup, check rb1 set before sending setup complete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9482
diff changeset
   368
  optionalFieldsPresent.set (4,isDrbToAddModListPresent);  // drb-ToAddModList present
36915221a849 Fix Serialization when list size=0 in rrcConnectionSetup, check rb1 set before sending setup complete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9482
diff changeset
   369
  optionalFieldsPresent.set (3,isDrbToReleaseListPresent);  // drb-ToReleaseList present
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   370
  optionalFieldsPresent.set (2,0);  // mac-MainConfig not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   371
  optionalFieldsPresent.set (1,0);  // sps-Config not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   372
  optionalFieldsPresent.set (0,(radioResourceConfigDedicated.havePhysicalConfigDedicated) ? 1 : 0);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   373
  SerializeSequence (optionalFieldsPresent,true);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   374
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   375
  // Serialize srbToAddModList
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   376
  if (isSrbToAddModListPresent)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   377
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   378
      SerializeSrbToAddModList (radioResourceConfigDedicated.srbToAddModList);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   379
    }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   380
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   381
  // Serialize drbToAddModList
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   382
  if (isDrbToAddModListPresent)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   383
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   384
      SerializeDrbToAddModList (radioResourceConfigDedicated.drbToAddModList);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   385
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   386
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   387
  // Serialize drbToReleaseList
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   388
  if (isDrbToReleaseListPresent)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   389
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   390
      SerializeSequenceOf (radioResourceConfigDedicated.drbToReleaseList.size (),MAX_DRB,1);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   391
      std::list<uint8_t>::iterator it = radioResourceConfigDedicated.drbToReleaseList.begin ();
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   392
      for (; it != radioResourceConfigDedicated.drbToReleaseList.end (); it++)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   393
        {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   394
          // DRB-Identity ::= INTEGER (1..32)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   395
          SerializeInteger (*it,1,32);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   396
        }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   397
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   398
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   399
  if (radioResourceConfigDedicated.havePhysicalConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   400
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   401
      SerializePhysicalConfigDedicated (radioResourceConfigDedicated.physicalConfigDedicated);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   402
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   403
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   404
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   405
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   406
RrcAsn1Header::SerializeSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   407
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   408
  // 3 optional fields, no extension marker.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   409
  std::bitset<3> sysInfoBlk1Opts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   410
  sysInfoBlk1Opts.set (2,0); // p-Max absent
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   411
  sysInfoBlk1Opts.set (1,0); // tdd-Config absent
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   412
  sysInfoBlk1Opts.set (0,0); // nonCriticalExtension absent
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   413
  SerializeSequence (sysInfoBlk1Opts,false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   414
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   415
  // Serialize cellAccessRelatedInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   416
  // 1 optional field (csgIdentity) which is present, no extension marker.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   417
  SerializeSequence (std::bitset<1> (1),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   418
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   419
  // Serialize plmn-IdentityList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   420
  SerializeSequenceOf (1,6,1);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   421
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   422
  // PLMN-IdentityInfo 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   423
  SerializeSequence (std::bitset<0> (),false);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   424
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   425
  SerializePlmnIdentity (systemInformationBlockType1.cellAccessRelatedInfo.plmnIdentityInfo.plmnIdentity);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   426
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   427
  // Serialize trackingAreaCode
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   428
  SerializeBitstring (std::bitset<16> (0));
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   429
  // Serialize cellIdentity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   430
  SerializeBitstring (std::bitset<28> (systemInformationBlockType1.cellAccessRelatedInfo.cellIdentity));
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   431
  // Serialize cellBarred
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   432
  SerializeEnum (2,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   433
  // Serialize intraFreqReselection
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   434
  SerializeEnum (2,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   435
  // Serialize csg-Indication
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   436
  SerializeBoolean (systemInformationBlockType1.cellAccessRelatedInfo.csgIndication);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   437
  // Serialize csg-Identity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   438
  SerializeBitstring (std::bitset<27> (systemInformationBlockType1.cellAccessRelatedInfo.csgIdentity));
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   439
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   440
  // Serialize cellSelectionInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   441
  SerializeSequence (std::bitset<1> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   442
  // Serialize q-RxLevMin
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   443
  SerializeInteger (-50,-70,-22);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   444
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   445
  // Serialize freqBandIndicator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   446
  SerializeInteger (1,1,64);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   447
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   448
  // Serialize schedulingInfoList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   449
  SerializeSequenceOf (1,MAX_SI_MESSAGE,1);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   450
  // SchedulingInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   451
  SerializeSequence (std::bitset<0> (),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   452
  // si-Periodicity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   453
  SerializeEnum (7,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   454
  // sib-MappingInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   455
  SerializeSequenceOf (0,MAX_SIB - 1,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   456
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   457
  // Serialize si-WindowLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   458
  SerializeEnum (7,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   459
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   460
  // Serialize systemInfoValueTag
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   461
  SerializeInteger (0,0,31);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   462
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   463
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   464
void
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   465
RrcAsn1Header::SerializeRadioResourceConfigCommon (LteRrcSap::RadioResourceConfigCommon radioResourceConfigCommon) const
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   466
{
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   467
  // 9 optional fields. Extension marker yes.
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   468
  std::bitset<9> rrCfgCmmOpts;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   469
  rrCfgCmmOpts.set (8,1); // rach-ConfigCommon is present
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   470
  rrCfgCmmOpts.set (7,0); // pdsch-ConfigCommon not present
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   471
  rrCfgCmmOpts.set (6,0); // phich-Config not present
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   472
  rrCfgCmmOpts.set (5,0); // pucch-ConfigCommon  not present
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   473
  rrCfgCmmOpts.set (4,0); // soundingRS-UL-ConfigCommon not present
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   474
  rrCfgCmmOpts.set (3,0); // uplinkPowerControlCommon not present
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   475
  rrCfgCmmOpts.set (2,0); // antennaInfoCommon not present
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   476
  rrCfgCmmOpts.set (1,0); // p-Max not present
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   477
  rrCfgCmmOpts.set (0,0); // tdd-Config not present
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   478
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   479
  SerializeSequence (rrCfgCmmOpts,true);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   480
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   481
  if (rrCfgCmmOpts[8])
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   482
    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   483
      // Serialize RACH-ConfigCommon
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   484
      SerializeRachConfigCommon (radioResourceConfigCommon.rachConfigCommon);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   485
    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   486
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   487
  // Serialize PRACH-Config
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   488
  // 1 optional, 0 extension marker.
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   489
  SerializeSequence (std::bitset<1> (0),false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   490
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   491
  // Serialize PRACH-Config rootSequenceIndex
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   492
  SerializeInteger (0,0,1023);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   493
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   494
  // Serialize PUSCH-ConfigCommon
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   495
  SerializeSequence (std::bitset<0> (),false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   496
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   497
  // Serialize pusch-ConfigBasic
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   498
  SerializeSequence (std::bitset<0> (),false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   499
  SerializeInteger (1,1,4);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   500
  SerializeEnum (2,0);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   501
  SerializeInteger (0,0,98);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   502
  SerializeBoolean (false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   503
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   504
  // Serialize UL-ReferenceSignalsPUSCH
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   505
  SerializeSequence (std::bitset<0> (),false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   506
  SerializeBoolean (false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   507
  SerializeInteger (0,0,29);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   508
  SerializeBoolean (false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   509
  SerializeInteger (4,0,7);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   510
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   511
  // Serialize UL-CyclicPrefixLength
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   512
  SerializeEnum (2,0);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   513
}
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   514
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   515
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   516
RrcAsn1Header::SerializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceConfigCommonSib radioResourceConfigCommonSib) const
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   517
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   518
  SerializeSequence (std::bitset<0> (0),true);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   519
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   520
  // rach-ConfigCommon
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   521
  SerializeRachConfigCommon (radioResourceConfigCommonSib.rachConfigCommon);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   522
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   523
  // bcch-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   524
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   525
  SerializeEnum (4,0); // modificationPeriodCoeff
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   526
  // pcch-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   527
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   528
  SerializeEnum (4,0); // defaultPagingCycle
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   529
  SerializeEnum (8,0); // nB
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   530
  // prach-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   531
  SerializeSequence (std::bitset<1> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   532
  SerializeInteger (0,0,1023); // rootSequenceIndex
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   533
  // pdsch-ConfigCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   534
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   535
  SerializeInteger (0,-60,50); // referenceSignalPower
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   536
  SerializeInteger (0,0,3); // p-b
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   537
  // pusch-ConfigCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   538
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   539
  SerializeSequence (std::bitset<0> (0),false); // pusch-ConfigBasic
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   540
  SerializeInteger (1,1,4); // n-SB
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   541
  SerializeEnum (2,0); // hoppingMode
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   542
  SerializeInteger (0,0,98); // pusch-HoppingOffset
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   543
  SerializeBoolean (false); // enable64QAM
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   544
  SerializeSequence (std::bitset<0> (0),false); // UL-ReferenceSignalsPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   545
  SerializeBoolean (false); // groupHoppingEnabled
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   546
  SerializeInteger (0,0,29); // groupAssignmentPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   547
  SerializeBoolean (false); // sequenceHoppingEnabled
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   548
  SerializeInteger (0,0,7); // cyclicShift
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   549
  // pucch-ConfigCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   550
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   551
  SerializeEnum (3,0); // deltaPUCCH-Shift
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   552
  SerializeInteger (0,0,98); // nRB-CQI
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   553
  SerializeInteger (0,0,7); // nCS-AN
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   554
  SerializeInteger (0,0,2047); // n1PUCCH-AN
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   555
  // soundingRS-UL-ConfigCommon 
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   556
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   557
  SerializeNull (); // release
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   558
  // uplinkPowerControlCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   559
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   560
  SerializeInteger (0,-126,24); // p0-NominalPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   561
  SerializeEnum (8,0); // alpha
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   562
  SerializeInteger (-50,-127,-96); // p0-NominalPUCCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   563
  SerializeSequence (std::bitset<0> (0),false); // deltaFList-PUCCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   564
  SerializeEnum (3,0); // deltaF-PUCCH-Format1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   565
  SerializeEnum (3,0); // deltaF-PUCCH-Format1b
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   566
  SerializeEnum (4,0); // deltaF-PUCCH-Format2
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   567
  SerializeEnum (3,0); // deltaF-PUCCH-Format2a
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   568
  SerializeEnum (3,0); // deltaF-PUCCH-Format2b
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   569
  SerializeInteger (0,-1,6);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   570
  // ul-CyclicPrefixLength 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   571
  SerializeEnum (2,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   572
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   573
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   574
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   575
RrcAsn1Header::SerializeSystemInformationBlockType2 (LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2) const
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   576
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   577
  SerializeSequence (std::bitset<2> (0),true);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   578
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   579
  // RadioResourceConfigCommonSib
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   580
  SerializeRadioResourceConfigCommonSib (systemInformationBlockType2.radioResourceConfigCommon);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   581
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   582
  // ue-TimersAndConstants
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   583
  SerializeSequence (std::bitset<0> (0),true);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   584
  SerializeEnum (8,0); // t300
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   585
  SerializeEnum (8,0); // t301
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   586
  SerializeEnum (7,0); // t310
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   587
  SerializeEnum (8,0); // n310
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   588
  SerializeEnum (7,0); // t311
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   589
  SerializeEnum (8,0); // n311
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   590
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   591
  // freqInfo
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   592
  SerializeSequence (std::bitset<2> (3),false);
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   593
  SerializeInteger ((int) systemInformationBlockType2.freqInfo.ulCarrierFreq, 0, MAX_EARFCN);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   594
  switch (systemInformationBlockType2.freqInfo.ulBandwidth)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   595
    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   596
    case 6:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   597
      SerializeEnum (6,0);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   598
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   599
    case 15:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   600
      SerializeEnum (6,1);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   601
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   602
    case 25:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   603
      SerializeEnum (6,2);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   604
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   605
    case 50:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   606
      SerializeEnum (6,3);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   607
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   608
    case 75:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   609
      SerializeEnum (6,4);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   610
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   611
    case 100:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   612
      SerializeEnum (6,5);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   613
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   614
    default:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   615
      SerializeEnum (6,0);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   616
    }
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   617
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   618
  SerializeInteger (29,1,32); // additionalSpectrumEmission
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   619
  // timeAlignmentTimerCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   620
  SerializeEnum (8,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   621
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   622
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   623
void
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   624
RrcAsn1Header::SerializeMeasResults (LteRrcSap::MeasResults measResults) const
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   625
{
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   626
  // Watchdog: if list has 0 elements, set boolean to false
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   627
  if (measResults.measResultListEutra.empty ())
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   628
    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   629
      measResults.haveMeasResultNeighCells = false;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   630
    }
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   631
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   632
  // Serialize MeasResults sequence, 1 optional value, extension marker present
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   633
  SerializeSequence (std::bitset<1> (measResults.haveMeasResultNeighCells),true);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   634
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   635
  // Serialize measId
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   636
  SerializeInteger (measResults.measId,1,MAX_MEAS_ID);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   637
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   638
  // Serialize measResultServCell sequence
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   639
  SerializeSequence (std::bitset<0> (0),false);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   640
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   641
  // Serialize rsrpResult
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   642
  SerializeInteger (measResults.rsrpResult,0,97);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   643
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   644
  // Serialize rsrqResult
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   645
  SerializeInteger (measResults.rsrqResult,0,34);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   646
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   647
  if (measResults.haveMeasResultNeighCells)
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   648
    {
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   649
      // Serialize Choice = 0 (MeasResultListEUTRA)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   650
      SerializeChoice (4,0,false);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   651
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   652
      // Serialize measResultNeighCells
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   653
      SerializeSequenceOf (measResults.measResultListEutra.size (),MAX_CELL_REPORT,1);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   654
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   655
      // serialize MeasResultEutra elements in the list
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   656
      std::list<LteRrcSap::MeasResultEutra>::iterator it;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   657
      for (it = measResults.measResultListEutra.begin (); it != measResults.measResultListEutra.end (); it++)
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   658
        {
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   659
          SerializeSequence (std::bitset<1> (it->haveCgiInfo),false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   660
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   661
          // Serialize PhysCellId
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   662
          SerializeInteger (it->physCellId, 0, 503);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   663
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   664
          // Serialize CgiInfo
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   665
          if (it->haveCgiInfo)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   666
            {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   667
              SerializeSequence (std::bitset<1> (it->cgiInfo.plmnIdentityList.size ()),false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   668
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   669
              // Serialize cellGlobalId
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   670
              SerializeSequence (std::bitset<0> (0),false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   671
              SerializePlmnIdentity (it->cgiInfo.plmnIdentity);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   672
              SerializeBitstring (std::bitset<28> (it->cgiInfo.cellIdentity));
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   673
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   674
              // Serialize trackingAreaCode
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   675
              SerializeBitstring (std::bitset<16> (it->cgiInfo.trackingAreaCode));
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   676
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   677
              // Serialize plmn-IdentityList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   678
              if (!it->cgiInfo.plmnIdentityList.empty ())
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   679
                {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   680
                  SerializeSequenceOf (it->cgiInfo.plmnIdentityList.size (),5,1);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   681
                  std::list<uint32_t>::iterator it2;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   682
                  for (it2 = it->cgiInfo.plmnIdentityList.begin (); it2 != it->cgiInfo.plmnIdentityList.end (); it2++)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   683
                    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   684
                      SerializePlmnIdentity (*it2);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   685
                    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   686
                }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   687
            }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   688
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   689
          // Serialize measResult
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   690
          std::bitset<2> measResultFieldsPresent;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   691
          measResultFieldsPresent[1] = it->haveRsrpResult;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   692
          measResultFieldsPresent[0] = it->haveRsrqResult;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   693
          SerializeSequence (measResultFieldsPresent,true);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   694
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   695
          if (it->haveRsrpResult)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   696
            {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   697
              SerializeInteger (it->rsrpResult,0,97);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   698
            }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   699
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   700
          if (it->haveRsrqResult)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   701
            {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   702
              SerializeInteger (it->rsrqResult,0,34);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   703
            }
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   704
        }
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   705
    }
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   706
}
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   707
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   708
void
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   709
RrcAsn1Header::SerializePlmnIdentity (uint32_t plmnId) const
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   710
{
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   711
  // plmn-Identity sequence, mcc is optional, no extension marker
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   712
  SerializeSequence (std::bitset<1> (0), false);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   713
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   714
  // Serialize mnc
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   715
  int nDig = (plmnId > 99) ? 3 : 2;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   716
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   717
  SerializeSequenceOf (nDig,3,2);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   718
  for (int i = nDig - 1; i >= 0; i--)
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   719
    {
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   720
      int n = floor (plmnId / pow (10,i));
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   721
      SerializeInteger (n,0,9);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   722
      plmnId -= n * pow (10,i);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   723
    }
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   724
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   725
  // cellReservedForOperatorUse 
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   726
  SerializeEnum (2,0);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   727
}
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   728
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   729
void 
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   730
RrcAsn1Header::SerializeRachConfigCommon (LteRrcSap::RachConfigCommon rachConfigCommon) const
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   731
{
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   732
  // rach-ConfigCommon
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   733
  SerializeSequence (std::bitset<0> (0),true);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   734
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   735
  // preambleInfo
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   736
  SerializeSequence (std::bitset<1> (0),false);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   737
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   738
  // numberOfRA-Preambles
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   739
  switch (rachConfigCommon.preambleInfo.numberOfRaPreambles)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   740
    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   741
    case 4:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   742
      SerializeEnum (16,0);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   743
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   744
    case 8:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   745
      SerializeEnum (16,1);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   746
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   747
    case 12:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   748
      SerializeEnum (16,2);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   749
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   750
    case 16:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   751
      SerializeEnum (16,3);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   752
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   753
    case 20:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   754
      SerializeEnum (16,4);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   755
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   756
    case 24:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   757
      SerializeEnum (16,5);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   758
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   759
    case 28:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   760
      SerializeEnum (16,6);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   761
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   762
    case 32:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   763
      SerializeEnum (16,7);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   764
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   765
    case 36:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   766
      SerializeEnum (16,8);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   767
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   768
    case 40:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   769
      SerializeEnum (16,9);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   770
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   771
    case 44:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   772
      SerializeEnum (16,10);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   773
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   774
    case 48:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   775
      SerializeEnum (16,11);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   776
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   777
    case 52:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   778
      SerializeEnum (16,12);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   779
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   780
    case 56:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   781
      SerializeEnum (16,13);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   782
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   783
    case 60:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   784
      SerializeEnum (16,14);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   785
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   786
    case 64:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   787
      SerializeEnum (16,15);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   788
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   789
    default:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   790
      SerializeEnum (16,0);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   791
    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   792
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   793
  SerializeSequence (std::bitset<0> (0),false); // powerRampingParameters
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   794
  SerializeEnum (4,0); // powerRampingStep
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   795
  SerializeEnum (16,0); // preambleInitialReceivedTargetPower
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   796
  SerializeSequence (std::bitset<0> (0),false); // ra-SupervisionInfo
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   797
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   798
  // preambleTransMax
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   799
  switch (rachConfigCommon.raSupervisionInfo.preambleTransMax)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   800
    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   801
    case 3:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   802
      SerializeEnum (11,0);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   803
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   804
    case 4:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   805
      SerializeEnum (11,1);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   806
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   807
    case 5:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   808
      SerializeEnum (11,2);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   809
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   810
    case 6:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   811
      SerializeEnum (11,3);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   812
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   813
    case 7:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   814
      SerializeEnum (11,4);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   815
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   816
    case 8:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   817
      SerializeEnum (11,5);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   818
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   819
    case 10:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   820
      SerializeEnum (11,6);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   821
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   822
    case 20:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   823
      SerializeEnum (11,7);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   824
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   825
    case 50:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   826
      SerializeEnum (11,8);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   827
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   828
    case 100:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   829
      SerializeEnum (11,9);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   830
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   831
    case 200:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   832
      SerializeEnum (11,10);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   833
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   834
    default:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   835
      SerializeEnum (11,0);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   836
    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   837
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   838
  // ra-ResponseWindowSize
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   839
  switch (rachConfigCommon.raSupervisionInfo.raResponseWindowSize)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   840
    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   841
    case 2:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   842
      SerializeEnum (8,0);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   843
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   844
    case 3:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   845
      SerializeEnum (8,1);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   846
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   847
    case 4:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   848
      SerializeEnum (8,2);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   849
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   850
    case 5:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   851
      SerializeEnum (8,3);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   852
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   853
    case 6:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   854
      SerializeEnum (8,4);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   855
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   856
    case 7:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   857
      SerializeEnum (8,5);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   858
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   859
    case 8:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   860
      SerializeEnum (8,6);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   861
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   862
    case 10:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   863
      SerializeEnum (8,7);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   864
      break;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   865
    default:
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   866
      SerializeEnum (8,0);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   867
    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   868
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   869
  SerializeEnum (8,0); // mac-ContentionResolutionTimer
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   870
  SerializeInteger (1,1,8); // maxHARQ-Msg3Tx
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   871
}
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   872
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   873
void
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   874
RrcAsn1Header::SerializeQoffsetRange (int8_t qOffsetRange) const
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   875
{
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   876
  switch (qOffsetRange)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   877
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   878
    case -24:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   879
      SerializeEnum (31,0);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   880
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   881
    case -22:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   882
      SerializeEnum (31,1);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   883
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   884
    case -20:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   885
      SerializeEnum (31,2);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   886
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   887
    case -18:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   888
      SerializeEnum (31,3);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   889
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   890
    case -16:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   891
      SerializeEnum (31,4);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   892
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   893
    case -14:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   894
      SerializeEnum (31,5);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   895
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   896
    case -12:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   897
      SerializeEnum (31,6);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   898
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   899
    case -10:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   900
      SerializeEnum (31,7);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   901
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   902
    case -8:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   903
      SerializeEnum (31,8);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   904
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   905
    case -6:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   906
      SerializeEnum (31,9);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   907
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   908
    case -5:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   909
      SerializeEnum (31,10);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   910
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   911
    case -4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   912
      SerializeEnum (31,11);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   913
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   914
    case -3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   915
      SerializeEnum (31,12);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   916
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   917
    case -2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   918
      SerializeEnum (31,13);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   919
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   920
    case -1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   921
      SerializeEnum (31,14);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   922
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   923
    case 0:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   924
      SerializeEnum (31,15);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   925
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   926
    case 1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   927
      SerializeEnum (31,16);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   928
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   929
    case 2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   930
      SerializeEnum (31,17);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   931
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   932
    case 3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   933
      SerializeEnum (31,18);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   934
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   935
    case 4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   936
      SerializeEnum (31,19);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   937
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   938
    case 5:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   939
      SerializeEnum (31,20);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   940
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   941
    case 6:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   942
      SerializeEnum (31,21);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   943
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   944
    case 8:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   945
      SerializeEnum (31,22);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   946
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   947
    case 10:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   948
      SerializeEnum (31,23);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   949
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   950
    case 12:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   951
      SerializeEnum (31,24);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   952
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   953
    case 14:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   954
      SerializeEnum (31,25);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   955
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   956
    case 16:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   957
      SerializeEnum (31,26);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   958
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   959
    case 18:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   960
      SerializeEnum (31,27);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   961
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   962
    case 20:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   963
      SerializeEnum (31,28);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   964
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   965
    case 22:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   966
      SerializeEnum (31,29);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   967
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   968
    case 24:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   969
      SerializeEnum (31,30);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   970
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   971
    default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   972
      SerializeEnum (31,15);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   973
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   974
}
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   975
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   976
void
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   977
RrcAsn1Header::SerializeThresholdEutra (LteRrcSap::ThresholdEutra thresholdEutra) const
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   978
{
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   979
  switch (thresholdEutra.choice)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   980
    {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
   981
    case LteRrcSap::ThresholdEutra::THRESHOLD_RSRP:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   982
      SerializeChoice (2,0,false);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   983
      SerializeInteger (thresholdEutra.range, 0, 97);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   984
      break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
   985
    case LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   986
    default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   987
      SerializeChoice (2,1,false);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   988
      SerializeInteger (thresholdEutra.range, 0, 34);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   989
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   990
}
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   991
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   992
void
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   993
RrcAsn1Header::SerializeMeasConfig (LteRrcSap::MeasConfig measConfig) const
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   994
{
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   995
  // Serialize MeasConfig sequence
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   996
  // 11 optional fields, extension marker present
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   997
  std::bitset<11> measConfigOptional;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   998
  measConfigOptional.set (10, !measConfig.measObjectToRemoveList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   999
  measConfigOptional.set (9, !measConfig.measObjectToAddModList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1000
  measConfigOptional.set (8, !measConfig.reportConfigToRemoveList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1001
  measConfigOptional.set (7, !measConfig.reportConfigToAddModList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1002
  measConfigOptional.set (6, !measConfig.measIdToRemoveList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1003
  measConfigOptional.set (5, !measConfig.measIdToAddModList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1004
  measConfigOptional.set (4, measConfig.haveQuantityConfig ); 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1005
  measConfigOptional.set (3, measConfig.haveMeasGapConfig ); 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1006
  measConfigOptional.set (2, measConfig.haveSmeasure ); 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1007
  measConfigOptional.set (1, false ); // preRegistrationInfoHRPD
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1008
  measConfigOptional.set (0, measConfig.haveSpeedStatePars ); 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1009
  SerializeSequence (measConfigOptional,true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1010
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1011
  if (!measConfig.measObjectToRemoveList.empty ())
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1012
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1013
      SerializeSequenceOf (measConfig.measObjectToRemoveList.size (),MAX_OBJECT_ID,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1014
      for (std::list<uint8_t>::iterator it = measConfig.measObjectToRemoveList.begin (); it != measConfig.measObjectToRemoveList.end (); it++)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1015
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1016
          SerializeInteger (*it, 1, MAX_OBJECT_ID);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1017
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1018
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1019
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1020
  if (!measConfig.measObjectToAddModList.empty ())
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1021
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1022
      SerializeSequenceOf (measConfig.measObjectToAddModList.size (),MAX_OBJECT_ID,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1023
      for (std::list<LteRrcSap::MeasObjectToAddMod>::iterator it = measConfig.measObjectToAddModList.begin (); it != measConfig.measObjectToAddModList.end (); it++)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1024
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1025
          SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1026
          SerializeInteger (it->measObjectId, 1, MAX_OBJECT_ID);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1027
          SerializeChoice (4, 0, true); // Select MeasObjectEUTRA
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1028
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1029
          // Serialize measObjectEutra
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1030
          std::bitset<5> measObjOpts;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1031
          measObjOpts.set (4,!it->measObjectEutra.cellsToRemoveList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1032
          measObjOpts.set (3,!it->measObjectEutra.cellsToAddModList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1033
          measObjOpts.set (2,!it->measObjectEutra.blackCellsToRemoveList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1034
          measObjOpts.set (1,!it->measObjectEutra.blackCellsToAddModList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1035
          measObjOpts.set (0,it->measObjectEutra.haveCellForWhichToReportCGI);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1036
          SerializeSequence (measObjOpts, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1037
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1038
          // Serialize carrierFreq
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1039
          SerializeInteger (it->measObjectEutra.carrierFreq, 0, MAX_EARFCN);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1040
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1041
          // Serialize  allowedMeasBandwidth
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1042
          switch (it->measObjectEutra.allowedMeasBandwidth)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1043
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1044
            case 6:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1045
              SerializeEnum (6,0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1046
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1047
            case 15:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1048
              SerializeEnum (6,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1049
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1050
            case 25:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1051
              SerializeEnum (6,2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1052
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1053
            case 50:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1054
              SerializeEnum (6,3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1055
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1056
            case 75:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1057
              SerializeEnum (6,4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1058
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1059
            case 100:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1060
              SerializeEnum (6,5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1061
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1062
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1063
              SerializeEnum (6,0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1064
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1065
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1066
          SerializeBoolean (it->measObjectEutra.presenceAntennaPort1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1067
          SerializeBitstring (std::bitset<2> (it->measObjectEutra.neighCellConfig));
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1068
          SerializeQoffsetRange (it->measObjectEutra.offsetFreq);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1069
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1070
          if (!it->measObjectEutra.cellsToRemoveList.empty ())
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1071
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1072
              SerializeSequenceOf (it->measObjectEutra.cellsToRemoveList.size (),MAX_CELL_MEAS,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1073
              for (std::list<uint8_t>::iterator it2 = it->measObjectEutra.cellsToRemoveList.begin (); it2 != it->measObjectEutra.cellsToRemoveList.end (); it2++)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1074
                {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1075
                  SerializeInteger (*it2, 1, MAX_CELL_MEAS);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1076
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1077
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1078
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1079
          if (!it->measObjectEutra.cellsToAddModList.empty ())
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1080
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1081
              SerializeSequenceOf (it->measObjectEutra.cellsToAddModList.size (), MAX_CELL_MEAS, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1082
              for (std::list<LteRrcSap::CellsToAddMod>::iterator it2 = it->measObjectEutra.cellsToAddModList.begin (); it2 != it->measObjectEutra.cellsToAddModList.end (); it2++)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1083
                {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1084
                  SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1085
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1086
                  // Serialize cellIndex
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1087
                  SerializeInteger (it2->cellIndex, 1, MAX_CELL_MEAS);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1088
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  1089
                  // Serialize PhysCellId
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1090
                  SerializeInteger (it2->physCellId,0,503);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1091
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1092
                  // Serialize cellIndividualOffset
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1093
                  SerializeQoffsetRange (it2->cellIndividualOffset);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1094
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1095
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1096
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1097
          if (!it->measObjectEutra.blackCellsToRemoveList.empty () )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1098
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1099
              SerializeSequenceOf (it->measObjectEutra.blackCellsToRemoveList.size (),MAX_CELL_MEAS,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1100
              for (std::list<uint8_t>::iterator it2 = it->measObjectEutra.blackCellsToRemoveList.begin (); it2 != it->measObjectEutra.blackCellsToRemoveList.end (); it2++)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1101
                {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1102
                  SerializeInteger (*it2, 1, MAX_CELL_MEAS);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1103
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1104
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1105
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1106
          if (!it->measObjectEutra.blackCellsToAddModList.empty () )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1107
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1108
              SerializeSequenceOf (it->measObjectEutra.blackCellsToAddModList.size (), MAX_CELL_MEAS, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1109
              for (std::list<LteRrcSap::BlackCellsToAddMod>::iterator it2 = it->measObjectEutra.blackCellsToAddModList.begin (); it2 != it->measObjectEutra.blackCellsToAddModList.end (); it2++)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1110
                {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1111
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1112
                  SerializeInteger (it2->cellIndex, 1, MAX_CELL_MEAS);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1113
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1114
                  // Serialize PhysCellIdRange
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1115
                  // range optional
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1116
                  std::bitset<1> rangePresent = std::bitset<1> (it2->physCellIdRange.haveRange);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1117
                  SerializeSequence (rangePresent,false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1118
                  SerializeInteger (it2->physCellIdRange.start,0,503);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1119
                  if (it2->physCellIdRange.haveRange)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1120
                    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1121
                      switch (it2->physCellIdRange.range)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1122
                        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1123
                        case 4:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1124
                          SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1125
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1126
                        case 8:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1127
                          SerializeEnum (16, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1128
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1129
                        case 12:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1130
                          SerializeEnum (16, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1131
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1132
                        case 16:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1133
                          SerializeEnum (16, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1134
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1135
                        case 24:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1136
                          SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1137
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1138
                        case 32:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1139
                          SerializeEnum (16, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1140
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1141
                        case 48:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1142
                          SerializeEnum (16, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1143
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1144
                        case 64:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1145
                          SerializeEnum (16, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1146
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1147
                        case 84:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1148
                          SerializeEnum (16, 8);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1149
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1150
                        case 96:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1151
                          SerializeEnum (16, 9);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1152
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1153
                        case 128:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1154
                          SerializeEnum (16, 10);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1155
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1156
                        case 168:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1157
                          SerializeEnum (16, 11);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1158
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1159
                        case 252:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1160
                          SerializeEnum (16, 12);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1161
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1162
                        case 504:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1163
                          SerializeEnum (16, 13);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1164
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1165
                        default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1166
                          SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1167
                        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1168
                    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1169
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1170
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1171
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1172
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1173
          if (it->measObjectEutra.haveCellForWhichToReportCGI)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1174
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1175
              SerializeInteger (it->measObjectEutra.cellForWhichToReportCGI,0,503);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1176
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1177
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1178
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1179
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1180
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1181
  if (!measConfig.reportConfigToRemoveList.empty () )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1182
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1183
      SerializeSequenceOf (measConfig.reportConfigToRemoveList.size (),MAX_REPORT_CONFIG_ID,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1184
      for (std::list<uint8_t>::iterator it = measConfig.reportConfigToRemoveList.begin (); it != measConfig.reportConfigToRemoveList.end (); it++)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1185
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1186
          SerializeInteger (*it, 1,MAX_REPORT_CONFIG_ID);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1187
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1188
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1189
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1190
  if (!measConfig.reportConfigToAddModList.empty () )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1191
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1192
      SerializeSequenceOf (measConfig.reportConfigToAddModList.size (),MAX_REPORT_CONFIG_ID,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1193
      for (std::list<LteRrcSap::ReportConfigToAddMod>::iterator it = measConfig.reportConfigToAddModList.begin (); it != measConfig.reportConfigToAddModList.end (); it++)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1194
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1195
          SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1196
          SerializeInteger (it->reportConfigId,1,MAX_REPORT_CONFIG_ID);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1197
          SerializeChoice (2,0,false); // reportConfigEUTRA
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1198
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1199
          // Serialize ReportConfigEUTRA
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1200
          SerializeSequence (std::bitset<0> (), true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1201
          switch (it->reportConfigEutra.triggerType)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1202
            {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1203
            case LteRrcSap::ReportConfigEutra::PERIODICAL:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1204
              SerializeChoice (2, 1, false); 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1205
              SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1206
              switch (it->reportConfigEutra.purpose)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1207
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1208
                case LteRrcSap::ReportConfigEutra::REPORT_CGI:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1209
                  SerializeEnum (2,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1210
                  break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1211
                case LteRrcSap::ReportConfigEutra::REPORT_STRONGEST_CELLS:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1212
                default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1213
                  SerializeEnum (2,0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1214
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1215
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1216
            case LteRrcSap::ReportConfigEutra::EVENT:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1217
            default: 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1218
              SerializeChoice (2, 0, false);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  1219
              SerializeSequence (std::bitset<0> (),false);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1220
              switch (it->reportConfigEutra.eventId)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1221
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1222
                case LteRrcSap::ReportConfigEutra::EVENT_A1:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1223
                  SerializeChoice (5, 0, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1224
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1225
                  SerializeThresholdEutra (it->reportConfigEutra.threshold1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1226
                  break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1227
                case LteRrcSap::ReportConfigEutra::EVENT_A2:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1228
                  SerializeChoice (5, 1, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1229
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1230
                  SerializeThresholdEutra (it->reportConfigEutra.threshold1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1231
                  break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1232
                case LteRrcSap::ReportConfigEutra::EVENT_A3:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1233
                  SerializeChoice (5, 2, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1234
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1235
                  SerializeInteger (it->reportConfigEutra.a3Offset,-30,30);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1236
                  SerializeBoolean (it->reportConfigEutra.reportOnLeave);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1237
                  break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1238
                case LteRrcSap::ReportConfigEutra::EVENT_A4:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1239
                  SerializeChoice (5, 3, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1240
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1241
                  SerializeThresholdEutra (it->reportConfigEutra.threshold1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1242
                  break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1243
                case LteRrcSap::ReportConfigEutra::EVENT_A5:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1244
                default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1245
                  SerializeChoice (5, 4, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1246
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1247
                  SerializeThresholdEutra (it->reportConfigEutra.threshold1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1248
                  SerializeThresholdEutra (it->reportConfigEutra.threshold2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1249
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1250
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1251
              SerializeInteger (it->reportConfigEutra.hysteresis, 0, 30);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1252
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1253
              switch (it->reportConfigEutra.timeToTrigger)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1254
                {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1255
                case 0:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1256
                  SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1257
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1258
                case 40:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1259
                  SerializeEnum (16, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1260
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1261
                case 64:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1262
                  SerializeEnum (16, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1263
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1264
                case 80:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1265
                  SerializeEnum (16, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1266
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1267
                case 100:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1268
                  SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1269
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1270
                case 128:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1271
                  SerializeEnum (16, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1272
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1273
                case 160:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1274
                  SerializeEnum (16, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1275
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1276
                case 256:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1277
                  SerializeEnum (16, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1278
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1279
                case 320:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1280
                  SerializeEnum (16, 8);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1281
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1282
                case 480:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1283
                  SerializeEnum (16, 9);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1284
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1285
                case 512:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1286
                  SerializeEnum (16, 10);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1287
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1288
                case 640:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1289
                  SerializeEnum (16, 11);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1290
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1291
                case 1024:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1292
                  SerializeEnum (16, 12);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1293
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1294
                case 1280:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1295
                  SerializeEnum (16, 13);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1296
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1297
                case 2560:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1298
                  SerializeEnum (16, 14);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1299
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1300
                case 5120:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1301
                default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1302
                  SerializeEnum (16, 15);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1303
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1304
            } // end trigger type
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1305
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1306
          // Serialize triggerQuantity
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1307
          if (it->reportConfigEutra.triggerQuantity == LteRrcSap::ReportConfigEutra::RSRP)
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1308
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1309
              SerializeEnum (2, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1310
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1311
          else
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1312
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1313
              SerializeEnum (2, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1314
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1315
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1316
          // Serialize reportQuantity
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1317
          if (it->reportConfigEutra.reportQuantity == LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY)
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1318
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1319
              SerializeEnum (2, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1320
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1321
          else
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1322
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1323
              SerializeEnum (2, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1324
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1325
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1326
          // Serialize maxReportCells
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1327
          SerializeInteger (it->reportConfigEutra.maxReportCells, 1, MAX_CELL_REPORT);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1328
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1329
          // Serialize reportInterval
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1330
          switch (it->reportConfigEutra.reportInterval)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1331
            {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1332
            case LteRrcSap::ReportConfigEutra::MS120:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1333
              SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1334
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1335
            case LteRrcSap::ReportConfigEutra::MS240:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1336
              SerializeEnum (16, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1337
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1338
            case LteRrcSap::ReportConfigEutra::MS480:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1339
              SerializeEnum (16, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1340
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1341
            case LteRrcSap::ReportConfigEutra::MS640:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1342
              SerializeEnum (16, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1343
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1344
            case LteRrcSap::ReportConfigEutra::MS1024:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1345
              SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1346
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1347
            case LteRrcSap::ReportConfigEutra::MS2048:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1348
              SerializeEnum (16, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1349
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1350
            case LteRrcSap::ReportConfigEutra::MS5120:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1351
              SerializeEnum (16, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1352
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1353
            case LteRrcSap::ReportConfigEutra::MS10240:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1354
              SerializeEnum (16, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1355
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1356
            case LteRrcSap::ReportConfigEutra::MIN1:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1357
              SerializeEnum (16, 8);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1358
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1359
            case LteRrcSap::ReportConfigEutra::MIN6:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1360
              SerializeEnum (16, 9);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1361
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1362
            case LteRrcSap::ReportConfigEutra::MIN12:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1363
              SerializeEnum (16, 10);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1364
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1365
            case LteRrcSap::ReportConfigEutra::MIN30:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1366
              SerializeEnum (16, 11);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1367
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1368
            case LteRrcSap::ReportConfigEutra::MIN60:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1369
              SerializeEnum (16, 12);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1370
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1371
            case LteRrcSap::ReportConfigEutra::SPARE3:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1372
              SerializeEnum (16, 13);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1373
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1374
            case LteRrcSap::ReportConfigEutra::SPARE2:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1375
              SerializeEnum (16, 14);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1376
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1377
            case LteRrcSap::ReportConfigEutra::SPARE1:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1378
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1379
              SerializeEnum (16, 15);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1380
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1381
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1382
          // Serialize reportAmount
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1383
          switch (it->reportConfigEutra.reportAmount)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1384
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1385
            case 1:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1386
              SerializeEnum (8, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1387
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1388
            case 2:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1389
              SerializeEnum (8, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1390
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1391
            case 4:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1392
              SerializeEnum (8, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1393
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1394
            case 8:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1395
              SerializeEnum (8, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1396
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1397
            case 16:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1398
              SerializeEnum (8, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1399
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1400
            case 32:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1401
              SerializeEnum (8, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1402
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1403
            case 64:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1404
              SerializeEnum (8, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1405
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1406
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1407
              SerializeEnum (8, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1408
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1409
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1410
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1411
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1412
  if (!measConfig.measIdToRemoveList.empty () )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1413
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1414
      SerializeSequenceOf (measConfig.measIdToRemoveList.size (), MAX_MEAS_ID, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1415
      for (std::list<uint8_t>::iterator it = measConfig.measIdToRemoveList.begin (); it != measConfig.measIdToRemoveList.end (); it++)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1416
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1417
          SerializeInteger (*it, 1, MAX_MEAS_ID);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1418
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1419
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1420
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1421
  if (!measConfig.measIdToAddModList.empty () )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1422
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1423
      SerializeSequenceOf ( measConfig.measIdToAddModList.size (), MAX_MEAS_ID, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1424
      for (std::list<LteRrcSap::MeasIdToAddMod>::iterator it = measConfig.measIdToAddModList.begin (); it != measConfig.measIdToAddModList.end (); it++)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1425
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1426
          SerializeInteger (it->measId, 1, MAX_MEAS_ID);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1427
          SerializeInteger (it->measObjectId, 1, MAX_OBJECT_ID);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1428
          SerializeInteger (it->reportConfigId, 1, MAX_REPORT_CONFIG_ID);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1429
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1430
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1431
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1432
  if (measConfig.haveQuantityConfig )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1433
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1434
      // QuantityConfig sequence
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1435
      // 4 optional fields, only first (EUTRA) present. Extension marker yes.
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1436
      std::bitset<4> quantityConfigOpts (0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1437
      quantityConfigOpts.set (3,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1438
      SerializeSequence (quantityConfigOpts, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1439
      SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1440
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1441
      switch (measConfig.quantityConfig.filterCoefficientRSRP)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1442
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1443
        case 0:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1444
          SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1445
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1446
        case 1:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1447
          SerializeEnum (16, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1448
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1449
        case 2:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1450
          SerializeEnum (16, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1451
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1452
        case 3:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1453
          SerializeEnum (16, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1454
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1455
        case 4:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1456
          SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1457
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1458
        case 5:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1459
          SerializeEnum (16, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1460
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1461
        case 6:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1462
          SerializeEnum (16, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1463
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1464
        case 7:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1465
          SerializeEnum (16, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1466
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1467
        case 8:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1468
          SerializeEnum (16, 8);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1469
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1470
        case 9:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1471
          SerializeEnum (16, 9);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1472
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1473
        case 11:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1474
          SerializeEnum (16, 10);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1475
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1476
        case 13:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1477
          SerializeEnum (16, 11);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1478
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1479
        case 15:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1480
          SerializeEnum (16, 12);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1481
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1482
        case 17:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1483
          SerializeEnum (16, 13);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1484
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1485
        case 19:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1486
          SerializeEnum (16, 14);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1487
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1488
        default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1489
          SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1490
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1491
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1492
      switch (measConfig.quantityConfig.filterCoefficientRSRQ)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1493
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1494
        case 0:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1495
          SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1496
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1497
        case 1:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1498
          SerializeEnum (16, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1499
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1500
        case 2:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1501
          SerializeEnum (16, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1502
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1503
        case 3:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1504
          SerializeEnum (16, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1505
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1506
        case 4:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1507
          SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1508
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1509
        case 5:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1510
          SerializeEnum (16, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1511
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1512
        case 6:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1513
          SerializeEnum (16, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1514
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1515
        case 7:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1516
          SerializeEnum (16, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1517
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1518
        case 8:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1519
          SerializeEnum (16, 8);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1520
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1521
        case 9:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1522
          SerializeEnum (16, 9);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1523
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1524
        case 11:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1525
          SerializeEnum (16, 10);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1526
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1527
        case 13:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1528
          SerializeEnum (16, 11);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1529
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1530
        case 15:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1531
          SerializeEnum (16, 12);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1532
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1533
        case 17:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1534
          SerializeEnum (16, 13);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1535
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1536
        case 19:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1537
          SerializeEnum (16, 14);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1538
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1539
        default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1540
          SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1541
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1542
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1543
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1544
  if (measConfig.haveMeasGapConfig )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1545
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1546
      switch (measConfig.measGapConfig.type)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1547
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1548
        case LteRrcSap::MeasGapConfig::RESET:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1549
          SerializeChoice (2, 0, false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1550
          SerializeNull ();
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1551
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1552
        case LteRrcSap::MeasGapConfig::SETUP:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1553
        default:
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  1554
          SerializeChoice (2, 1, false);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1555
          SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1556
          switch (measConfig.measGapConfig.gapOffsetChoice)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1557
            {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1558
            case LteRrcSap::MeasGapConfig::GP0:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1559
              SerializeChoice (2, 0, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1560
              SerializeInteger (measConfig.measGapConfig.gapOffsetValue, 0, 39);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1561
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1562
            case LteRrcSap::MeasGapConfig::GP1:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1563
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1564
              SerializeChoice (2, 1, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1565
              SerializeInteger (measConfig.measGapConfig.gapOffsetValue, 0, 79);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1566
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1567
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1568
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1569
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1570
  if (measConfig.haveSmeasure )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1571
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1572
      SerializeInteger (measConfig.sMeasure, 0, 97);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1573
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1574
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1575
  // ...Here preRegistrationInfoHRPD would be serialized
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1576
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1577
  if (measConfig.haveSpeedStatePars )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1578
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1579
      switch (measConfig.speedStatePars.type)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1580
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1581
        case LteRrcSap::SpeedStatePars::RESET:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1582
          SerializeChoice (2, 0, false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1583
          SerializeNull ();
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1584
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1585
        case LteRrcSap::SpeedStatePars::SETUP:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1586
        default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1587
          SerializeChoice (2, 1, false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1588
          SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1589
          switch (measConfig.speedStatePars.mobilityStateParameters.tEvaluation)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1590
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1591
            case 30:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1592
              SerializeEnum (8, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1593
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1594
            case 60:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1595
              SerializeEnum (8, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1596
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1597
            case 120:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1598
              SerializeEnum (8, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1599
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1600
            case 180:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1601
              SerializeEnum (8, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1602
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1603
            case 240:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1604
              SerializeEnum (8, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1605
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1606
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1607
              SerializeEnum (8, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1608
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1609
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1610
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1611
          switch (measConfig.speedStatePars.mobilityStateParameters.tHystNormal)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1612
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1613
            case 30:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1614
              SerializeEnum (8, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1615
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1616
            case 60:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1617
              SerializeEnum (8, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1618
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1619
            case 120:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1620
              SerializeEnum (8, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1621
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1622
            case 180:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1623
              SerializeEnum (8, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1624
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1625
            case 240:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1626
              SerializeEnum (8, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1627
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1628
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1629
              SerializeEnum (8, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1630
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1631
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1632
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1633
          SerializeInteger (measConfig.speedStatePars.mobilityStateParameters.nCellChangeMedium, 1, 16);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1634
          SerializeInteger (measConfig.speedStatePars.mobilityStateParameters.nCellChangeHigh, 1, 16);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1635
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1636
          SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1637
          switch (measConfig.speedStatePars.timeToTriggerSf.sfMedium)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1638
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1639
            case 25:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1640
              SerializeEnum (4, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1641
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1642
            case 50:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1643
              SerializeEnum (4, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1644
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1645
            case 75:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1646
              SerializeEnum (4, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1647
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1648
            case 100:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1649
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1650
              SerializeEnum (4, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1651
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1652
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1653
          switch (measConfig.speedStatePars.timeToTriggerSf.sfHigh)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1654
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1655
            case 25:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1656
              SerializeEnum (4, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1657
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1658
            case 50:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1659
              SerializeEnum (4, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1660
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1661
            case 75:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1662
              SerializeEnum (4, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1663
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1664
            case 100:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1665
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1666
              SerializeEnum (4, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1667
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1668
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1669
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1670
}
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1671
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1672
Buffer::Iterator
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1673
RrcAsn1Header::DeserializeThresholdEutra (LteRrcSap::ThresholdEutra * thresholdEutra, Buffer::Iterator bIterator)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1674
{
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1675
  int thresholdEutraChoice, range;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1676
  bIterator = DeserializeChoice (2, false, &thresholdEutraChoice, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1677
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1678
  switch (thresholdEutraChoice)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1679
    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1680
    case 0:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1681
      thresholdEutra->choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRP;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1682
      bIterator = DeserializeInteger (&range, 0, 97, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1683
      thresholdEutra->range = range;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1684
      break;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1685
    case 1:
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1686
    default:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1687
      thresholdEutra->choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1688
      bIterator = DeserializeInteger (&range, 0, 34, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1689
      thresholdEutra->range = range;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1690
    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1691
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1692
  return bIterator;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1693
}
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1694
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1695
Buffer::Iterator
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1696
RrcAsn1Header::DeserializeQoffsetRange (int8_t * qOffsetRange, Buffer::Iterator bIterator)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1697
{
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1698
  int n;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1699
  bIterator = DeserializeEnum (31, &n, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1700
  switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1701
    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1702
    case 0:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1703
      *qOffsetRange = -24;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1704
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1705
    case 1:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1706
      *qOffsetRange = -22;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1707
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1708
    case 2:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1709
      *qOffsetRange = -20;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1710
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1711
    case 3:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1712
      *qOffsetRange = -18;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1713
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1714
    case 4:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1715
      *qOffsetRange = -16;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1716
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1717
    case 5:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1718
      *qOffsetRange = -14;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1719
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1720
    case 6:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1721
      *qOffsetRange = -12;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1722
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1723
    case 7:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1724
      *qOffsetRange = -10;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1725
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1726
    case 8:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1727
      *qOffsetRange = -8;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1728
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1729
    case 9:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1730
      *qOffsetRange = -6;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1731
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1732
    case 10:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1733
      *qOffsetRange = -5;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1734
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1735
    case 11:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1736
      *qOffsetRange = -4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1737
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1738
    case 12:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1739
      *qOffsetRange = -3;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1740
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1741
    case 13:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1742
      *qOffsetRange = -2;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1743
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1744
    case 14:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1745
      *qOffsetRange = -1;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1746
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1747
    case 15:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1748
      *qOffsetRange = 0;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1749
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1750
    case 16:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1751
      *qOffsetRange = 1;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1752
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1753
    case 17:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1754
      *qOffsetRange = 2;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1755
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1756
    case 18:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1757
      *qOffsetRange = 3;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1758
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1759
    case 19:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1760
      *qOffsetRange = 4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1761
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1762
    case 20:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1763
      *qOffsetRange = 5;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1764
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1765
    case 21:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1766
      *qOffsetRange = 6;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1767
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1768
    case 22:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1769
      *qOffsetRange = 8;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1770
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1771
    case 23:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1772
      *qOffsetRange = 10;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1773
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1774
    case 24:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1775
      *qOffsetRange = 12;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1776
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1777
    case 25:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1778
      *qOffsetRange = 14;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1779
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1780
    case 26:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1781
      *qOffsetRange = 16;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1782
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1783
    case 27:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1784
      *qOffsetRange = 18;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1785
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1786
    case 28:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1787
      *qOffsetRange = 20;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1788
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1789
    case 29:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1790
      *qOffsetRange = 22;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1791
      break;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1792
    case 30:
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1793
    default:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1794
      *qOffsetRange = 24;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1795
    }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1796
  return bIterator;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1797
}
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1798
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1799
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1800
RrcAsn1Header::DeserializeRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated *radioResourceConfigDedicated, Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1801
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1802
  // Deserialize RadioResourceConfigDedicated sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1803
  std::bitset<6> optionalFieldsPresent = std::bitset<6> ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1804
  bIterator = DeserializeSequence (&optionalFieldsPresent,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1805
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1806
  if (optionalFieldsPresent[5])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1807
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1808
      // Deserialize srb-ToAddModList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1809
      bIterator = DeserializeSrbToAddModList (&(radioResourceConfigDedicated->srbToAddModList),bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1810
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1811
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1812
  if (optionalFieldsPresent[4])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1813
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1814
      // Deserialize drb-ToAddModList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1815
      bIterator = DeserializeDrbToAddModList (&(radioResourceConfigDedicated->drbToAddModList),bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1816
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1817
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1818
  if (optionalFieldsPresent[3])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1819
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1820
      // Deserialize drb-ToReleaseList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1821
      int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1822
      int val;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1823
      bIterator = DeserializeSequenceOf (&n,MAX_DRB,1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1824
      for (int i = 0; i < n; i++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1825
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1826
          bIterator = DeserializeInteger (&val,1,32,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1827
          radioResourceConfigDedicated->drbToReleaseList.push_back (val);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1828
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1829
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1830
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1831
  if (optionalFieldsPresent[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1832
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1833
      // Deserialize mac-MainConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1834
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1835
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1836
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1837
  if (optionalFieldsPresent[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1838
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1839
      // Deserialize sps-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1840
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1841
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1842
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1843
  radioResourceConfigDedicated->havePhysicalConfigDedicated = optionalFieldsPresent[0];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1844
  if (optionalFieldsPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1845
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1846
      // Deserialize physicalConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1847
      bIterator = DeserializePhysicalConfigDedicated (&radioResourceConfigDedicated->physicalConfigDedicated,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1848
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1849
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1850
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1851
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1852
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1853
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1854
RrcAsn1Header::DeserializeSrbToAddModList (std::list<LteRrcSap::SrbToAddMod> *srbToAddModList, Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1855
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1856
  int numElems;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1857
  bIterator = DeserializeSequenceOf (&numElems,2,1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1858
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1859
  srbToAddModList->clear ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1860
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1861
  // Deserialize SRB-ToAddMod elements
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1862
  for (int i = 0; i < numElems; i++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1863
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1864
      LteRrcSap::SrbToAddMod srbToAddMod;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1865
      // Deserialize SRB-ToAddMod sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1866
      // 2 optional fields, extension marker present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1867
      std::bitset<2> optionalFields;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1868
      bIterator = DeserializeSequence (&optionalFields,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1869
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1870
      // Deserialize srbIdentity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1871
      int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1872
      bIterator = DeserializeInteger (&n,1,2,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1873
      srbToAddMod.srbIdentity = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1874
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1875
      if (optionalFields[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1876
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1877
          // Deserialize rlcConfig choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1878
          // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1879
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1880
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1881
      if (optionalFields[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1882
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1883
          // Deserialize logicalChannelConfig choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1884
          int sel;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  1885
          bIterator = DeserializeChoice (2,false,&sel,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1886
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1887
          // Deserialize logicalChannelConfig defaultValue
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1888
          if (sel == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1889
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1890
              bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1891
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1892
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1893
          // Deserialize logicalChannelConfig explicitValue
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1894
          else if (sel == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1895
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1896
              bIterator = DeserializeLogicalChannelConfig (&srbToAddMod.logicalChannelConfig,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1897
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1898
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1899
      srbToAddModList->insert (srbToAddModList->end (),srbToAddMod);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1900
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1901
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1902
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1903
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1904
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1905
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1906
RrcAsn1Header::DeserializeDrbToAddModList (std::list<LteRrcSap::DrbToAddMod> *drbToAddModList, Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1907
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1908
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1909
  int val;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1910
  bIterator = DeserializeSequenceOf (&n,MAX_DRB,1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1911
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1912
  drbToAddModList->clear ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1913
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1914
  for (int i = 0; i < n; i++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1915
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1916
      LteRrcSap::DrbToAddMod drbToAddMod;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1917
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1918
      std::bitset<5> optionalFields;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1919
      bIterator = DeserializeSequence (&optionalFields,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1920
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1921
      if (optionalFields[4])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1922
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1923
          // Deserialize epsBearerIdentity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1924
          bIterator = DeserializeInteger (&val,0,15,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1925
          drbToAddMod.epsBearerIdentity = val;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1926
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1927
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1928
      bIterator = DeserializeInteger (&val,1,32,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1929
      drbToAddMod.drbIdentity = val;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1930
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1931
      if (optionalFields[3])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1932
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1933
          // Deserialize pdcp-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1934
          // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1935
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1936
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1937
      if (optionalFields[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1938
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1939
          // Deserialize RLC-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1940
          int chosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  1941
          bIterator = DeserializeChoice (4,true,&chosen,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1942
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1943
          int sel;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1944
          std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1945
          switch (chosen)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1946
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1947
            case 0:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1948
              drbToAddMod.rlcConfig.choice = LteRrcSap::RlcConfig::AM;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1949
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1950
              // Deserialize UL-AM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  1951
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1952
              bIterator = DeserializeEnum (64,&sel, bIterator); // t-PollRetransmit
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1953
              bIterator = DeserializeEnum (8,&sel, bIterator); // pollPDU
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1954
              bIterator = DeserializeEnum (16,&sel, bIterator); // pollByte
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1955
              bIterator = DeserializeEnum (8,&sel, bIterator); // maxRetxThreshold
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1956
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1957
              // Deserialize DL-AM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  1958
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1959
              bIterator = DeserializeEnum (32,&sel, bIterator); // t-Reordering
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1960
              bIterator = DeserializeEnum (64,&sel, bIterator); // t-StatusProhibit
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1961
              break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1962
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1963
            case 1:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1964
              drbToAddMod.rlcConfig.choice = LteRrcSap::RlcConfig::UM_BI_DIRECTIONAL;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1965
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1966
              // Deserialize UL-UM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  1967
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1968
              bIterator = DeserializeEnum (2,&sel, bIterator); // sn-FieldLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1969
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1970
              // Deserialize DL-UM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  1971
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1972
              bIterator = DeserializeEnum (2,&sel, bIterator); // sn-FieldLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1973
              bIterator = DeserializeEnum (32,&sel, bIterator); // t-Reordering
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1974
              break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1975
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1976
            case 2:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1977
              drbToAddMod.rlcConfig.choice = LteRrcSap::RlcConfig::UM_UNI_DIRECTIONAL_UL;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1978
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1979
              // Deserialize UL-UM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  1980
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1981
              bIterator = DeserializeEnum (2,&sel, bIterator); // sn-FieldLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1982
              break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1983
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1984
            case 3:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1985
              drbToAddMod.rlcConfig.choice = LteRrcSap::RlcConfig::UM_UNI_DIRECTIONAL_DL;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1986
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1987
              // Deserialize DL-UM-RLC
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  1988
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1989
              bIterator = DeserializeEnum (2,&sel, bIterator); // sn-FieldLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1990
              bIterator = DeserializeEnum (32,&sel, bIterator); // t-Reordering
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1991
              break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1992
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1993
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1994
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1995
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1996
      if (optionalFields[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1997
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1998
          bIterator = DeserializeInteger (&val,3,10,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1999
          drbToAddMod.logicalChannelIdentity = val;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2000
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2001
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2002
      if (optionalFields[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2003
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2004
          bIterator = DeserializeLogicalChannelConfig (&drbToAddMod.logicalChannelConfig,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2005
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2006
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2007
      drbToAddModList->insert (drbToAddModList->end (),drbToAddMod);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2008
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2009
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2010
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2011
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2012
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2013
RrcAsn1Header::DeserializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig *logicalChannelConfig, Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2014
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2015
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2016
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2017
  // Deserialize LogicalChannelConfig sequence
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2018
  // 1 optional field, extension marker is present.
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2019
  std::bitset<1> bitset1;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2020
  bIterator = DeserializeSequence (&bitset1,true,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2021
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2022
  if (bitset1[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2023
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2024
      // Deserialize ul-SpecificParameters sequence
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2025
      bIterator = DeserializeSequence (&bitset1,false,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2026
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2027
      // Deserialize priority
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2028
      bIterator = DeserializeInteger (&n,1,16,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2029
      logicalChannelConfig->priority = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2030
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2031
      // Deserialize prioritisedBitRate
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2032
      bIterator = DeserializeEnum (16,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2033
      uint16_t prioritizedBitRateKbps;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2034
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2035
      switch (n)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2036
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2037
        case 0:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2038
          prioritizedBitRateKbps = 0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2039
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2040
        case 1:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2041
          prioritizedBitRateKbps = 8;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2042
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2043
        case 2:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2044
          prioritizedBitRateKbps = 16;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2045
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2046
        case 3:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2047
          prioritizedBitRateKbps = 32;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2048
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2049
        case 4:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2050
          prioritizedBitRateKbps = 64;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2051
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2052
        case 5:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2053
          prioritizedBitRateKbps = 128;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2054
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2055
        case 6:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2056
          prioritizedBitRateKbps = 256;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2057
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2058
        case 7:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2059
          prioritizedBitRateKbps = 10000;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2060
          break;
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  2061
        default:
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  2062
          prioritizedBitRateKbps = 10000;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2063
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2064
      logicalChannelConfig->prioritizedBitRateKbps = prioritizedBitRateKbps;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2065
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2066
      // Deserialize bucketSizeDuration
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2067
      bIterator = DeserializeEnum (8,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2068
      uint16_t bucketSizeDurationMs;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2069
      switch (n)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2070
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2071
        case 0:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2072
          bucketSizeDurationMs = 50;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2073
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2074
        case 1:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2075
          bucketSizeDurationMs = 100;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2076
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2077
        case 2:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2078
          bucketSizeDurationMs = 150;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2079
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2080
        case 3:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2081
          bucketSizeDurationMs = 300;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2082
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2083
        case 4:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2084
          bucketSizeDurationMs = 500;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2085
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2086
        case 5:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2087
          bucketSizeDurationMs = 1000;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2088
          break;
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  2089
        default:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2090
          bucketSizeDurationMs = 1000;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2091
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2092
      logicalChannelConfig->bucketSizeDurationMs = bucketSizeDurationMs;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2093
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2094
      if (bitset1[0])
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  2095
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  2096
          // Deserialize logicalChannelGroup
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  2097
          bIterator = DeserializeInteger (&n,0,3,bIterator);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  2098
          logicalChannelConfig->logicalChannelGroup = n;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  2099
        }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2100
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2101
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2102
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2103
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2104
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2105
RrcAsn1Header::DeserializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedicated *physicalConfigDedicated, Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2106
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2107
  std::bitset<10> optionalFieldPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2108
  bIterator = DeserializeSequence (&optionalFieldPresent,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2109
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2110
  physicalConfigDedicated->havePdschConfigDedicated = optionalFieldPresent[9];
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2111
  if (optionalFieldPresent[9])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2112
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2113
      // Deserialize pdsch-ConfigDedicated
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2114
      std::bitset<0> bitset0;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2115
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2116
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2117
      int slct;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2118
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2119
      // Deserialize p-a
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2120
      bIterator = DeserializeEnum (8,&slct,bIterator);
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2121
      physicalConfigDedicated->pdschConfigDedicated.pa = slct;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2122
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2123
      bIterator = DeserializeNull (bIterator);
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10218
diff changeset
  2124
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2125
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2126
  if (optionalFieldPresent[8])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2127
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2128
      // Deserialize pucch-ConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2129
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2130
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2131
  if (optionalFieldPresent[7])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2132
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2133
      // Deserialize pusch-ConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2134
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2135
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2136
  if (optionalFieldPresent[6])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2137
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2138
      // Deserialize uplinkPowerControlDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2139
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2140
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2141
  if (optionalFieldPresent[5])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2142
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2143
      // Deserialize tpc-PDCCH-ConfigPUCCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2144
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2145
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2146
  if (optionalFieldPresent[4])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2147
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2148
      // Deserialize tpc-PDCCH-ConfigPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2149
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2150
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2151
  if (optionalFieldPresent[3])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2152
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2153
      // Deserialize cqi-ReportConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2154
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2155
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2156
  physicalConfigDedicated->haveSoundingRsUlConfigDedicated = optionalFieldPresent[2];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2157
  if (optionalFieldPresent[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2158
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2159
      // Deserialize soundingRS-UL-ConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2160
      int sel;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2161
      bIterator = DeserializeChoice (2,false,&sel,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2162
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2163
      if (sel == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2164
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2165
          physicalConfigDedicated->soundingRsUlConfigDedicated.type = LteRrcSap::SoundingRsUlConfigDedicated::RESET;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2166
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2167
          bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2168
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2169
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2170
      else if (sel == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2171
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2172
          physicalConfigDedicated->soundingRsUlConfigDedicated.type = LteRrcSap::SoundingRsUlConfigDedicated::SETUP;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2173
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2174
          std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2175
          bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2176
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2177
          int slct;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2178
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2179
          // Deserialize srs-Bandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2180
          bIterator = DeserializeEnum (4,&slct,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2181
          physicalConfigDedicated->soundingRsUlConfigDedicated.srsBandwidth = slct;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2182
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2183
          // Deserialize srs-HoppingBandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2184
          bIterator = DeserializeEnum (4,&slct,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2185
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2186
          // Deserialize freqDomainPosition
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2187
          bIterator = DeserializeInteger (&slct,0,23,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2188
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2189
          // Deserialize duration
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2190
          bool duration;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2191
          bIterator = DeserializeBoolean (&duration,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2192
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2193
          // Deserialize srs-ConfigIndex
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2194
          bIterator = DeserializeInteger (&slct,0,1023,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2195
          physicalConfigDedicated->soundingRsUlConfigDedicated.srsConfigIndex = slct;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2196
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2197
          // Deserialize transmissionComb
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2198
          bIterator = DeserializeInteger (&slct,0,1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2199
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2200
          // Deserialize cyclicShift
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2201
          bIterator = DeserializeEnum (8,&slct,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2202
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2203
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2204
  physicalConfigDedicated->haveAntennaInfoDedicated = optionalFieldPresent[1];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2205
  if (optionalFieldPresent[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2206
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2207
      // Deserialize antennaInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2208
      int sel;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2209
      bIterator = DeserializeChoice (2,false,&sel,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2210
      if (sel == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2211
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2212
          bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2213
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2214
      else if (sel == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2215
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2216
          std::bitset<1> codebookSubsetRestrictionPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2217
          bIterator = DeserializeSequence (&codebookSubsetRestrictionPresent,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2218
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2219
          int txmode;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2220
          bIterator = DeserializeEnum (8,&txmode,bIterator);
9651
0c8f2173327d Assume the value in the struct antennaInfo.transmissionMode is the enum index.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9650
diff changeset
  2221
          physicalConfigDedicated->antennaInfo.transmissionMode = txmode;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2222
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2223
          if (codebookSubsetRestrictionPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2224
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2225
              // Deserialize codebookSubsetRestriction
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2226
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2227
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2228
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2229
          int txantennaselchosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2230
          bIterator = DeserializeChoice (2,false,&txantennaselchosen,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2231
          if (txantennaselchosen == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2232
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2233
              // Deserialize ue-TransmitAntennaSelection release
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2234
              bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2235
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2236
          else if (txantennaselchosen == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2237
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2238
              // Deserialize ue-TransmitAntennaSelection setup
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2239
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2240
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2241
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2242
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2243
  if (optionalFieldPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2244
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2245
      // Deserialize schedulingRequestConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2246
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2247
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2248
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2249
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2250
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2251
void
10218
97da49da2d6c Fix compilation with Clang 3.2 and newer versions, including Apple Clang 5.0
Vedran Miletić <rivanvx@gmail.com>
parents: 10116
diff changeset
  2252
RrcAsn1Header::Print (std::ostream &os) const
97da49da2d6c Fix compilation with Clang 3.2 and newer versions, including Apple Clang 5.0
Vedran Miletić <rivanvx@gmail.com>
parents: 10116
diff changeset
  2253
{
97da49da2d6c Fix compilation with Clang 3.2 and newer versions, including Apple Clang 5.0
Vedran Miletić <rivanvx@gmail.com>
parents: 10116
diff changeset
  2254
  NS_LOG_FUNCTION (this << &os);
97da49da2d6c Fix compilation with Clang 3.2 and newer versions, including Apple Clang 5.0
Vedran Miletić <rivanvx@gmail.com>
parents: 10116
diff changeset
  2255
  NS_FATAL_ERROR ("RrcAsn1Header Print() function must also specify LteRrcSap::RadioResourceConfigDedicated as a second argument");
97da49da2d6c Fix compilation with Clang 3.2 and newer versions, including Apple Clang 5.0
Vedran Miletić <rivanvx@gmail.com>
parents: 10116
diff changeset
  2256
}
97da49da2d6c Fix compilation with Clang 3.2 and newer versions, including Apple Clang 5.0
Vedran Miletić <rivanvx@gmail.com>
parents: 10116
diff changeset
  2257
97da49da2d6c Fix compilation with Clang 3.2 and newer versions, including Apple Clang 5.0
Vedran Miletić <rivanvx@gmail.com>
parents: 10116
diff changeset
  2258
void
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2259
RrcAsn1Header::Print (std::ostream &os, LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2260
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2261
  os << "   srbToAddModList: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2262
  std::list<LteRrcSap::SrbToAddMod>::iterator it = radioResourceConfigDedicated.srbToAddModList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2263
  for (; it != radioResourceConfigDedicated.srbToAddModList.end (); it++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2264
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2265
      os << "      srbIdentity: " << (int)it->srbIdentity << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2266
      os << "      logicalChannelConfig: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2267
      os << "         priority: " <<  (int)it->logicalChannelConfig.priority << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2268
      os << "         prioritizedBitRateKbps: " <<  (int)it->logicalChannelConfig.prioritizedBitRateKbps << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2269
      os << "         bucketSizeDurationMs: " <<  (int)it->logicalChannelConfig.bucketSizeDurationMs << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2270
      os << "         logicalChannelGroup: " <<  (int)it->logicalChannelConfig.logicalChannelGroup << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2271
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2272
  os << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2273
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2274
  os << "   drbToAddModList: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2275
  std::list<LteRrcSap::DrbToAddMod>::iterator it2 = radioResourceConfigDedicated.drbToAddModList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2276
  for (; it2 != radioResourceConfigDedicated.drbToAddModList.end (); it2++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2277
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2278
      os << "      epsBearerIdentity: " << (int)it2->epsBearerIdentity << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2279
      os << "      drbIdentity: " << (int)it2->drbIdentity << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2280
      os << "      rlcConfig: " << it2->rlcConfig.choice << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2281
      os << "      logicalChannelIdentity: " << (int)it2->logicalChannelIdentity << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2282
      os << "      logicalChannelConfig: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2283
      os << "         priority: " <<  (int)it2->logicalChannelConfig.priority << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2284
      os << "         prioritizedBitRateKbps: " <<  (int)it2->logicalChannelConfig.prioritizedBitRateKbps << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2285
      os << "         bucketSizeDurationMs: " <<  (int)it2->logicalChannelConfig.bucketSizeDurationMs << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2286
      os << "         logicalChannelGroup: " <<  (int)it2->logicalChannelConfig.logicalChannelGroup << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2287
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2288
  os << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2289
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2290
  os << "   drbToReleaseList: ";
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2291
  std::list<uint8_t>::iterator it3 = radioResourceConfigDedicated.drbToReleaseList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2292
  for (; it3 != radioResourceConfigDedicated.drbToReleaseList.end (); it3++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2293
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2294
      os << (int)*it3 << ", ";
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2295
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2296
  os << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2297
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2298
  os << "   havePhysicalConfigDedicated: " << radioResourceConfigDedicated.havePhysicalConfigDedicated << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2299
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2300
  if (radioResourceConfigDedicated.havePhysicalConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2301
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2302
      os << "   physicalConfigDedicated: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2303
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2304
      os << "      haveSoundingRsUlConfigDedicated: " << radioResourceConfigDedicated.physicalConfigDedicated.haveSoundingRsUlConfigDedicated << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2305
      if (radioResourceConfigDedicated.physicalConfigDedicated.haveSoundingRsUlConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2306
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2307
          os << "      soundingRsUlConfigDedicated: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2308
          os << "         type: " << radioResourceConfigDedicated.physicalConfigDedicated.soundingRsUlConfigDedicated.type << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2309
          os << "         srsBandwidth: " << (int)radioResourceConfigDedicated.physicalConfigDedicated.soundingRsUlConfigDedicated.srsBandwidth << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2310
          os << "         srsConfigIndex: " << (int)radioResourceConfigDedicated.physicalConfigDedicated.soundingRsUlConfigDedicated.srsConfigIndex << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2311
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2312
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2313
      os << "      haveAntennaInfoDedicated: " << radioResourceConfigDedicated.physicalConfigDedicated.haveAntennaInfoDedicated << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2314
      if (radioResourceConfigDedicated.physicalConfigDedicated.haveAntennaInfoDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2315
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2316
          os << "      antennaInfo Tx mode: " << (int)radioResourceConfigDedicated.physicalConfigDedicated.antennaInfo.transmissionMode << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2317
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2318
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2319
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2320
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2321
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2322
RrcAsn1Header::DeserializeSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 *systemInformationBlockType1, Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2323
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2324
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2325
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2326
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2327
  std::bitset<3> sysInfoBlkT1Opts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2328
  bIterator = DeserializeSequence (&sysInfoBlkT1Opts,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2329
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2330
  // Deserialize cellAccessRelatedInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2331
  std::bitset<1> cellAccessRelatedInfoOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2332
  bIterator = DeserializeSequence (&cellAccessRelatedInfoOpts,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2333
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2334
  // Deserialize plmn-IdentityList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2335
  int numPlmnIdentityInfoElements;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2336
  bIterator = DeserializeSequenceOf (&numPlmnIdentityInfoElements,6,1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2337
  for (int i = 0; i < numPlmnIdentityInfoElements; i++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2338
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2339
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2340
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2341
      // plmn-Identity
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2342
      bIterator = DeserializePlmnIdentity (&systemInformationBlockType1->cellAccessRelatedInfo.plmnIdentityInfo.plmnIdentity,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2343
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2344
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2345
  // Deserialize trackingAreaCode
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2346
  std::bitset<16> trackingAreaCode;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2347
  bIterator = DeserializeBitstring (&trackingAreaCode,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2348
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2349
  // Deserialize cellIdentity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2350
  std::bitset<28> cellIdentity;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2351
  bIterator = DeserializeBitstring (&cellIdentity,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2352
  systemInformationBlockType1->cellAccessRelatedInfo.cellIdentity = cellIdentity.to_ulong ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2353
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2354
  // Deserialize cellBarred
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2355
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2356
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2357
  // Deserialize intraFreqReselection
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2358
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2359
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2360
  // Deserialize csg-Indication
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2361
  bIterator = DeserializeBoolean (&systemInformationBlockType1->cellAccessRelatedInfo.csgIndication,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2362
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2363
  if (cellAccessRelatedInfoOpts[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2364
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2365
      // Deserialize csg-Identity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2366
      std::bitset<27> csgIdentity;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2367
      bIterator = DeserializeBitstring (&csgIdentity,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2368
      systemInformationBlockType1->cellAccessRelatedInfo.csgIdentity = csgIdentity.to_ulong ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2369
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2370
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2371
  // Deserialize cellSelectionInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2372
  std::bitset<1> qRxLevMinOffsetPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2373
  bIterator = DeserializeSequence (&qRxLevMinOffsetPresent,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2374
  bIterator = DeserializeInteger (&n,-70,-22,bIterator); //q-RxLevMin
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2375
  if (qRxLevMinOffsetPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2376
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2377
      // Deserialize qRxLevMinOffset
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2378
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2379
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2380
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2381
  if (sysInfoBlkT1Opts[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2382
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2383
      // Deserialize p-Max
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2384
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2385
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2386
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2387
  // freqBandIndicator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2388
  bIterator = DeserializeInteger (&n,1,64,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2389
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2390
  // schedulingInfoList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2391
  int numSchedulingInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2392
  bIterator = DeserializeSequenceOf (&numSchedulingInfo,MAX_SI_MESSAGE,1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2393
  for (int i = 0; i < numSchedulingInfo; i++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2394
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2395
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2396
      bIterator = DeserializeEnum (7,&n,bIterator); // si-Periodicity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2397
      int numSibType;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2398
      bIterator = DeserializeSequenceOf (&numSibType,MAX_SIB - 1,0, bIterator); // sib-MappingInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2399
      for (int j = 0; j < numSibType; j++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2400
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2401
          bIterator = DeserializeEnum (16,&n,bIterator); // SIB-Type
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2402
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2403
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2404
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2405
  if (sysInfoBlkT1Opts[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2406
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2407
      // tdd-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2408
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2409
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2410
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2411
  // si-WindowLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2412
  bIterator = DeserializeEnum (7,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2413
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2414
  // systemInfoValueTag
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2415
  bIterator = DeserializeInteger (&n,0,31,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2416
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2417
  if (sysInfoBlkT1Opts[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2418
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2419
      // Deserialize nonCriticalExtension
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2420
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2421
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2422
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2423
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2424
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2425
Buffer::Iterator
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2426
RrcAsn1Header::DeserializeSystemInformationBlockType2 (LteRrcSap::SystemInformationBlockType2 *systemInformationBlockType2, Buffer::Iterator bIterator)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2427
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2428
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2429
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2430
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2431
  std::bitset<2> sysInfoBlkT2Opts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2432
  bIterator = DeserializeSequence (&sysInfoBlkT2Opts,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2433
  if (sysInfoBlkT2Opts[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2434
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2435
      // Deserialize ac-BarringInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2436
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2437
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2438
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2439
  // Deserialize radioResourceConfigCommon
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2440
  bIterator = DeserializeRadioResourceConfigCommonSib (&systemInformationBlockType2->radioResourceConfigCommon, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2441
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2442
  // Deserialize ue-TimersAndConstants
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2443
  bIterator = DeserializeSequence (&bitset0,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2444
  bIterator = DeserializeEnum (8,&n,bIterator); // t300
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2445
  bIterator = DeserializeEnum (8,&n,bIterator); // t301
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2446
  bIterator = DeserializeEnum (7,&n,bIterator); // t310
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2447
  bIterator = DeserializeEnum (8,&n,bIterator); // n310
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2448
  bIterator = DeserializeEnum (7,&n,bIterator); // t311
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2449
  bIterator = DeserializeEnum (8,&n,bIterator); // n311
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2450
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2451
  // Deserialize freqInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2452
  std::bitset<2> freqInfoOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2453
  bIterator = DeserializeSequence (&freqInfoOpts,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2454
  if (freqInfoOpts[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2455
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2456
      // Deserialize ul-CarrierFreq
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2457
      bIterator = DeserializeInteger (&n, 0, MAX_EARFCN, bIterator);
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2458
      systemInformationBlockType2->freqInfo.ulCarrierFreq = n;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2459
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2460
  if (freqInfoOpts[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2461
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2462
      // Deserialize ul-Bandwidth
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2463
      bIterator = DeserializeEnum (6, &n, bIterator);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2464
      switch (n)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2465
        {
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2466
        case 0:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2467
          systemInformationBlockType2->freqInfo.ulBandwidth = 6;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2468
          break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2469
        case 1:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2470
          systemInformationBlockType2->freqInfo.ulBandwidth = 15;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2471
          break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2472
        case 2:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2473
          systemInformationBlockType2->freqInfo.ulBandwidth = 25;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2474
          break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2475
        case 3:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2476
          systemInformationBlockType2->freqInfo.ulBandwidth = 50;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2477
          break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2478
        case 4:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2479
          systemInformationBlockType2->freqInfo.ulBandwidth = 75;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2480
          break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2481
        case 5:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2482
          systemInformationBlockType2->freqInfo.ulBandwidth = 100;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2483
          break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2484
        default:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2485
          systemInformationBlockType2->freqInfo.ulBandwidth = 6;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2486
        }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2487
    }
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2488
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2489
  // additionalSpectrumEmission
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2490
  bIterator = DeserializeInteger (&n,1,32,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2491
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2492
  if (sysInfoBlkT2Opts[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2493
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2494
      // Deserialize mbsfn-SubframeConfigList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2495
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2496
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2497
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2498
  // Deserialize timeAlignmentTimerCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2499
  bIterator = DeserializeEnum (8,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2500
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2501
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2502
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2503
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2504
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2505
Buffer::Iterator
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2506
RrcAsn1Header::DeserializeRadioResourceConfigCommon (LteRrcSap::RadioResourceConfigCommon * radioResourceConfigCommon, Buffer::Iterator bIterator)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2507
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2508
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2509
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2510
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2511
  std::bitset<9> rrCfgCommOptions;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2512
  bIterator = DeserializeSequence (&rrCfgCommOptions,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2513
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2514
  // rach-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2515
  if (rrCfgCommOptions[8])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2516
    {
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2517
      bIterator = DeserializeRachConfigCommon (&radioResourceConfigCommon->rachConfigCommon, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2518
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2519
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2520
  // prach-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2521
  std::bitset<1> prachConfigInfoPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2522
  bIterator = DeserializeSequence (&prachConfigInfoPresent,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2523
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2524
  // prach-Config -> rootSequenceIndex
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2525
  bIterator = DeserializeInteger (&n,0,1023,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2526
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2527
  // prach-Config -> prach-ConfigInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2528
  if (prachConfigInfoPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2529
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2530
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2531
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2532
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2533
  // pdsch-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2534
  if (rrCfgCommOptions[7])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2535
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2536
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2537
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2538
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2539
  // pusch-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2540
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2541
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2542
  // pusch-ConfigCommon -> pusch-ConfigBasic
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2543
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2544
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2545
  // pusch-ConfigCommon -> pusch-ConfigBasic -> n-SB
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2546
  bIterator = DeserializeInteger (&n,1,4,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2547
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2548
  // pusch-ConfigCommon -> pusch-ConfigBasic -> hoppingMode
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2549
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2550
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2551
  // pusch-ConfigCommon -> pusch-ConfigBasic -> pusch-HoppingOffset
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2552
  bIterator = DeserializeInteger (&n,0,98,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2553
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2554
  // pusch-ConfigCommon -> pusch-ConfigBasic -> enable64QAM
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2555
  bool enable64QAM;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2556
  bIterator = DeserializeBoolean (&enable64QAM,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2557
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2558
  // ul-ReferenceSignalsPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2559
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2560
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2561
  // groupHoppingEnabled
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2562
  bool dummyBool;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2563
  bIterator = DeserializeBoolean (&dummyBool,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2564
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2565
  // groupAssignmentPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2566
  bIterator = DeserializeInteger (&n,0,29,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2567
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2568
  // sequenceHoppingEnabled
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2569
  bIterator = DeserializeBoolean (&dummyBool,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2570
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2571
  // cyclicShift
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2572
  bIterator = DeserializeInteger (&n,0,7,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2573
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2574
  // phich-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2575
  if (rrCfgCommOptions[6])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2576
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2577
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2578
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2579
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2580
  // pucch-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2581
  if (rrCfgCommOptions[5])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2582
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2583
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2584
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2585
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2586
  // soundingRS-UL-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2587
  if (rrCfgCommOptions[4])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2588
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2589
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2590
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2591
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2592
  // uplinkPowerControlCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2593
  if (rrCfgCommOptions[3])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2594
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2595
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2596
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2597
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2598
  // antennaInfoCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2599
  if (rrCfgCommOptions[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2600
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2601
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2602
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2603
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2604
  // p-Max
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2605
  if (rrCfgCommOptions[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2606
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2607
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2608
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2609
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2610
  // tdd-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2611
  if (rrCfgCommOptions[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2612
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2613
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2614
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2615
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2616
  // ul-CyclicPrefixLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2617
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2618
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2619
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2620
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2621
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2622
Buffer::Iterator
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2623
RrcAsn1Header::DeserializeRachConfigCommon (LteRrcSap::RachConfigCommon * rachConfigCommon, Buffer::Iterator bIterator)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2624
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2625
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2626
  int n;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2627
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2628
  bIterator = DeserializeSequence (&bitset0,true,bIterator);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2629
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2630
  // preambleInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2631
  std::bitset<1> preamblesGroupAConfigPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2632
  bIterator = DeserializeSequence (&preamblesGroupAConfigPresent,false,bIterator);
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2633
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2634
  // numberOfRA-Preambles
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2635
  bIterator = DeserializeEnum (16,&n,bIterator);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2636
  switch (n)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2637
    {
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2638
    case 0:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2639
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 4;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2640
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2641
    case 1:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2642
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 8;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2643
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2644
    case 2:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2645
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 12;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2646
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2647
    case 3:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2648
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 16;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2649
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2650
    case 4:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2651
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 20;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2652
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2653
    case 5:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2654
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 24;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2655
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2656
    case 6:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2657
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 28;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2658
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2659
    case 7:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2660
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 32;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2661
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2662
    case 8:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2663
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 36;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2664
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2665
    case 9:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2666
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 40;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2667
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2668
    case 10:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2669
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 44;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2670
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2671
    case 11:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2672
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 48;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2673
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2674
    case 12:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2675
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 52;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2676
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2677
    case 13:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2678
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 56;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2679
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2680
    case 14:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2681
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 60;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2682
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2683
    case 15:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2684
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 64;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2685
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2686
    default:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2687
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 0;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2688
    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2689
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2690
  rachConfigCommon->preambleInfo.numberOfRaPreambles = n;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2691
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2692
  if (preamblesGroupAConfigPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2693
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2694
      // Deserialize preamblesGroupAConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2695
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2696
    }
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2697
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2698
  // powerRampingParameters
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2699
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2700
  bIterator = DeserializeEnum (4,&n,bIterator); // powerRampingStep
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2701
  bIterator = DeserializeEnum (16,&n,bIterator); // preambleInitialReceivedTargetPower
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2702
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2703
  // ra-SupervisionInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2704
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2705
  bIterator = DeserializeEnum (11,&n,bIterator); // preambleTransMax
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2706
  switch (n)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2707
    {
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2708
    case 0:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2709
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 3;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2710
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2711
    case 1:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2712
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 4;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2713
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2714
    case 2:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2715
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 5;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2716
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2717
    case 3:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2718
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 6;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2719
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2720
    case 4:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2721
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 7;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2722
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2723
    case 5:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2724
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 8;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2725
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2726
    case 6:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2727
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 10;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2728
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2729
    case 7:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2730
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 20;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2731
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2732
    case 8:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2733
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 50;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2734
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2735
    case 9:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2736
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 100;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2737
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2738
    case 10:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2739
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 200;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2740
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2741
    default:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2742
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 0;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2743
    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2744
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2745
  // ra-ResponseWindowSize
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2746
  bIterator = DeserializeEnum (8,&n,bIterator);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2747
  switch (n)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2748
    {
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2749
    case 0:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2750
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 2;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2751
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2752
    case 1:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2753
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 3;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2754
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2755
    case 2:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2756
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 4;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2757
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2758
    case 3:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2759
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 5;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2760
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2761
    case 4:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2762
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 6;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2763
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2764
    case 5:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2765
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 7;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2766
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2767
    case 6:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2768
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 8;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2769
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2770
    case 7:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2771
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 10;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2772
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2773
    default:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2774
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 0;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2775
    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2776
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2777
  bIterator = DeserializeEnum (8,&n,bIterator); // mac-ContentionResolutionTimer
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2778
  bIterator = DeserializeInteger (&n,1,8,bIterator); //maxHARQ-Msg3Tx
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2779
  return bIterator;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2780
}
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2781
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2782
Buffer::Iterator
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2783
RrcAsn1Header::DeserializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceConfigCommonSib * radioResourceConfigCommonSib, Buffer::Iterator bIterator)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2784
{
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2785
  std::bitset<0> bitset0;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2786
  int n;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2787
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2788
  bIterator = DeserializeSequence (&bitset0,true,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2789
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2790
  // rach-ConfigCommon
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2791
  bIterator = DeserializeRachConfigCommon (&radioResourceConfigCommonSib->rachConfigCommon, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2792
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2793
  // bcch-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2794
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2795
  bIterator = DeserializeEnum (4,&n,bIterator); // modificationPeriodCoeff
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2796
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2797
  // pcch-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2798
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2799
  bIterator = DeserializeEnum (4,&n,bIterator); // defaultPagingCycle
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2800
  bIterator = DeserializeEnum (8,&n,bIterator); // nB
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2801
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2802
  // prach-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2803
  std::bitset<1> prachConfigInfoPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2804
  bIterator = DeserializeSequence (&prachConfigInfoPresent,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2805
  // prach-Config -> rootSequenceIndex
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2806
  bIterator = DeserializeInteger (&n,0,1023,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2807
  // prach-Config -> prach-ConfigInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2808
  if (prachConfigInfoPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2809
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2810
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2811
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2812
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2813
  // pdsch-ConfigCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2814
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2815
  bIterator = DeserializeInteger (&n,-60,50,bIterator); // referenceSignalPower
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2816
  bIterator = DeserializeInteger (&n,0,3,bIterator); // p-b
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2817
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2818
  // pusch-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2819
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2820
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2821
  // pusch-ConfigCommon -> pusch-ConfigBasic
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2822
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2823
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2824
  // pusch-ConfigCommon -> pusch-ConfigBasic -> n-SB
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2825
  bIterator = DeserializeInteger (&n,1,4,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2826
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2827
  // pusch-ConfigCommon -> pusch-ConfigBasic -> hoppingMode
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2828
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2829
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2830
  // pusch-ConfigCommon -> pusch-ConfigBasic -> pusch-HoppingOffset
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2831
  bIterator = DeserializeInteger (&n,0,98,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2832
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2833
  // pusch-ConfigCommon -> pusch-ConfigBasic -> enable64QAM
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2834
  bool dummyBoolean;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2835
  bIterator = DeserializeBoolean (&dummyBoolean,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2836
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2837
  // ul-ReferenceSignalsPUSCH 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2838
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2839
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2840
  // groupHoppingEnabled 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2841
  bIterator = DeserializeBoolean (&dummyBoolean,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2842
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2843
  // groupAssignmentPUSCH 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2844
  bIterator = DeserializeInteger (&n,0,29,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2845
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2846
  // sequenceHoppingEnabled 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2847
  bIterator = DeserializeBoolean (&dummyBoolean,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2848
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2849
  // cyclicShift 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2850
  bIterator = DeserializeInteger (&n,0,7,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2851
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2852
  // pucch-ConfigCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2853
  bIterator = DeserializeEnum (3,&n,bIterator); // deltaPUCCH-Shift 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2854
  bIterator = DeserializeInteger (&n,0,98,bIterator); // nRB-CQI 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2855
  bIterator = DeserializeInteger (&n,0,7,bIterator); // nCS-AN 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2856
  bIterator = DeserializeInteger (&n,0,2047,bIterator); // n1PUCCH-AN 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2857
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2858
  // soundingRS-UL-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2859
  int choice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2860
  bIterator = DeserializeChoice (2,false,&choice,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2861
  if (choice == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2862
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2863
      bIterator = DeserializeNull (bIterator); // release
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2864
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2865
  if (choice == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2866
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2867
      // setup
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2868
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2869
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2870
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2871
  // uplinkPowerControlCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2872
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2873
  bIterator = DeserializeInteger (&n,-126,24,bIterator); // p0-NominalPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2874
  bIterator = DeserializeEnum (8,&n,bIterator); // alpha 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2875
  bIterator = DeserializeInteger (&n,-127,-96,bIterator); // p0-NominalPUCCH 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2876
  //deltaFList-PUCCH 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2877
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2878
  bIterator = DeserializeEnum (3,&n,bIterator); // deltaF-PUCCH-Format1 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2879
  bIterator = DeserializeEnum (3,&n,bIterator); // deltaF-PUCCH-Format1b 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2880
  bIterator = DeserializeEnum (4,&n,bIterator); // deltaF-PUCCH-Format2 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2881
  bIterator = DeserializeEnum (3,&n,bIterator); // deltaF-PUCCH-Format2a 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2882
  bIterator = DeserializeEnum (3,&n,bIterator); // deltaF-PUCCH-Format2b
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2883
  bIterator = DeserializeInteger (&n,-1,6,bIterator); // deltaPreambleMsg3 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2884
 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2885
  // ul-CyclicPrefixLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2886
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2887
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2888
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2889
}
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  2890
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2891
Buffer::Iterator
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2892
RrcAsn1Header::DeserializeMeasResults (LteRrcSap::MeasResults *measResults, Buffer::Iterator bIterator)
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2893
{
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2894
  int n;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2895
  std::bitset<0> b0;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2896
  std::bitset<1> measResultNeighCellsPresent;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2897
  bIterator = DeserializeSequence (&measResultNeighCellsPresent,true,bIterator);
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2898
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2899
  // Deserialize measId
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2900
  bIterator = DeserializeInteger (&n, 1, MAX_MEAS_ID, bIterator);
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2901
  measResults->measId = n;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2902
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2903
  // Deserialize measResultServCell
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2904
  bIterator = DeserializeSequence (&b0,false,bIterator);
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2905
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2906
  // Deserialize rsrpResult
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2907
  bIterator = DeserializeInteger (&n, 0, 97, bIterator);
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2908
  measResults->rsrpResult = n;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2909
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2910
  // Deserialize rsrqResult
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2911
  bIterator = DeserializeInteger (&n, 0, 34, bIterator);
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2912
  measResults->rsrqResult = n;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2913
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2914
  measResults->haveMeasResultNeighCells = measResultNeighCellsPresent[0];
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2915
  if ( measResults->haveMeasResultNeighCells)
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2916
    {
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2917
      int measResultNeighCellsChoice;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2918
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2919
      // Deserialize measResultNeighCells
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2920
      bIterator = DeserializeChoice (4,false,&measResultNeighCellsChoice,bIterator);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2921
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2922
      if (measResultNeighCellsChoice == 0)
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2923
        {
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2924
          // Deserialize measResultListEUTRA
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2925
          int numElems;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2926
          bIterator = DeserializeSequenceOf (&numElems,MAX_CELL_REPORT,1,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2927
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2928
          for (int i = 0; i < numElems; i++)
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2929
            {
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2930
              LteRrcSap::MeasResultEutra measResultEutra;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2931
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2932
              std::bitset<1> isCgiInfoPresent;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2933
              bIterator = DeserializeSequence (&isCgiInfoPresent,false,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2934
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2935
              // PhysCellId
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2936
              bIterator = DeserializeInteger (&n,0,503,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2937
              measResultEutra.physCellId = n;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2938
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2939
              measResultEutra.haveCgiInfo = isCgiInfoPresent[0];
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2940
              if (isCgiInfoPresent[0])
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2941
                {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2942
                  std::bitset<1> havePlmnIdentityList;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2943
                  bIterator = DeserializeSequence (&havePlmnIdentityList,false,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2944
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2945
                  // Deserialize cellGlobalId
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2946
                  bIterator = DeserializeSequence (&b0,false,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2947
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2948
                  // Deserialize plmn-Identity
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2949
                  bIterator = DeserializePlmnIdentity (&measResultEutra.cgiInfo.plmnIdentity,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2950
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2951
                  // Deserialize CellIdentity
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2952
                  std::bitset<28> cellId;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2953
                  bIterator = DeserializeBitstring (&cellId,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2954
                  measResultEutra.cgiInfo.cellIdentity = cellId.to_ulong ();
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2955
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2956
                  // Deserialize trackingAreaCode
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2957
                  std::bitset<16> trArCo;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2958
                  bIterator = DeserializeBitstring (&trArCo,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2959
                  measResultEutra.cgiInfo.trackingAreaCode = trArCo.to_ulong ();
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2960
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2961
                  // Deserialize plmn-IdentityList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2962
                  if (havePlmnIdentityList[0])
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2963
                    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2964
                      int numPlmnElems;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2965
                      bIterator = DeserializeSequenceOf (&numPlmnElems, 5, 1, bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2966
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2967
                      for ( int j = 0; j < numPlmnElems; j++)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2968
                        {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2969
                          uint32_t plmnId;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2970
                          bIterator = DeserializePlmnIdentity (&plmnId,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2971
                          measResultEutra.cgiInfo.plmnIdentityList.push_back (plmnId);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2972
                        }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2973
                    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2974
                }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2975
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2976
              // Deserialize measResult
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2977
              std::bitset<2> measResultOpts;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2978
              bIterator = DeserializeSequence (&measResultOpts, true, bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2979
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2980
              measResultEutra.haveRsrpResult = measResultOpts[1];
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2981
              if (measResultOpts[1])
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2982
                {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2983
                  // Deserialize rsrpResult
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2984
                  bIterator = DeserializeInteger (&n,0,97,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2985
                  measResultEutra.rsrpResult = n;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2986
                }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2987
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2988
              measResultEutra.haveRsrqResult = measResultOpts[0];
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2989
              if (measResultOpts[0])
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2990
                {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2991
                  // Deserialize rsrqResult
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2992
                  bIterator = DeserializeInteger (&n,0,34,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2993
                  measResultEutra.rsrqResult = n;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2994
                }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2995
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2996
              measResults->measResultListEutra.push_back (measResultEutra);
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2997
            }
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2998
        }
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2999
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3000
      if (measResultNeighCellsChoice == 1)
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  3001
        {
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3002
          // Deserialize measResultListUTRA
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3003
          // ...
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  3004
        }
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  3005
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3006
      if (measResultNeighCellsChoice == 2)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3007
        {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3008
          // Deserialize measResultListGERAN
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3009
          // ...
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3010
        }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3011
      if (measResultNeighCellsChoice == 3)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3012
        {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3013
          // Deserialize measResultsCDMA2000
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3014
          // ...
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3015
        }
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  3016
    }
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  3017
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3018
  return bIterator;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3019
}
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3020
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3021
Buffer::Iterator
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3022
RrcAsn1Header::DeserializePlmnIdentity (uint32_t *plmnId, Buffer::Iterator bIterator)
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3023
{
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3024
  int n;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3025
  std::bitset<1> isMccPresent;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3026
  bIterator = DeserializeSequence (&isMccPresent,false,bIterator);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3027
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3028
  if (isMccPresent[0])
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3029
    {
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3030
      // Deserialize mcc
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3031
      // ...
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3032
    }
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3033
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3034
  // Deserialize mnc
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3035
  int mncDigits;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3036
  int mnc = 0;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3037
  bIterator = DeserializeSequenceOf (&mncDigits,3,2,bIterator);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3038
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3039
  for (int j = mncDigits - 1; j >= 0; j--)
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3040
    {
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3041
      bIterator = DeserializeInteger (&n,0,9,bIterator);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3042
      mnc += n * pow (10,j);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3043
    }
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3044
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3045
  *plmnId = mnc;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3046
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3047
  // cellReservedForOperatorUse
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3048
  bIterator = DeserializeEnum (2,&n,bIterator);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3049
  return bIterator;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3050
}
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3051
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3052
Buffer::Iterator
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3053
RrcAsn1Header::DeserializeMeasConfig (LteRrcSap::MeasConfig * measConfig, Buffer::Iterator bIterator)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3054
{
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3055
  std::bitset<0> bitset0;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3056
  std::bitset<2> bitset2;
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3057
  std::bitset<11> bitset11;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3058
  int n;
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3059
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3060
  // measConfig
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3061
  bIterator = DeserializeSequence (&bitset11,true,bIterator);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3062
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3063
  if (bitset11[10])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3064
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3065
      // measObjectToRemoveList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3066
      int measObjectToRemoveListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3067
      bIterator = DeserializeSequenceOf (&measObjectToRemoveListElems, MAX_OBJECT_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3068
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3069
      for (int i = 0; i < measObjectToRemoveListElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3070
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3071
          bIterator = DeserializeInteger (&n, 1, MAX_OBJECT_ID, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3072
          measConfig->measObjectToRemoveList.push_back (n);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3073
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3074
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3075
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3076
  if (bitset11[9])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3077
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3078
      // measObjectToAddModList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3079
      int measObjectToAddModListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3080
      bIterator = DeserializeSequenceOf (&measObjectToAddModListElems, MAX_OBJECT_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3081
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3082
      for (int i = 0; i < measObjectToAddModListElems; i++)
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3083
        {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3084
          LteRrcSap::MeasObjectToAddMod elem;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3085
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3086
          bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3087
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3088
          bIterator = DeserializeInteger (&n, 1, MAX_OBJECT_ID, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3089
          elem.measObjectId = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3090
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3091
          int measObjectChoice;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3092
          bIterator = DeserializeChoice (4, true, &measObjectChoice, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3093
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3094
          switch (measObjectChoice)
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3095
            {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3096
            case 1:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3097
              // Deserialize measObjectUTRA
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3098
              // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3099
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3100
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3101
            case 2:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3102
              // Deserialize measObjectGERAN
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3103
              // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3104
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3105
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3106
            case 3:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3107
              // Deserialize measObjectCDMA2000
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3108
              // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3109
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3110
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3111
            case 0:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3112
            default:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3113
              // Deserialize measObjectEUTRA
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3114
              std::bitset<5> measObjectEutraOpts;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3115
              bIterator = DeserializeSequence (&measObjectEutraOpts, true, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3116
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3117
              // carrierFreq
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3118
              bIterator = DeserializeInteger (&n, 0, MAX_EARFCN, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3119
              elem.measObjectEutra.carrierFreq = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3120
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3121
              // allowedMeasBandwidth
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3122
              bIterator = DeserializeEnum (6, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3123
              switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3124
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3125
                case 0:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3126
                  elem.measObjectEutra.allowedMeasBandwidth = 6;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3127
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3128
                case 1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3129
                  elem.measObjectEutra.allowedMeasBandwidth = 15;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3130
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3131
                case 2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3132
                  elem.measObjectEutra.allowedMeasBandwidth = 25;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3133
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3134
                case 3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3135
                  elem.measObjectEutra.allowedMeasBandwidth = 50;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3136
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3137
                case 4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3138
                  elem.measObjectEutra.allowedMeasBandwidth = 75;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3139
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3140
                case 5:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3141
                default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3142
                  elem.measObjectEutra.allowedMeasBandwidth = 100;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3143
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3144
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3145
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3146
              // presenceAntennaPort1
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3147
              bIterator = DeserializeBoolean (&elem.measObjectEutra.presenceAntennaPort1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3148
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3149
              // neighCellConfig
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3150
              bIterator = DeserializeBitstring (&bitset2, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3151
              elem.measObjectEutra.neighCellConfig = bitset2.to_ulong ();
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3152
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3153
              // offsetFreq
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3154
              bIterator = DeserializeQoffsetRange (&elem.measObjectEutra.offsetFreq, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3155
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3156
              if (measObjectEutraOpts[4])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3157
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3158
                  // cellsToRemoveList
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3159
                  int numElems;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3160
                  bIterator = DeserializeSequenceOf (&numElems, MAX_CELL_MEAS, 1, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3161
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3162
                  for (int i = 0; i < numElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3163
                    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3164
                      bIterator = DeserializeInteger (&n, 1, MAX_CELL_MEAS, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3165
                      elem.measObjectEutra.cellsToRemoveList.push_back (n);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3166
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3167
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3168
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3169
              if (measObjectEutraOpts[3])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3170
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3171
                  // cellsToAddModList
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3172
                  int numElems;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3173
                  bIterator = DeserializeSequenceOf (&numElems, MAX_CELL_MEAS, 1, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3174
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3175
                  for (int i = 0; i < numElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3176
                    {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3177
                      LteRrcSap::CellsToAddMod cellsToAddMod;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3178
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3179
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3180
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3181
                      // cellIndex
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3182
                      bIterator = DeserializeInteger (&n, 1, MAX_CELL_MEAS, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3183
                      cellsToAddMod.cellIndex = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3184
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3185
                      // PhysCellId
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3186
                      bIterator = DeserializeInteger (&n, 0, 503, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3187
                      cellsToAddMod.physCellId = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3188
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3189
                      // cellIndividualOffset
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3190
                      bIterator = DeserializeQoffsetRange ( &cellsToAddMod.cellIndividualOffset, bIterator);
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3191
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3192
                      elem.measObjectEutra.cellsToAddModList.push_back (cellsToAddMod);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3193
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3194
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3195
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3196
              if (measObjectEutraOpts[2])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3197
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3198
                  // blackCellsToRemoveList
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3199
                  int numElems;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3200
                  bIterator = DeserializeSequenceOf (&numElems, MAX_CELL_MEAS, 1, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3201
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3202
                  for (int i = 0; i < numElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3203
                    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3204
                      bIterator = DeserializeInteger (&n, 1, MAX_CELL_MEAS, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3205
                      elem.measObjectEutra.blackCellsToRemoveList.push_back (n);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3206
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3207
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3208
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3209
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3210
              if (measObjectEutraOpts[1])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3211
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3212
                  // blackCellsToAddModList
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3213
                  int numElems;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3214
                  bIterator = DeserializeSequenceOf (&numElems, MAX_CELL_MEAS, 1, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3215
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3216
                  for (int i = 0; i < numElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3217
                    {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3218
                      LteRrcSap::BlackCellsToAddMod blackCellsToAddMod;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3219
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3220
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3221
                      bIterator = DeserializeInteger (&n, 1, MAX_CELL_MEAS, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3222
                      blackCellsToAddMod.cellIndex = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3223
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3224
                      // PhysCellIdRange
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3225
                      std::bitset<1> isRangePresent;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3226
                      bIterator = DeserializeSequence (&isRangePresent, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3227
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3228
                      // start
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3229
                      bIterator = DeserializeInteger (&n, 0, 503, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3230
                      blackCellsToAddMod.physCellIdRange.start = n;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3231
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3232
                      blackCellsToAddMod.physCellIdRange.haveRange = isRangePresent[0];
10116
625994721270 fix optimized build
Tom Henderson <tomh@tomh.org>
parents: 10063
diff changeset
  3233
                      // initialize range to silence compiler warning
625994721270 fix optimized build
Tom Henderson <tomh@tomh.org>
parents: 10063
diff changeset
  3234
                      blackCellsToAddMod.physCellIdRange.range = 0;
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3235
                      if (blackCellsToAddMod.physCellIdRange.haveRange)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3236
                        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3237
                          // range
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3238
                          bIterator = DeserializeEnum (16, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3239
                          switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3240
                            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3241
                            case 0:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3242
                              blackCellsToAddMod.physCellIdRange.range = 4;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3243
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3244
                            case 1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3245
                              blackCellsToAddMod.physCellIdRange.range = 8;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3246
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3247
                            case 2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3248
                              blackCellsToAddMod.physCellIdRange.range = 12;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3249
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3250
                            case 3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3251
                              blackCellsToAddMod.physCellIdRange.range = 16;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3252
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3253
                            case 4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3254
                              blackCellsToAddMod.physCellIdRange.range = 24;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3255
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3256
                            case 5:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3257
                              blackCellsToAddMod.physCellIdRange.range = 32;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3258
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3259
                            case 6:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3260
                              blackCellsToAddMod.physCellIdRange.range = 48;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3261
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3262
                            case 7:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3263
                              blackCellsToAddMod.physCellIdRange.range = 64;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3264
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3265
                            case 8:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3266
                              blackCellsToAddMod.physCellIdRange.range = 84;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3267
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3268
                            case 9:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3269
                              blackCellsToAddMod.physCellIdRange.range = 96;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3270
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3271
                            case 10:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3272
                              blackCellsToAddMod.physCellIdRange.range = 128;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3273
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3274
                            case 11:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3275
                              blackCellsToAddMod.physCellIdRange.range = 168;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3276
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3277
                            case 12:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3278
                              blackCellsToAddMod.physCellIdRange.range = 252;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3279
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3280
                            case 13:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3281
                              blackCellsToAddMod.physCellIdRange.range = 504;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3282
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3283
                            default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3284
                              blackCellsToAddMod.physCellIdRange.range = 0;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3285
                            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3286
                        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3287
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3288
                      elem.measObjectEutra.blackCellsToAddModList.push_back (blackCellsToAddMod);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3289
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3290
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3291
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3292
              elem.measObjectEutra.haveCellForWhichToReportCGI = measObjectEutraOpts[0];
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3293
              if (measObjectEutraOpts[0])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3294
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3295
                  // cellForWhichToReportCGI
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3296
                  bIterator = DeserializeInteger (&n, 0, 503, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3297
                  elem.measObjectEutra.cellForWhichToReportCGI = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3298
                }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3299
            }
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3300
          measConfig->measObjectToAddModList.push_back (elem);
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3301
        }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3302
    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3303
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3304
  if (bitset11[8])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3305
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3306
      // reportConfigToRemoveList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3307
      int reportConfigToRemoveListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3308
      bIterator = DeserializeSequenceOf (&reportConfigToRemoveListElems, MAX_REPORT_CONFIG_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3309
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3310
      for (int i = 0; i < reportConfigToRemoveListElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3311
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3312
          bIterator = DeserializeInteger (&n, 1, MAX_REPORT_CONFIG_ID, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3313
          measConfig->reportConfigToRemoveList.push_back (n);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3314
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3315
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3316
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3317
  if (bitset11[7])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3318
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3319
      // reportConfigToAddModList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3320
      int reportConfigToAddModListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3321
      bIterator = DeserializeSequenceOf (&reportConfigToAddModListElems, MAX_REPORT_CONFIG_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3322
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3323
      for (int i = 0; i < reportConfigToAddModListElems; i++)
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3324
        {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3325
          LteRrcSap::ReportConfigToAddMod elem;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3326
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3327
          bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3328
          bIterator = DeserializeInteger (&n, 1, MAX_REPORT_CONFIG_ID, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3329
          elem.reportConfigId = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3330
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3331
          // Deserialize reportConfig
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3332
          int reportConfigChoice;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3333
          bIterator = DeserializeChoice (2, false, &reportConfigChoice, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3334
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3335
          if (reportConfigChoice == 0)
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3336
            {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3337
              // reportConfigEUTRA
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3338
              bIterator = DeserializeSequence (&bitset0, true, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3339
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3340
              // triggerType
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3341
              int triggerTypeChoice;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3342
              bIterator = DeserializeChoice (2, false, &triggerTypeChoice, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3343
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3344
              if (triggerTypeChoice == 0)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3345
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3346
                  // event
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3347
                  elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::EVENT;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3348
                  bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3349
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3350
                  // eventId
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3351
                  int eventIdChoice;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3352
                  bIterator = DeserializeChoice (5, true, &eventIdChoice, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3353
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3354
                  switch (eventIdChoice)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3355
                    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3356
                    case 0:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3357
                      elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3358
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3359
                      bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3360
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3361
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3362
                    case 1:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3363
                      elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3364
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3365
                      bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3366
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3367
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3368
                    case 2:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3369
                      elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3370
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3371
                      bIterator = DeserializeInteger (&n, -30, 30, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3372
                      elem.reportConfigEutra.a3Offset = n;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3373
                      bIterator = DeserializeBoolean (&elem.reportConfigEutra.reportOnLeave, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3374
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3375
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3376
                    case 3:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3377
                      elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3378
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3379
                      bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3380
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3381
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3382
                    case 4:
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3383
                    default:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3384
                      elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A5;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3385
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3386
                      bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3387
                      bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold2, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3388
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3389
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3390
                  bIterator = DeserializeInteger (&n, 0, 30, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3391
                  elem.reportConfigEutra.hysteresis = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3392
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3393
                  bIterator = DeserializeEnum (16, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3394
                  switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3395
                    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3396
                    case 0:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3397
                      elem.reportConfigEutra.timeToTrigger = 0;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3398
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3399
                    case 1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3400
                      elem.reportConfigEutra.timeToTrigger = 40;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3401
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3402
                    case 2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3403
                      elem.reportConfigEutra.timeToTrigger = 64;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3404
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3405
                    case 3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3406
                      elem.reportConfigEutra.timeToTrigger = 80;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3407
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3408
                    case 4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3409
                      elem.reportConfigEutra.timeToTrigger = 100;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3410
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3411
                    case 5:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3412
                      elem.reportConfigEutra.timeToTrigger = 128;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3413
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3414
                    case 6:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3415
                      elem.reportConfigEutra.timeToTrigger = 160;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3416
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3417
                    case 7:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3418
                      elem.reportConfigEutra.timeToTrigger = 256;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3419
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3420
                    case 8:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3421
                      elem.reportConfigEutra.timeToTrigger = 320;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3422
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3423
                    case 9:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3424
                      elem.reportConfigEutra.timeToTrigger = 480;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3425
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3426
                    case 10:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3427
                      elem.reportConfigEutra.timeToTrigger = 512;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3428
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3429
                    case 11:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3430
                      elem.reportConfigEutra.timeToTrigger = 640;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3431
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3432
                    case 12:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3433
                      elem.reportConfigEutra.timeToTrigger = 1024;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3434
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3435
                    case 13:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3436
                      elem.reportConfigEutra.timeToTrigger = 1280;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3437
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3438
                    case 14:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3439
                      elem.reportConfigEutra.timeToTrigger = 2560;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3440
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3441
                    case 15:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3442
                    default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3443
                      elem.reportConfigEutra.timeToTrigger = 5120;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3444
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3445
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3446
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3447
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3448
              if (triggerTypeChoice == 1)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3449
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3450
                  // periodical
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3451
                  elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::PERIODICAL;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3452
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3453
                  bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3454
                  bIterator = DeserializeEnum (2, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3455
                  if (n == 0)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3456
                    {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3457
                      elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::REPORT_STRONGEST_CELLS;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3458
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3459
                  else
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3460
                    {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3461
                      elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::REPORT_CGI;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3462
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3463
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3464
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3465
              // triggerQuantity
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3466
              bIterator = DeserializeEnum (2, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3467
              if (n == 0)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3468
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3469
                  elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRP;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3470
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3471
              else
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3472
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3473
                  elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRQ;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3474
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3475
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3476
              // reportQuantity
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3477
              bIterator = DeserializeEnum (2, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3478
              if (n == 0)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3479
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3480
                  elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3481
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3482
              else
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3483
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3484
                  elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::BOTH;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3485
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3486
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3487
              // maxReportCells
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3488
              bIterator = DeserializeInteger (&n, 1, MAX_CELL_REPORT, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3489
              elem.reportConfigEutra.maxReportCells = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3490
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3491
              // reportInterval
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3492
              bIterator = DeserializeEnum (16, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3493
              switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3494
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3495
                case 0:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3496
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS120;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3497
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3498
                case 1:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3499
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS240;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3500
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3501
                case 2:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3502
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS480;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3503
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3504
                case 3:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3505
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS640;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3506
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3507
                case 4:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3508
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS1024;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3509
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3510
                case 5:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3511
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS2048;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3512
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3513
                case 6:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3514
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS5120;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3515
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3516
                case 7:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3517
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS10240;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3518
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3519
                case 8:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3520
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN1;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3521
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3522
                case 9:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3523
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN6;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3524
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3525
                case 10:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3526
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN12;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3527
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3528
                case 11:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3529
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN30;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3530
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3531
                case 12:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3532
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN60;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3533
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3534
                case 13:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3535
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE3;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3536
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3537
                case 14:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3538
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE2;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3539
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3540
                case 15:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3541
                default:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3542
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE1;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3543
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3544
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3545
              // reportAmount
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3546
              bIterator = DeserializeEnum (8, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3547
              switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3548
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3549
                case 0:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3550
                  elem.reportConfigEutra.reportAmount = 1;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3551
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3552
                case 1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3553
                  elem.reportConfigEutra.reportAmount = 2;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3554
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3555
                case 2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3556
                  elem.reportConfigEutra.reportAmount = 4;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3557
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3558
                case 3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3559
                  elem.reportConfigEutra.reportAmount = 8;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3560
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3561
                case 4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3562
                  elem.reportConfigEutra.reportAmount = 16;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3563
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3564
                case 5:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3565
                  elem.reportConfigEutra.reportAmount = 32;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3566
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3567
                case 6:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3568
                  elem.reportConfigEutra.reportAmount = 64;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3569
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3570
                default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3571
                  elem.reportConfigEutra.reportAmount = 0;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3572
                }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3573
            }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3574
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3575
          if (reportConfigChoice == 1)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3576
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3577
              // ReportConfigInterRAT
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3578
              // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3579
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3580
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3581
          measConfig->reportConfigToAddModList.push_back (elem);
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3582
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3583
    }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3584
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3585
  if (bitset11[6])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3586
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3587
      // measIdToRemoveList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3588
      int measIdToRemoveListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3589
      bIterator = DeserializeSequenceOf (&measIdToRemoveListElems, MAX_MEAS_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3590
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3591
      for (int i = 0; i < measIdToRemoveListElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3592
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3593
          bIterator = DeserializeInteger (&n, 1, MAX_MEAS_ID, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3594
          measConfig->measIdToRemoveList.push_back (n);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3595
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3596
    }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3597
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3598
  if (bitset11[5])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3599
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3600
      // measIdToAddModList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3601
      int measIdToAddModListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3602
      bIterator = DeserializeSequenceOf (&measIdToAddModListElems, MAX_MEAS_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3603
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3604
      for (int i = 0; i < measIdToAddModListElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3605
        {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3606
          LteRrcSap::MeasIdToAddMod elem;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3607
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3608
          bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3609
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3610
          bIterator = DeserializeInteger (&n, 1, MAX_MEAS_ID, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3611
          elem.measId = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3612
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3613
          bIterator = DeserializeInteger (&n, 1, MAX_OBJECT_ID, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3614
          elem.measObjectId = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3615
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3616
          bIterator = DeserializeInteger (&n, 1, MAX_REPORT_CONFIG_ID, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3617
          elem.reportConfigId = n;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3618
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3619
          measConfig->measIdToAddModList.push_back (elem);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3620
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3621
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3622
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3623
  measConfig->haveQuantityConfig = bitset11[4];
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3624
  if (measConfig->haveQuantityConfig)
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3625
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3626
      // quantityConfig
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3627
      std::bitset<4> quantityConfigOpts;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3628
      bIterator = DeserializeSequence (&quantityConfigOpts, true, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3629
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3630
      if (quantityConfigOpts[3])
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3631
        {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3632
          // quantityConfigEUTRA
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3633
          bIterator = DeserializeSequence (&bitset0,false,bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3634
          bIterator = DeserializeEnum (16, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3635
          switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3636
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3637
            case 0:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3638
              measConfig->quantityConfig.filterCoefficientRSRP = 0;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3639
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3640
            case 1:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3641
              measConfig->quantityConfig.filterCoefficientRSRP = 1;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3642
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3643
            case 2:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3644
              measConfig->quantityConfig.filterCoefficientRSRP = 2;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3645
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3646
            case 3:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3647
              measConfig->quantityConfig.filterCoefficientRSRP = 3;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3648
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3649
            case 4:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3650
              measConfig->quantityConfig.filterCoefficientRSRP = 4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3651
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3652
            case 5:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3653
              measConfig->quantityConfig.filterCoefficientRSRP = 5;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3654
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3655
            case 6:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3656
              measConfig->quantityConfig.filterCoefficientRSRP = 6;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3657
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3658
            case 7:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3659
              measConfig->quantityConfig.filterCoefficientRSRP = 7;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3660
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3661
            case 8:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3662
              measConfig->quantityConfig.filterCoefficientRSRP = 8;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3663
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3664
            case 9:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3665
              measConfig->quantityConfig.filterCoefficientRSRP = 9;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3666
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3667
            case 10:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3668
              measConfig->quantityConfig.filterCoefficientRSRP = 11;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3669
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3670
            case 11:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3671
              measConfig->quantityConfig.filterCoefficientRSRP = 13;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3672
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3673
            case 12:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3674
              measConfig->quantityConfig.filterCoefficientRSRP = 15;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3675
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3676
            case 13:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3677
              measConfig->quantityConfig.filterCoefficientRSRP = 17;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3678
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3679
            case 14:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3680
              measConfig->quantityConfig.filterCoefficientRSRP = 19;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3681
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3682
            case 15:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3683
              measConfig->quantityConfig.filterCoefficientRSRP = 0;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3684
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3685
            default:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3686
              measConfig->quantityConfig.filterCoefficientRSRP = 4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3687
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3688
          bIterator = DeserializeEnum (16, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3689
          switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3690
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3691
            case 0:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3692
              measConfig->quantityConfig.filterCoefficientRSRQ = 0;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3693
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3694
            case 1:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3695
              measConfig->quantityConfig.filterCoefficientRSRQ = 1;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3696
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3697
            case 2:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3698
              measConfig->quantityConfig.filterCoefficientRSRQ = 2;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3699
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3700
            case 3:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3701
              measConfig->quantityConfig.filterCoefficientRSRQ = 3;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3702
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3703
            case 4:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3704
              measConfig->quantityConfig.filterCoefficientRSRQ = 4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3705
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3706
            case 5:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3707
              measConfig->quantityConfig.filterCoefficientRSRQ = 5;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3708
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3709
            case 6:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3710
              measConfig->quantityConfig.filterCoefficientRSRQ = 6;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3711
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3712
            case 7:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3713
              measConfig->quantityConfig.filterCoefficientRSRQ = 7;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3714
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3715
            case 8:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3716
              measConfig->quantityConfig.filterCoefficientRSRQ = 8;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3717
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3718
            case 9:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3719
              measConfig->quantityConfig.filterCoefficientRSRQ = 9;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3720
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3721
            case 10:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3722
              measConfig->quantityConfig.filterCoefficientRSRQ = 11;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3723
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3724
            case 11:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3725
              measConfig->quantityConfig.filterCoefficientRSRQ = 13;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3726
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3727
            case 12:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3728
              measConfig->quantityConfig.filterCoefficientRSRQ = 15;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3729
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3730
            case 13:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3731
              measConfig->quantityConfig.filterCoefficientRSRQ = 17;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3732
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3733
            case 14:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3734
              measConfig->quantityConfig.filterCoefficientRSRQ = 19;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3735
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3736
            case 15:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3737
              measConfig->quantityConfig.filterCoefficientRSRQ = 0;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3738
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3739
            default:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3740
              measConfig->quantityConfig.filterCoefficientRSRQ = 4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3741
            }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3742
        }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3743
      if (quantityConfigOpts[2])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3744
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3745
          // quantityConfigUTRA
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3746
          // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3747
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3748
      if (quantityConfigOpts[1])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3749
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3750
          // quantityConfigGERAN
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3751
          // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3752
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3753
      if (quantityConfigOpts[0])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3754
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3755
          // quantityConfigCDMA2000
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3756
          // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3757
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3758
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3759
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3760
  measConfig->haveMeasGapConfig = bitset11[3];
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3761
  if (measConfig->haveMeasGapConfig)
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3762
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3763
      // measGapConfig
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3764
      int measGapConfigChoice;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3765
      bIterator = DeserializeChoice (2, false, &measGapConfigChoice, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3766
      switch (measGapConfigChoice)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3767
        {
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3768
        case 0:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3769
          measConfig->measGapConfig.type = LteRrcSap::MeasGapConfig::RESET;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3770
          bIterator = DeserializeNull (bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3771
          break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3772
        case 1:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3773
        default:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3774
          measConfig->measGapConfig.type = LteRrcSap::MeasGapConfig::SETUP;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3775
          bIterator = DeserializeSequence (&bitset0, false, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3776
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3777
          int gapOffsetChoice;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3778
          bIterator = DeserializeChoice (2, true, &gapOffsetChoice, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3779
          switch (gapOffsetChoice)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3780
            {
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3781
            case 0:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3782
              measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::GP0;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3783
              bIterator = DeserializeInteger (&n, 0, 39, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3784
              measConfig->measGapConfig.gapOffsetValue = n;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3785
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3786
            case 1:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3787
            default:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3788
              measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::GP1;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3789
              bIterator = DeserializeInteger (&n, 0, 79, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3790
              measConfig->measGapConfig.gapOffsetValue = n;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3791
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3792
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3793
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3794
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3795
  measConfig->haveSmeasure = bitset11[2];
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3796
  if (measConfig->haveSmeasure)
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3797
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3798
      // s-Measure
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3799
      bIterator = DeserializeInteger (&n, 0, 97, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3800
      measConfig->sMeasure = n;
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3801
    }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3802
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3803
  if (bitset11[1])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3804
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3805
      // preRegistrationInfoHRPD
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3806
      // ...
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3807
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3808
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3809
  measConfig->haveSpeedStatePars = bitset11[0];
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3810
  if (measConfig->haveSpeedStatePars)
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3811
    {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3812
      // speedStatePars
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3813
      int speedStateParsChoice;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3814
      bIterator = DeserializeChoice (2, false, &speedStateParsChoice, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3815
      switch (speedStateParsChoice)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3816
        {
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3817
        case 0:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3818
          measConfig->speedStatePars.type = LteRrcSap::SpeedStatePars::RESET;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3819
          bIterator = DeserializeNull (bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3820
          break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3821
        case 1:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3822
        default:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3823
          measConfig->speedStatePars.type = LteRrcSap::SpeedStatePars::SETUP;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3824
          bIterator = DeserializeSequence (&bitset0, false, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3825
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3826
          // Deserialize mobilityStateParameters
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3827
          // Deserialize t-Evaluation
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3828
          bIterator = DeserializeEnum (8, &n, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3829
          switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3830
            {
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3831
            case 0:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3832
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 30;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3833
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3834
            case 1:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3835
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 60;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3836
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3837
            case 2:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3838
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 120;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3839
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3840
            case 3:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3841
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 180;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3842
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3843
            case 4:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3844
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 240;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3845
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3846
            default:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3847
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 0;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3848
            }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3849
          // Deserialize t-HystNormal
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3850
          bIterator = DeserializeEnum (8, &n, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3851
          switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3852
            {
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3853
            case 0:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3854
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 30;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3855
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3856
            case 1:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3857
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 60;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3858
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3859
            case 2:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3860
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 120;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3861
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3862
            case 3:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3863
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 180;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3864
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3865
            case 4:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3866
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 240;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3867
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3868
            default:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3869
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 0;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3870
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3871
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3872
          bIterator = DeserializeInteger (&n, 1, 16, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3873
          measConfig->speedStatePars.mobilityStateParameters.nCellChangeMedium = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3874
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3875
          bIterator = DeserializeInteger (&n, 1, 16, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3876
          measConfig->speedStatePars.mobilityStateParameters.nCellChangeHigh = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3877
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3878
          // Deserialize timeToTriggerSf
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3879
          bIterator = DeserializeEnum (4, &n, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3880
          measConfig->speedStatePars.timeToTriggerSf.sfMedium = (n + 1) * 25;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3881
          bIterator = DeserializeEnum (4, &n, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3882
          measConfig->speedStatePars.timeToTriggerSf.sfHigh = (n + 1) * 25;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3883
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3884
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3885
  return bIterator;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3886
}
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3887
//////////////////// RrcConnectionRequest class ////////////////////////
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3888
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3889
// Constructor
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3890
RrcConnectionRequestHeader::RrcConnectionRequestHeader () : RrcUlCcchMessage ()
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3891
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3892
  m_mmec = std::bitset<8> (0ul);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3893
  m_mTmsi = std::bitset<32> (0ul);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3894
  m_establishmentCause = MO_SIGNALLING;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3895
  m_spare = std::bitset<1> (0ul);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3896
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3897
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3898
// Destructor
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3899
RrcConnectionRequestHeader::~RrcConnectionRequestHeader ()
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3900
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3901
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3902
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3903
TypeId
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3904
RrcConnectionRequestHeader::GetTypeId (void)
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3905
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3906
  static TypeId tid = TypeId ("ns3::RrcConnectionRequestHeader")
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3907
    .SetParent<Header> ()
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3908
  ;
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3909
  return tid;
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3910
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3911
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3912
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3913
RrcConnectionRequestHeader::Print (std::ostream &os) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3914
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3915
  os << "MMEC:" << m_mmec << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3916
  os << "MTMSI:" << m_mTmsi << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3917
  os << "EstablishmentCause:" << m_establishmentCause << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3918
  os << "Spare: " << m_spare << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3919
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3920
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3921
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3922
RrcConnectionRequestHeader::PreSerialize () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3923
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3924
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3925
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  3926
  SerializeUlCcchMessage (1);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  3927
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3928
  // Serialize RRCConnectionRequest sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3929
  // no default or optional fields. Extension marker not present.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3930
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3931
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3932
  // Serialize criticalExtensions choice:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3933
  // 2 options, selected: 0 (option: rrcConnectionRequest-r8)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  3934
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3935
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3936
  // Serialize RRCConnectionRequest-r8-IEs sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3937
  // no default or optional fields. Extension marker not present.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3938
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3939
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3940
  // Serialize InitialUE-Identity choice:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3941
  // 2 options, selected: 0 (option: s-TMSI)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  3942
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3943
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3944
  // Serialize S-TMSI sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3945
  // no default or optional fields. Extension marker not present.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  3946
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3947
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3948
  // Serialize mmec : MMEC ::= BIT STRING (SIZE (8))
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  3949
  SerializeBitstring (m_mmec);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3950
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3951
  // Serialize m-TMSI ::= BIT STRING (SIZE (32))
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  3952
  SerializeBitstring (m_mTmsi);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3953
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3954
  // Serialize establishmentCause : EstablishmentCause ::= ENUMERATED
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3955
  SerializeEnum (8,m_establishmentCause);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3956
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3957
  // Serialize spare : BIT STRING (SIZE (1))
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  3958
  SerializeBitstring (std::bitset<1> ());
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3959
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3960
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3961
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3962
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3963
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3964
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3965
RrcConnectionRequestHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3966
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3967
  std::bitset<1> dummy;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3968
  std::bitset<0> optionalOrDefaultMask;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3969
  int selectedOption;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3970
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  3971
  bIterator = DeserializeUlCcchMessage (bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  3972
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3973
  // Deserialize RCConnectionRequest sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3974
  bIterator = DeserializeSequence (&optionalOrDefaultMask,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3975
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3976
  // Deserialize criticalExtensions choice:
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  3977
  bIterator = DeserializeChoice (2,false,&selectedOption,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3978
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3979
  // Deserialize RRCConnectionRequest-r8-IEs sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3980
  bIterator = DeserializeSequence (&optionalOrDefaultMask,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3981
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3982
  // Deserialize InitialUE-Identity choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  3983
  bIterator = DeserializeChoice (2,false,&selectedOption,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3984
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3985
  // Deserialize S-TMSI sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3986
  bIterator = DeserializeSequence (&optionalOrDefaultMask,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3987
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3988
  // Deserialize mmec
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3989
  bIterator = DeserializeBitstring (&m_mmec,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3990
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3991
  // Deserialize m-TMSI
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3992
  bIterator = DeserializeBitstring (&m_mTmsi,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3993
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3994
  // Deserialize establishmentCause
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3995
  bIterator = DeserializeEnum (8,&selectedOption,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3996
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3997
  // Deserialize spare
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3998
  bIterator = DeserializeBitstring (&dummy,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3999
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4000
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4001
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4002
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4003
void
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  4004
RrcConnectionRequestHeader::SetMessage (LteRrcSap::RrcConnectionRequest msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4005
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4006
  m_mTmsi = std::bitset<32> ((uint32_t)msg.ueIdentity);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4007
  m_mmec = std::bitset<8> ((uint32_t)(msg.ueIdentity >> 32));
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4008
  m_isDataSerialized = false;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4009
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4010
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4011
LteRrcSap::RrcConnectionRequest
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4012
RrcConnectionRequestHeader::GetMessage () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4013
{
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  4014
  LteRrcSap::RrcConnectionRequest msg;
9503
d369ee09f4be fixed compilation error in lte-rrc-header.cc on 32 bit systems
Nicola Baldo <nbaldo@cttc.es>
parents: 9496
diff changeset
  4015
  msg.ueIdentity = (((uint64_t) m_mmec.to_ulong ()) << 32) | (m_mTmsi.to_ulong ());
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4016
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4017
  return msg;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4018
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4019
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4020
std::bitset<8>
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4021
RrcConnectionRequestHeader::GetMmec () const
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4022
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4023
  return m_mmec;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4024
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4025
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4026
std::bitset<32>
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4027
RrcConnectionRequestHeader::GetMtmsi () const
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4028
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4029
  return m_mTmsi;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4030
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4031
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4032
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4033
//////////////////// RrcConnectionSetup class ////////////////////////
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4034
RrcConnectionSetupHeader::RrcConnectionSetupHeader ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4035
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4036
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4037
 
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4038
RrcConnectionSetupHeader::~RrcConnectionSetupHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4039
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4040
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4041
 
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4042
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4043
RrcConnectionSetupHeader::Print (std::ostream &os) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4044
{
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4045
  os << "rrcTransactionIdentifier: " << (int)m_rrcTransactionIdentifier << std::endl;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4046
  os << "radioResourceConfigDedicated:" << std::endl;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4047
  RrcAsn1Header::Print (os,m_radioResourceConfigDedicated);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4048
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4049
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4050
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4051
RrcConnectionSetupHeader::PreSerialize () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4052
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4053
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4054
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4055
  SerializeDlCcchMessage (3);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4056
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4057
  SerializeInteger (15,0,15);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4058
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4059
  // Serialize RRCConnectionSetup sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4060
  // no default or optional fields. Extension marker not present.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4061
  SerializeSequence (std::bitset<0> (),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4062
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4063
  // Serialize rrc-TransactionIdentifier ::=INTEGER (0..3)
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4064
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4065
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4066
  // Serialize criticalExtensions choice:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4067
  // 2 options, selected: 0 (option: c1)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4068
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4069
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4070
  // Serialize c1 choice:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4071
  // 8 options, selected: 0 (option: rrcConnectionSetup-r8)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4072
  SerializeChoice (8,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4073
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4074
  // Serialize rrcConnectionSetup-r8 sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4075
  // 1 optional fields (not present). Extension marker not present.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4076
  SerializeSequence (std::bitset<1> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4077
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4078
  // Serialize RadioResourceConfigDedicated sequence
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4079
  SerializeRadioResourceConfigDedicated (m_radioResourceConfigDedicated);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4080
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4081
  // Serialize nonCriticalExtension sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4082
  // 2 optional fields, none present. No extension marker.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4083
  SerializeSequence (std::bitset<2> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4084
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4085
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4086
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4087
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4088
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4089
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4090
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4091
RrcConnectionSetupHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4092
{
9486
36915221a849 Fix Serialization when list size=0 in rrcConnectionSetup, check rb1 set before sending setup complete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9482
diff changeset
  4093
  int n;
36915221a849 Fix Serialization when list size=0 in rrcConnectionSetup, check rb1 set before sending setup complete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9482
diff changeset
  4094
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4095
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4096
  std::bitset<1> bitset1;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4097
  std::bitset<2> bitset2;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4098
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4099
  bIterator = DeserializeDlCcchMessage (bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4100
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4101
  bIterator = DeserializeInteger (&n,0,15,bIterator);
9486
36915221a849 Fix Serialization when list size=0 in rrcConnectionSetup, check rb1 set before sending setup complete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9482
diff changeset
  4102
36915221a849 Fix Serialization when list size=0 in rrcConnectionSetup, check rb1 set before sending setup complete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9482
diff changeset
  4103
  // Deserialize RRCConnectionSetup sequence
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4104
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4105
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4106
  // Deserialize rrc-TransactionIdentifier ::=INTEGER (0..3)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4107
  bIterator = DeserializeInteger (&n,0,3,bIterator);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4108
  m_rrcTransactionIdentifier = n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4109
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4110
  // Deserialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4111
  int criticalExtensionChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4112
  bIterator = DeserializeChoice (2,false,&criticalExtensionChoice,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4113
  if (criticalExtensionChoice == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4114
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4115
      // Deserialize criticalExtensionsFuture
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4116
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4117
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4118
  else if (criticalExtensionChoice == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4119
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4120
      // Deserialize c1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4121
      int c1;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4122
      bIterator = DeserializeChoice (8,false,&c1,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4123
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4124
      if (c1 > 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4125
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4126
          // Deserialize spareX , X:=7..1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4127
          bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4128
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4129
      else if (c1 == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4130
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4131
          // Deserialize rrcConnectionSetup-r8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4132
          // 1 optional fields, no extension marker.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4133
          bIterator = DeserializeSequence (&bitset1,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4134
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4135
          // Deserialize radioResourceConfigDedicated
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4136
          bIterator = DeserializeRadioResourceConfigDedicated (&m_radioResourceConfigDedicated,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4137
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4138
          if (bitset1[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4139
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4140
              // Deserialize nonCriticalExtension
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4141
              // 2 optional fields, no extension marker.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4142
              bIterator = DeserializeSequence (&bitset2,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4143
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4144
              // Deserialization of lateR8NonCriticalExtension and nonCriticalExtension
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4145
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4146
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4147
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4148
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4149
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4150
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4151
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4152
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4153
RrcConnectionSetupHeader::SetMessage (LteRrcSap::RrcConnectionSetup msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4154
{
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4155
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4156
  m_radioResourceConfigDedicated = msg.radioResourceConfigDedicated;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4157
  m_isDataSerialized = false;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4158
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4159
9482
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  4160
LteRrcSap::RrcConnectionSetup
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4161
RrcConnectionSetupHeader::GetMessage () const
9482
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  4162
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4163
  LteRrcSap::RrcConnectionSetup msg;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4164
  msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4165
  msg.radioResourceConfigDedicated = m_radioResourceConfigDedicated; 
9482
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  4166
  return msg;
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  4167
}
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  4168
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4169
uint8_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4170
RrcConnectionSetupHeader::GetRrcTransactionIdentifier () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4171
{
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4172
  return m_rrcTransactionIdentifier;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4173
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4174
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4175
bool
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4176
RrcConnectionSetupHeader::HavePhysicalConfigDedicated () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4177
{
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4178
  return m_radioResourceConfigDedicated.havePhysicalConfigDedicated;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4179
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4180
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4181
std::list<LteRrcSap::SrbToAddMod>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4182
RrcConnectionSetupHeader::GetSrbToAddModList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4183
{
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4184
  return m_radioResourceConfigDedicated.srbToAddModList;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4185
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4186
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4187
std::list<LteRrcSap::DrbToAddMod>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4188
RrcConnectionSetupHeader::GetDrbToAddModList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4189
{
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4190
  return m_radioResourceConfigDedicated.drbToAddModList;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4191
} 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4192
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4193
std::list<uint8_t>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4194
RrcConnectionSetupHeader::GetDrbToReleaseList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4195
{
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4196
  return m_radioResourceConfigDedicated.drbToReleaseList;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4197
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4198
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4199
LteRrcSap::PhysicalConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4200
RrcConnectionSetupHeader::GetPhysicalConfigDedicated () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4201
{
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4202
  return m_radioResourceConfigDedicated.physicalConfigDedicated;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4203
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4204
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4205
LteRrcSap::RadioResourceConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4206
RrcConnectionSetupHeader::GetRadioResourceConfigDedicated () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4207
{
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4208
  return m_radioResourceConfigDedicated;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4209
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4210
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4211
//////////////////// RrcConnectionSetupCompleteHeader class ////////////////////////
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4212
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4213
RrcConnectionSetupCompleteHeader::RrcConnectionSetupCompleteHeader ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4214
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4215
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4216
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4217
RrcConnectionSetupCompleteHeader::~RrcConnectionSetupCompleteHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4218
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4219
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4220
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4221
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4222
RrcConnectionSetupCompleteHeader::PreSerialize () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4223
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4224
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4225
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4226
  // Serialize DCCH message
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4227
  SerializeUlDcchMessage (4);
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4228
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4229
  // Serialize RRCConnectionSetupComplete sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4230
  // no default or optional fields. Extension marker not present.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4231
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4232
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4233
  // Serialize rrc-TransactionIdentifier
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4234
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4235
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4236
  // Serialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4237
  // 2 options, selected 0 (c1)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4238
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4239
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4240
  // Choose spare3 NULL
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4241
  SerializeChoice (4,1,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4242
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4243
  // Serialize spare3 NULL
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4244
  SerializeNull ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4245
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4246
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4247
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4248
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4249
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4250
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4251
RrcConnectionSetupCompleteHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4252
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4253
  std::bitset<0> bitset0;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4254
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4255
  bIterator = DeserializeUlDcchMessage (bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4256
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4257
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4258
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4259
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4260
  bIterator = DeserializeInteger (&n,0,3,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4261
  m_rrcTransactionIdentifier = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4262
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4263
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4264
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4265
  if (n == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4266
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4267
      // Deserialize criticalExtensionsFuture
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4268
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4269
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4270
  else if (n == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4271
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4272
      // Deserialize c1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4273
      int c1Chosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4274
      bIterator = DeserializeChoice (4,false,&c1Chosen,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4275
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4276
      if (c1Chosen == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4277
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4278
          // Deserialize rrcConnectionSetupComplete-r8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4279
          // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4280
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4281
      else
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4282
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4283
          bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4284
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4285
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4286
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4287
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4288
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4289
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4290
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4291
RrcConnectionSetupCompleteHeader::Print (std::ostream &os) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4292
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4293
  os << "rrcTransactionIdentifier: " << (int) m_rrcTransactionIdentifier << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4294
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4295
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4296
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4297
RrcConnectionSetupCompleteHeader::SetMessage (LteRrcSap::RrcConnectionSetupCompleted msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4298
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4299
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4300
  m_isDataSerialized = false;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4301
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4302
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4303
uint8_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4304
RrcConnectionSetupCompleteHeader::GetRrcTransactionIdentifier () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4305
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4306
  return m_rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4307
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4308
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4309
LteRrcSap::RrcConnectionSetupCompleted
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4310
RrcConnectionSetupCompleteHeader::GetMessage () const
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4311
{
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4312
  LteRrcSap::RrcConnectionSetupCompleted msg;
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4313
  msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4314
  return msg;
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4315
}
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4316
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4317
//////////////////// RrcConnectionReconfigurationCompleteHeader class ////////////////////////
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4318
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4319
RrcConnectionReconfigurationCompleteHeader::RrcConnectionReconfigurationCompleteHeader ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4320
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4321
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4322
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4323
RrcConnectionReconfigurationCompleteHeader::~RrcConnectionReconfigurationCompleteHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4324
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4325
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4326
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4327
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4328
RrcConnectionReconfigurationCompleteHeader::PreSerialize () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4329
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4330
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4331
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4332
  // Serialize DCCH message
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4333
  SerializeUlDcchMessage (2);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4334
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4335
  // Serialize RRCConnectionSetupComplete sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4336
  // no default or optional fields. Extension marker not present.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4337
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4338
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4339
  // Serialize rrc-TransactionIdentifier
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4340
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4341
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4342
  // Serialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4343
  // 2 options, selected 1 (criticalExtensionsFuture)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4344
  SerializeChoice (2,1,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4345
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4346
  // Choose criticalExtensionsFuture
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4347
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4348
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4349
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4350
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4351
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4352
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4353
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4354
RrcConnectionReconfigurationCompleteHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4355
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4356
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4357
  int n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4358
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4359
  bIterator = DeserializeUlDcchMessage (bIterator);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  4360
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4361
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4362
  bIterator = DeserializeInteger (&n,0,3,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4363
  m_rrcTransactionIdentifier = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4364
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4365
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4366
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4367
  if (n == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4368
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4369
      // Deserialize criticalExtensionsFuture
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4370
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4371
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4372
  else if (n == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4373
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4374
      // Deserialize rrcConnectionReconfigurationComplete-r8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4375
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4376
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4377
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4378
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4379
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4380
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4381
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4382
RrcConnectionReconfigurationCompleteHeader::Print (std::ostream &os) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4383
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4384
  os << "rrcTransactionIdentifier: " << (int) m_rrcTransactionIdentifier << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4385
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4386
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4387
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4388
RrcConnectionReconfigurationCompleteHeader::SetMessage (LteRrcSap::RrcConnectionReconfigurationCompleted msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4389
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4390
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4391
  m_isDataSerialized = false;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4392
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4393
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4394
LteRrcSap::RrcConnectionReconfigurationCompleted
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4395
RrcConnectionReconfigurationCompleteHeader::GetMessage () const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4396
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4397
  LteRrcSap::RrcConnectionReconfigurationCompleted msg;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4398
  msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4399
  return msg;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4400
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4401
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4402
uint8_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4403
RrcConnectionReconfigurationCompleteHeader::GetRrcTransactionIdentifier () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4404
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4405
  return m_rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4406
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4407
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4408
//////////////////// RrcConnectionReconfigurationHeader class ////////////////////////
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4409
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4410
RrcConnectionReconfigurationHeader::RrcConnectionReconfigurationHeader ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4411
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4412
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4413
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4414
RrcConnectionReconfigurationHeader::~RrcConnectionReconfigurationHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4415
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4416
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4417
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4418
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4419
RrcConnectionReconfigurationHeader::PreSerialize () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4420
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4421
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4422
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4423
  SerializeDlDcchMessage (4);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4424
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4425
  // Serialize RRCConnectionSetupComplete sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4426
  // no default or optional fields. Extension marker not present.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4427
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4428
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4429
  // Serialize rrc-TransactionIdentifier
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4430
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4431
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4432
  // Serialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4433
  // 2 options, selected 0 (c1)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4434
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4435
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4436
  // Serialize c1 choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4437
  // 8 options, selected 0 (rrcConnectionReconfiguration-r8)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4438
  SerializeChoice (8,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4439
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4440
  // Serialize RRCConnectionReconfiguration-r8-IEs sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4441
  // 6 optional fields. Extension marker not present.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4442
  std::bitset<6> options;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4443
  options.set (5,m_haveMeasConfig);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4444
  options.set (4,m_haveMobilityControlInfo);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4445
  options.set (3,0); // No dedicatedInfoNASList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4446
  options.set (2,m_haveRadioResourceConfigDedicated);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4447
  options.set (1,0); // No securityConfigHO
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4448
  options.set (0,0); // No nonCriticalExtension
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4449
  SerializeSequence (options,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4450
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4451
  if (m_haveMeasConfig)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4452
    {
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  4453
      SerializeMeasConfig (m_measConfig);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4454
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4455
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4456
  if (m_haveMobilityControlInfo)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4457
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4458
      // Serialize MobilityControlInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4459
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4460
      // 4 optional fields, extension marker present.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4461
      std::bitset<4> mobCtrlIntoOptional;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4462
      mobCtrlIntoOptional.set (3,m_mobilityControlInfo.haveCarrierFreq);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4463
      mobCtrlIntoOptional.set (2,m_mobilityControlInfo.haveCarrierBandwidth);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4464
      mobCtrlIntoOptional.set (1,0); // No additionalSpectrumEmission
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4465
      mobCtrlIntoOptional.set (0,m_mobilityControlInfo.haveRachConfigDedicated);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4466
      SerializeSequence (mobCtrlIntoOptional,true);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4467
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4468
      // Serialize targetPhysCellId
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4469
      SerializeInteger (m_mobilityControlInfo.targetPhysCellId,0,503);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4470
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4471
      if (m_mobilityControlInfo.haveCarrierFreq)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4472
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4473
          SerializeSequence (std::bitset<1> (1),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4474
          SerializeInteger (m_mobilityControlInfo.carrierFreq.dlCarrierFreq,0,MAX_EARFCN);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4475
          SerializeInteger (m_mobilityControlInfo.carrierFreq.ulCarrierFreq,0,MAX_EARFCN);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4476
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4477
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4478
      if (m_mobilityControlInfo.haveCarrierBandwidth)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4479
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4480
          SerializeSequence (std::bitset<1> (1),false);
9573
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4481
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4482
          // Serialize dl-Bandwidth
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4483
          switch (m_mobilityControlInfo.carrierBandwidth.dlBandwidth)
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4484
            {
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4485
            case 6:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4486
              SerializeEnum (16,0);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4487
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4488
            case 15:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4489
              SerializeEnum (16,1);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4490
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4491
            case 25:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4492
              SerializeEnum (16,2);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4493
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4494
            case 50:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4495
              SerializeEnum (16,3);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4496
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4497
            case 75:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4498
              SerializeEnum (16,4);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4499
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4500
            case 100:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4501
              SerializeEnum (16,5);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4502
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4503
            default:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4504
              SerializeEnum (16,6);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4505
            }
9573
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4506
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4507
          // Serialize ul-Bandwidth
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4508
          switch (m_mobilityControlInfo.carrierBandwidth.ulBandwidth)
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4509
            {
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4510
            case 6:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4511
              SerializeEnum (16,0);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4512
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4513
            case 15:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4514
              SerializeEnum (16,1);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4515
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4516
            case 25:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4517
              SerializeEnum (16,2);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4518
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4519
            case 50:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4520
              SerializeEnum (16,3);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4521
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4522
            case 75:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4523
              SerializeEnum (16,4);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4524
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4525
            case 100:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4526
              SerializeEnum (16,5);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4527
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4528
            default:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4529
              SerializeEnum (16,6);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4530
            }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4531
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4532
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4533
      // Serialize t304
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4534
      SerializeEnum (8,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4535
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4536
      // Serialize newUE-Identitiy
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4537
      SerializeBitstring (std::bitset<16> (m_mobilityControlInfo.newUeIdentity));
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4538
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4539
      // Serialize radioResourceConfigCommon
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4540
      SerializeRadioResourceConfigCommon (m_mobilityControlInfo.radioResourceConfigCommon);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4541
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4542
      if (m_mobilityControlInfo.haveRachConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4543
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4544
          SerializeSequence (std::bitset<0> (),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4545
          SerializeInteger (m_mobilityControlInfo.rachConfigDedicated.raPreambleIndex,0,63);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4546
          SerializeInteger (m_mobilityControlInfo.rachConfigDedicated.raPrachMaskIndex,0,15);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4547
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4548
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4549
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4550
  if (m_haveRadioResourceConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4551
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4552
      // Serialize RadioResourceConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4553
      SerializeRadioResourceConfigDedicated (m_radioResourceConfigDedicated);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4554
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4555
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4556
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4557
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4558
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4559
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4560
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4561
RrcConnectionReconfigurationHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4562
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4563
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4564
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4565
  bIterator = DeserializeDlDcchMessage (bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4566
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4567
  // RRCConnectionReconfiguration sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4568
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4569
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4570
  // rrc-TransactionIdentifier
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4571
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4572
  bIterator = DeserializeInteger (&n,0,3,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4573
  m_rrcTransactionIdentifier = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4574
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4575
  // criticalExtensions
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4576
  int sel;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4577
  bIterator = DeserializeChoice (2,false,&sel,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4578
  if (sel == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4579
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4580
      // criticalExtensionsFuture
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4581
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4582
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4583
  else if (sel == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4584
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4585
      // c1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4586
      int c1Chosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4587
      bIterator = DeserializeChoice (8,false,&c1Chosen,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4588
      if (c1Chosen > 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4589
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4590
          bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4591
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4592
      else if (c1Chosen == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4593
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4594
          // rrcConnectionReconfiguration-r8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4595
          std::bitset<6> rrcConnRecOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4596
          bIterator = DeserializeSequence (&rrcConnRecOpts,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4597
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4598
          m_haveMeasConfig = rrcConnRecOpts[5];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4599
          if (m_haveMeasConfig)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4600
            {
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  4601
              bIterator = DeserializeMeasConfig (&m_measConfig, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4602
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4603
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4604
          m_haveMobilityControlInfo = rrcConnRecOpts[4];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4605
          if (m_haveMobilityControlInfo)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4606
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4607
              // mobilityControlInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4608
              std::bitset<4> mobCtrlOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4609
              bIterator = DeserializeSequence (&mobCtrlOpts,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4610
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4611
              // PhysCellId
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4612
              bIterator = DeserializeInteger (&n,0,503,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4613
              m_mobilityControlInfo.targetPhysCellId = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4614
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4615
              // carrierFreq
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4616
              m_mobilityControlInfo.haveCarrierFreq = mobCtrlOpts[3];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4617
              if (m_mobilityControlInfo.haveCarrierFreq)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4618
                {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4619
                  std::bitset<1> ulCarrierFreqPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4620
                  bIterator = DeserializeSequence (&ulCarrierFreqPresent,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4621
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4622
                  bIterator = DeserializeInteger (&n,0,MAX_EARFCN,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4623
                  m_mobilityControlInfo.carrierFreq.dlCarrierFreq = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4624
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4625
                  if (ulCarrierFreqPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4626
                    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4627
                      bIterator = DeserializeInteger (&n,0,MAX_EARFCN,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4628
                      m_mobilityControlInfo.carrierFreq.ulCarrierFreq = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4629
                    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4630
                }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4631
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4632
              // carrierBandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4633
              m_mobilityControlInfo.haveCarrierBandwidth = mobCtrlOpts[2];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4634
              if (m_mobilityControlInfo.haveCarrierBandwidth)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4635
                {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4636
                  std::bitset<1> ulBandwidthPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4637
                  bIterator = DeserializeSequence (&ulBandwidthPresent,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4638
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4639
                  bIterator = DeserializeEnum (16,&n,bIterator);
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4640
                  switch (n)
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4641
                    {
9573
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4642
                    case 0:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4643
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 6;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4644
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4645
                    case 1:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4646
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 15;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4647
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4648
                    case 2:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4649
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 25;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4650
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4651
                    case 3:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4652
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 50;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4653
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4654
                    case 4:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4655
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 75;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4656
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4657
                    case 5:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4658
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 100;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4659
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4660
                    case 6:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4661
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 0;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4662
                      break;
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4663
                    }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4664
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4665
                  if (ulBandwidthPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4666
                    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4667
                      bIterator = DeserializeEnum (16,&n,bIterator);
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4668
                      switch (n)
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4669
                        {
9573
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4670
                        case 0:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4671
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 6;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4672
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4673
                        case 1:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4674
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 15;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4675
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4676
                        case 2:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4677
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 25;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4678
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4679
                        case 3:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4680
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 50;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4681
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4682
                        case 4:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4683
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 75;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4684
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4685
                        case 5:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4686
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 100;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4687
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4688
                        case 6:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4689
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 0;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4690
                          break;
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4691
                        }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4692
                    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4693
                }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4694
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4695
              // additionalSpectrumEmission
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4696
              if (mobCtrlOpts[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4697
                {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4698
                  // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4699
                }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4700
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4701
              // t304
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4702
              bIterator = DeserializeEnum (8,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4703
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4704
              // newUE-Identity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4705
              std::bitset<16> cRnti;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4706
              bIterator = DeserializeBitstring (&cRnti, bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4707
              m_mobilityControlInfo.newUeIdentity = cRnti.to_ulong ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4708
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4709
              // radioResourceConfigCommon
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  4710
              bIterator = DeserializeRadioResourceConfigCommon (&m_mobilityControlInfo.radioResourceConfigCommon, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4711
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4712
              m_mobilityControlInfo.haveRachConfigDedicated = mobCtrlOpts[0];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4713
              if (m_mobilityControlInfo.haveRachConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4714
                {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4715
                  bIterator = DeserializeSequence (&bitset0, false, bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4716
                  bIterator = DeserializeInteger (&n,0,63, bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4717
                  m_mobilityControlInfo.rachConfigDedicated.raPreambleIndex = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4718
                  bIterator = DeserializeInteger (&n,0,15, bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4719
                  m_mobilityControlInfo.rachConfigDedicated.raPrachMaskIndex = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4720
                }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4721
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4722
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4723
          // dedicatedInfoNASList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4724
          if (rrcConnRecOpts[3])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4725
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4726
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4727
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4728
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4729
          // radioResourceConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4730
          m_haveRadioResourceConfigDedicated = rrcConnRecOpts[2];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4731
          if (m_haveRadioResourceConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4732
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4733
              bIterator = DeserializeRadioResourceConfigDedicated (&m_radioResourceConfigDedicated,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4734
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4735
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4736
          // securityConfigHO
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4737
          if (rrcConnRecOpts[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4738
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4739
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4740
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4741
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4742
          // nonCriticalExtension
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4743
          if (rrcConnRecOpts[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4744
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4745
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4746
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4747
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4748
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4749
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4750
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4751
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4752
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4753
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4754
RrcConnectionReconfigurationHeader::Print (std::ostream &os) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4755
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4756
  os << "rrcTransactionIdentifier: " << (int) m_rrcTransactionIdentifier << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4757
  os << "haveMeasConfig: " << m_haveMeasConfig << std::endl;
9989
830199200fe3 Fix print of the MeasConfig IE
Manuel Requena <manuel.requena@cttc.es>
parents: 9982
diff changeset
  4758
  if (m_haveMeasConfig)
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4759
    {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4760
      if (!m_measConfig.measObjectToRemoveList.empty ())
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4761
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4762
          os << "  measObjectToRemoveList: ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4763
          std::list<uint8_t> auxList = m_measConfig.measObjectToRemoveList;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4764
          std::list<uint8_t>::iterator it = auxList.begin ();
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4765
          for (; it != auxList.end (); it++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4766
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4767
              os << (int) *it << ", ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4768
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4769
          os << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4770
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4771
      if (!m_measConfig.reportConfigToRemoveList.empty ())
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4772
        {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4773
          os << "  reportConfigToRemoveList: ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4774
          std::list<uint8_t> auxList = m_measConfig.reportConfigToRemoveList;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4775
          std::list<uint8_t>::iterator it = auxList.begin ();
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4776
          for (; it != auxList.end (); it++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4777
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4778
              os << (int) *it << ", ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4779
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4780
          os << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4781
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4782
      if (!m_measConfig.measIdToRemoveList.empty ())
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4783
        {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4784
          os << "  measIdToRemoveList: ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4785
          std::list<uint8_t> auxList = m_measConfig.measIdToRemoveList;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4786
          std::list<uint8_t>::iterator it = auxList.begin ();
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4787
          for (; it != auxList.end (); it++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4788
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4789
              os << (int) *it << ", ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4790
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4791
          os << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4792
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4793
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4794
      if (!m_measConfig.measObjectToAddModList.empty ())
9980
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4795
        {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4796
          os << "  measObjectToAddMod: " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4797
          std::list<LteRrcSap::MeasObjectToAddMod> auxList = m_measConfig.measObjectToAddModList;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4798
          std::list<LteRrcSap::MeasObjectToAddMod>::iterator it = auxList.begin ();
9980
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4799
          for (; it != auxList.end (); it++)
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4800
            {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4801
              os << "    measObjectId: " << (int)it->measObjectId << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4802
              os << "    carrierFreq: " << (int)it->measObjectEutra.carrierFreq << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4803
              os << "    allowedMeasBandwidth: " <<  (int)it->measObjectEutra.allowedMeasBandwidth << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4804
              os << "    presenceAntennaPort1: " <<  it->measObjectEutra.presenceAntennaPort1  << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4805
              os << "    neighCellConfig: " << (int) it->measObjectEutra.neighCellConfig  << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4806
              os << "    offsetFreq: " <<  (int)it->measObjectEutra.offsetFreq  << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4807
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4808
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4809
              if (!it->measObjectEutra.cellsToRemoveList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4810
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4811
                  os << "    cellsToRemoveList: ";
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4812
                  std::list<uint8_t> auxList = it->measObjectEutra.cellsToRemoveList;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4813
                  std::list<uint8_t>::iterator it = auxList.begin ();
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4814
                  for (; it != auxList.end (); it++)
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4815
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4816
                      os << (int) *it << ", ";
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4817
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4818
                  os << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4819
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4820
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4821
              if (!it->measObjectEutra.blackCellsToRemoveList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4822
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4823
                  os << "    blackCellsToRemoveList: ";
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4824
                  std::list<uint8_t> auxList = it->measObjectEutra.blackCellsToRemoveList;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4825
                  std::list<uint8_t>::iterator it = auxList.begin ();
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4826
                  for (; it != auxList.end (); it++)
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4827
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4828
                      os << (int) *it << ", ";
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4829
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4830
                  os << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4831
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4832
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4833
              if (!it->measObjectEutra.cellsToAddModList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4834
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4835
                  os << "    cellsToAddModList: " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4836
                  std::list<LteRrcSap::CellsToAddMod> auxList = it->measObjectEutra.cellsToAddModList;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4837
                  std::list<LteRrcSap::CellsToAddMod>::iterator it = auxList.begin ();
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4838
                  for (; it != auxList.end (); it++)
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4839
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4840
                      os << "      cellIndex: " <<  (int)it->cellIndex << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4841
                      os << "      physCellId: " <<  (int)it->physCellId  << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4842
                      os << "      cellIndividualOffset: " <<  (int)it->cellIndividualOffset << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4843
                      os << "      ------ " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4844
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4845
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4846
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4847
              if (!it->measObjectEutra.blackCellsToAddModList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4848
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4849
                  os << "    blackCellsToAddModList: " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4850
                  std::list<LteRrcSap::BlackCellsToAddMod> auxList = it->measObjectEutra.blackCellsToAddModList;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4851
                  std::list<LteRrcSap::BlackCellsToAddMod>::iterator it = auxList.begin ();
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4852
                  for (; it != auxList.end (); it++)
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4853
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4854
                      os << "      cellIndex: " <<  (int)it->cellIndex << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4855
                      os << "      physCellIdRange.start: " <<  (int)it->physCellIdRange.start  << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4856
                      os << "      physCellIdRange.haveRange: " <<  it->physCellIdRange.haveRange << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4857
                      os << "      physCellIdRange.range: " <<  (int)it->physCellIdRange.range << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4858
                      os << "      ------ " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4859
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4860
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4861
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4862
              os << "    haveCellForWhichToReportCGI: " <<  it->measObjectEutra.haveCellForWhichToReportCGI  << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4863
              os << "    cellForWhichToReportCGI: " <<  (int)it->measObjectEutra.cellForWhichToReportCGI  << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4864
              os << "    ------------- " << std::endl;
9980
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4865
            }
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4866
9980
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4867
        }
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4868
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4869
      if (!m_measConfig.reportConfigToAddModList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4870
        {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4871
          os << "  reportConfigToAddModList: " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4872
          std::list<LteRrcSap::ReportConfigToAddMod> auxList = m_measConfig.reportConfigToAddModList;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4873
          std::list<LteRrcSap::ReportConfigToAddMod>::iterator it = auxList.begin ();
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4874
          for (; it != auxList.end (); it++)
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4875
            {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4876
              os << "    reportConfigId: " << (int)it->reportConfigId << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4877
              os << "    reportConfigEutra.triggerType  " <<  (int)it->reportConfigEutra.triggerType << std::endl;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  4878
              if (it->reportConfigEutra.triggerType == LteRrcSap::ReportConfigEutra::EVENT)
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4879
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4880
                  os << "    reportConfigEutra.eventId  " <<  (int)it->reportConfigEutra.eventId << std::endl;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  4881
                  if (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::EVENT_A3)
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4882
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4883
                      os << "    reportConfigEutra.reportOnLeave  " <<  (int)it->reportConfigEutra.reportOnLeave << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4884
                      os << "    reportConfigEutra.a3Offset  " <<  (int)it->reportConfigEutra.a3Offset << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4885
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4886
                  else
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4887
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4888
                      os << "    reportConfigEutra.threshold1.choice  " <<  (int)it->reportConfigEutra.threshold1.choice << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4889
                      os << "    reportConfigEutra.threshold1.range  " <<  (int)it->reportConfigEutra.threshold1.range << std::endl;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  4890
                      if (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::EVENT_A5)
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4891
                        {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4892
                          os << "    reportConfigEutra.threshold2.choice  " <<  (int)it->reportConfigEutra.threshold2.choice << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4893
                          os << "    reportConfigEutra.threshold2.range  " <<  (int)it->reportConfigEutra.threshold2.range << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4894
                        }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4895
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4896
                  os << "    reportConfigEutra.hysteresis  " <<  (int)it->reportConfigEutra.hysteresis << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4897
                  os << "    reportConfigEutra.timeToTrigger  " <<  (int)it->reportConfigEutra.timeToTrigger << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4898
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4899
              else
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4900
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4901
                  os << "    reportConfigEutra.purpose  " <<  (int)it->reportConfigEutra.purpose << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4902
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4903
              os << "    reportConfigEutra.triggerQuantity  " <<  (int)it->reportConfigEutra.triggerQuantity << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4904
              os << "    reportConfigEutra.reportQuantity  " <<  (int)it->reportConfigEutra.reportQuantity << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4905
              os << "    reportConfigEutra.maxReportCells  " <<  (int)it->reportConfigEutra.maxReportCells << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4906
              os << "    reportConfigEutra.reportInterval  " <<  (int)it->reportConfigEutra.reportInterval << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4907
              os << "    reportConfigEutra.reportAmount  " <<  (int)it->reportConfigEutra.reportAmount << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4908
            }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4909
        }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4910
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4911
      if (!m_measConfig.measIdToAddModList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4912
        {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4913
          os << "  measIdToAddModList: " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4914
          std::list<LteRrcSap::MeasIdToAddMod> auxList = m_measConfig.measIdToAddModList;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4915
          std::list<LteRrcSap::MeasIdToAddMod>::iterator it = auxList.begin ();
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4916
          for (; it != auxList.end (); it++)
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4917
            {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4918
              os << "    measId: " << (int)it->measId << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4919
              os << "    measObjectId: " << (int)it->measObjectId << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4920
              os << "    reportConfigId: " << (int)it->reportConfigId << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4921
              os << "    ------ " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4922
            }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4923
        }
9980
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4924
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4925
      os << "  haveQuantityConfig: " << m_measConfig.haveQuantityConfig << std::endl;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4926
      if (m_measConfig.haveQuantityConfig)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4927
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4928
          os << "    filterCoefficientRSRP: " << (int)m_measConfig.quantityConfig.filterCoefficientRSRP << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4929
          os << "    filterCoefficientRSRQ:" << (int)m_measConfig.quantityConfig.filterCoefficientRSRQ  << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4930
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4931
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4932
      os << "  haveMeasGapConfig: " << m_measConfig.haveMeasGapConfig << std::endl;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4933
      if (m_measConfig.haveMeasGapConfig)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4934
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4935
          os << "    measGapConfig.type: " << m_measConfig.measGapConfig.type << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4936
          os << "    measGapConfig.gap (gap0/1,value): (" << m_measConfig.measGapConfig.gapOffsetChoice
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4937
             << "," << (int) m_measConfig.measGapConfig.gapOffsetValue << ")" << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4938
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4939
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4940
      os << "  haveSmeasure: " << m_measConfig.haveSmeasure << std::endl;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4941
      if (m_measConfig.haveSmeasure)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4942
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4943
          os << "    sMeasure: " << (int) m_measConfig.sMeasure  << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4944
        }
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4945
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4946
      os << "  haveSpeedStatePars: " << m_measConfig.haveSpeedStatePars << std::endl;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4947
      if (m_measConfig.haveSpeedStatePars)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4948
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4949
          os << "    speedStatePars.type: " << m_measConfig.speedStatePars.type << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4950
          os << "    speedStatePars.mobilityStateParameters.tEvaluation: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.tEvaluation << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4951
          os << "    speedStatePars.mobilityStateParameters.tHystNormal: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.tHystNormal << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4952
          os << "    speedStatePars.mobilityStateParameters.nCellChangeMedium: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.nCellChangeMedium << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4953
          os << "    speedStatePars.mobilityStateParameters.nCellChangeHigh: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.nCellChangeHigh << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4954
          os << "    speedStatePars.timeToTriggerSf.sfMedium: " << (int)m_measConfig.speedStatePars.timeToTriggerSf.sfMedium << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4955
          os << "    speedStatePars.timeToTriggerSf.sfHigh: " << (int)m_measConfig.speedStatePars.timeToTriggerSf.sfHigh << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4956
        }
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4957
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4958
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4959
  os << "haveMobilityControlInfo: " << m_haveMobilityControlInfo << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4960
  if (m_haveMobilityControlInfo)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4961
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4962
      os << "targetPhysCellId: " << (int)m_mobilityControlInfo.targetPhysCellId << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4963
      os << "haveCarrierFreq: " << m_mobilityControlInfo.haveCarrierFreq << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4964
      if (m_mobilityControlInfo.haveCarrierFreq)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4965
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4966
          os << "  carrierFreq.dlCarrierFreq: " << (int) m_mobilityControlInfo.carrierFreq.dlCarrierFreq << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4967
          os << "  carrierFreq.dlCarrierFreq: " << (int) m_mobilityControlInfo.carrierFreq.ulCarrierFreq << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4968
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4969
      os << "haveCarrierBandwidth: " << m_mobilityControlInfo.haveCarrierBandwidth << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4970
      if (m_mobilityControlInfo.haveCarrierBandwidth)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4971
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4972
          os << "  carrierBandwidth.dlBandwidth: " << (int) m_mobilityControlInfo.carrierBandwidth.dlBandwidth << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4973
          os << "  carrierBandwidth.ulBandwidth: " << (int) m_mobilityControlInfo.carrierBandwidth.ulBandwidth << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4974
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4975
      os << "newUeIdentity: " << (int) m_mobilityControlInfo.newUeIdentity << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4976
      os << "haveRachConfigDedicated: " << m_mobilityControlInfo.haveRachConfigDedicated << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4977
      if (m_mobilityControlInfo.haveRachConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4978
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4979
          os << "raPreambleIndex: " << (int) m_mobilityControlInfo.rachConfigDedicated.raPreambleIndex << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4980
          os << "raPrachMaskIndex: "  << (int) m_mobilityControlInfo.rachConfigDedicated.raPrachMaskIndex << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4981
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4982
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4983
  os << "haveRadioResourceConfigDedicated: " << m_haveRadioResourceConfigDedicated << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4984
  if (m_haveRadioResourceConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4985
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4986
      RrcAsn1Header::Print (os,m_radioResourceConfigDedicated);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4987
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4988
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4989
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4990
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4991
RrcConnectionReconfigurationHeader::SetMessage (LteRrcSap::RrcConnectionReconfiguration msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4992
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4993
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4994
  m_haveMeasConfig = msg.haveMeasConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4995
  m_measConfig = msg.measConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4996
  m_haveMobilityControlInfo = msg.haveMobilityControlInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4997
  m_mobilityControlInfo = msg.mobilityControlInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4998
  m_haveRadioResourceConfigDedicated = msg.haveRadioResourceConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4999
  m_radioResourceConfigDedicated = msg.radioResourceConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5000
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5001
  m_isDataSerialized = false;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5002
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5003
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5004
LteRrcSap::RrcConnectionReconfiguration
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5005
RrcConnectionReconfigurationHeader::GetMessage () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5006
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5007
  LteRrcSap::RrcConnectionReconfiguration msg;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5008
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5009
  msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5010
  msg.haveMeasConfig = m_haveMeasConfig;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5011
  msg.measConfig = m_measConfig;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5012
  msg.haveMobilityControlInfo = m_haveMobilityControlInfo;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5013
  msg.mobilityControlInfo = m_mobilityControlInfo;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5014
  msg.haveRadioResourceConfigDedicated = m_haveRadioResourceConfigDedicated;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5015
  msg.radioResourceConfigDedicated = m_radioResourceConfigDedicated;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5016
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5017
  return msg;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5018
}
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5019
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5020
uint8_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5021
RrcConnectionReconfigurationHeader::GetRrcTransactionIdentifier () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5022
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5023
  return m_rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5024
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5025
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5026
bool
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5027
RrcConnectionReconfigurationHeader::GetHaveMeasConfig ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5028
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5029
  return m_haveMeasConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5030
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5031
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5032
LteRrcSap::MeasConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5033
RrcConnectionReconfigurationHeader::GetMeasConfig ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5034
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5035
  return m_measConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5036
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5037
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5038
bool
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5039
RrcConnectionReconfigurationHeader::GetHaveMobilityControlInfo ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5040
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5041
  return m_haveMobilityControlInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5042
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5043
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5044
LteRrcSap::MobilityControlInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5045
RrcConnectionReconfigurationHeader::GetMobilityControlInfo ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5046
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5047
  return m_mobilityControlInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5048
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5049
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5050
bool
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5051
RrcConnectionReconfigurationHeader::GetHaveRadioResourceConfigDedicated ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5052
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5053
  return m_haveRadioResourceConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5054
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5055
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5056
LteRrcSap::RadioResourceConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5057
RrcConnectionReconfigurationHeader::GetRadioResourceConfigDedicated ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5058
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5059
  return m_radioResourceConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5060
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5061
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5062
bool
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5063
RrcConnectionReconfigurationHeader::HavePhysicalConfigDedicated () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5064
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5065
  return m_radioResourceConfigDedicated.havePhysicalConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5066
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5067
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5068
std::list<LteRrcSap::SrbToAddMod> 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5069
RrcConnectionReconfigurationHeader::GetSrbToAddModList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5070
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5071
  return m_radioResourceConfigDedicated.srbToAddModList;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5072
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5073
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5074
std::list<LteRrcSap::DrbToAddMod> 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5075
RrcConnectionReconfigurationHeader::GetDrbToAddModList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5076
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5077
  return m_radioResourceConfigDedicated.drbToAddModList;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5078
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5079
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5080
std::list<uint8_t> 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5081
RrcConnectionReconfigurationHeader::GetDrbToReleaseList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5082
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5083
  return m_radioResourceConfigDedicated.drbToReleaseList;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5084
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5085
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5086
LteRrcSap::PhysicalConfigDedicated 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5087
RrcConnectionReconfigurationHeader::GetPhysicalConfigDedicated () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5088
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5089
  return m_radioResourceConfigDedicated.physicalConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5090
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5091
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5092
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5093
//////////////////// HandoverPreparationInfoHeader class ////////////////////////
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5094
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5095
HandoverPreparationInfoHeader::HandoverPreparationInfoHeader ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5096
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5097
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5098
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5099
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5100
HandoverPreparationInfoHeader::PreSerialize () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5101
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5102
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5103
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5104
  // Serialize HandoverPreparationInformation sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5105
  // no default or optional fields. Extension marker not present.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  5106
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5107
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5108
  // Serialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5109
  // 2 options, selected 0 (c1)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5110
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5111
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5112
  // Serialize c1 choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5113
  // 8 options, selected 0 (handoverPreparationInformation-r8)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5114
  SerializeChoice (8,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5115
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5116
  // Serialize HandoverPreparationInformation-r8-IEs sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5117
  // 4 optional fields, no extension marker.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5118
  std::bitset<4> handoverPrepInfoOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5119
  handoverPrepInfoOpts.set (3,1); // as-Config present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5120
  handoverPrepInfoOpts.set (2,0); // rrm-Config not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5121
  handoverPrepInfoOpts.set (1,0); // as-Context not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5122
  handoverPrepInfoOpts.set (0,0); // nonCriticalExtension not present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5123
  SerializeSequence (handoverPrepInfoOpts,false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5124
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5125
  // Serialize ue-RadioAccessCapabilityInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5126
  SerializeSequenceOf (0,MAX_RAT_CAPABILITIES,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5127
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5128
  // Serialize as-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5129
  SerializeSequence (std::bitset<0> (),true);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5130
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5131
  // Serialize sourceMeasConfig
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  5132
  SerializeMeasConfig (m_asConfig.sourceMeasConfig);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5133
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5134
  // Serialize sourceRadioResourceConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5135
  SerializeRadioResourceConfigDedicated (m_asConfig.sourceRadioResourceConfig);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5136
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5137
  // Serialize sourceSecurityAlgorithmConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5138
  SerializeSequence (std::bitset<0> (),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5139
  // cipheringAlgorithm
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5140
  SerializeEnum (8,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5141
  // integrityProtAlgorithm
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5142
  SerializeEnum (8,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5143
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5144
  // Serialize sourceUE-Identity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5145
  SerializeBitstring (std::bitset<16> (m_asConfig.sourceUeIdentity));
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5146
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5147
  // Serialize sourceMasterInformationBlock
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5148
  SerializeSequence (std::bitset<0> (),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5149
  SerializeEnum (6,m_asConfig.sourceMasterInformationBlock.dlBandwidth); // dl-Bandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5150
  SerializeSequence (std::bitset<0> (),false); // phich-Config sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5151
  SerializeEnum (2,0); // phich-Duration
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5152
  SerializeEnum (4,0); // phich-Resource
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5153
  SerializeBitstring (std::bitset<8> (m_asConfig.sourceMasterInformationBlock.systemFrameNumber)); // systemFrameNumber
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5154
  SerializeBitstring (std::bitset<10> (321)); // spare
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5155
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5156
  // Serialize sourceSystemInformationBlockType1 sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5157
  SerializeSystemInformationBlockType1 (m_asConfig.sourceSystemInformationBlockType1);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5158
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5159
  // Serialize sourceSystemInformationBlockType2
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  5160
  SerializeSystemInformationBlockType2 (m_asConfig.sourceSystemInformationBlockType2);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5161
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5162
  // Serialize AntennaInfoCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5163
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5164
  SerializeEnum (4,0); // antennaPortsCount 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5165
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5166
  // Serialize sourceDlCarrierFreq
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5167
  SerializeInteger (m_asConfig.sourceDlCarrierFreq,0,MAX_EARFCN);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5168
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5169
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5170
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5171
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5172
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5173
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5174
HandoverPreparationInfoHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5175
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5176
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5177
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5178
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5179
  // Deserialize HandoverPreparationInformation sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5180
  // 0 optional fields, no extension marker
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5181
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5182
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5183
  // Deserialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5184
  int criticalExtensionsChosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5185
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChosen,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5186
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5187
  if (criticalExtensionsChosen == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5188
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5189
      // Deserialize criticalExtensionsFuture
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5190
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5191
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5192
  else if (criticalExtensionsChosen == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5193
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5194
      // Deserialize c1 choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5195
      int c1Chosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5196
      bIterator = DeserializeChoice (8,false,&c1Chosen,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5197
      if (c1Chosen > 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5198
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5199
          bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5200
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5201
      else if (c1Chosen == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5202
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5203
          // Deserialize handoverPreparationInformation-r8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5204
          std::bitset<4> handoverPrepInfoOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5205
          bIterator = DeserializeSequence (&handoverPrepInfoOpts,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5206
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5207
          // Deserialize ue-RadioAccessCapabilityInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5208
          bIterator = DeserializeSequenceOf (&n,MAX_RAT_CAPABILITIES,0,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5209
          for (int i = 0; i < n; i++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5210
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5211
              // Deserialize UE-CapabilityRAT-Container
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5212
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5213
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5214
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5215
          if (handoverPrepInfoOpts[3])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5216
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5217
              // Deserialize as-Config sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5218
              bIterator = DeserializeSequence (&bitset0,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5219
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5220
              // Deserialize sourceMeasConfig
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  5221
              bIterator = DeserializeMeasConfig (&m_asConfig.sourceMeasConfig, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5222
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5223
              // Deserialize sourceRadioResourceConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5224
              bIterator = DeserializeRadioResourceConfigDedicated (&m_asConfig.sourceRadioResourceConfig,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5225
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5226
              // Deserialize sourceSecurityAlgorithmConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5227
              bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5228
              bIterator = DeserializeEnum (8,&n,bIterator); // cipheringAlgorithm
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5229
              bIterator = DeserializeEnum (8,&n,bIterator); // integrityProtAlgorithm
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5230
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5231
              // Deserialize sourceUE-Identity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5232
              std::bitset<16> cRnti;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5233
              bIterator = DeserializeBitstring (&cRnti,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5234
              m_asConfig.sourceUeIdentity = cRnti.to_ulong ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5235
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5236
              // Deserialize sourceMasterInformationBlock
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5237
              bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5238
              bIterator = DeserializeEnum (6,&n,bIterator); // dl-Bandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5239
              m_asConfig.sourceMasterInformationBlock.dlBandwidth = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5240
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5241
              // phich-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5242
              bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5243
              bIterator = DeserializeEnum (2,&n,bIterator); // phich-Duration
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5244
              bIterator = DeserializeEnum (4,&n,bIterator); // phich-Resource
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5245
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5246
              // systemFrameNumber
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5247
              std::bitset<8> systemFrameNumber;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5248
              bIterator = DeserializeBitstring (&systemFrameNumber,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5249
              m_asConfig.sourceMasterInformationBlock.systemFrameNumber = systemFrameNumber.to_ulong ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5250
              // spare
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5251
              std::bitset<10> spare;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5252
              bIterator = DeserializeBitstring (&spare,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5253
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5254
              // Deserialize sourceSystemInformationBlockType1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5255
              bIterator = DeserializeSystemInformationBlockType1 (&m_asConfig.sourceSystemInformationBlockType1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5256
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5257
              // Deserialize sourceSystemInformationBlockType2
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5258
              bIterator = DeserializeSystemInformationBlockType2 (&m_asConfig.sourceSystemInformationBlockType2,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5259
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5260
              // Deserialize antennaInfoCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5261
              bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5262
              bIterator = DeserializeEnum (4,&n,bIterator); // antennaPortsCount
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5263
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5264
              // Deserialize sourceDl-CarrierFreq
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5265
              bIterator = DeserializeInteger (&n,0,MAX_EARFCN,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5266
              m_asConfig.sourceDlCarrierFreq = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5267
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5268
          if (handoverPrepInfoOpts[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5269
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5270
              // Deserialize rrm-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5271
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5272
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5273
          if (handoverPrepInfoOpts[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5274
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5275
              // Deserialize as-Context
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5276
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5277
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5278
          if (handoverPrepInfoOpts[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5279
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5280
              // Deserialize nonCriticalExtension
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5281
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5282
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5283
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5284
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5285
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5286
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5287
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5288
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5289
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5290
HandoverPreparationInfoHeader::Print (std::ostream &os) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5291
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5292
  RrcAsn1Header::Print (os,m_asConfig.sourceRadioResourceConfig);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5293
  os << "sourceUeIdentity: " << m_asConfig.sourceUeIdentity << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5294
  os << "dlBandwidth: " << (int)m_asConfig.sourceMasterInformationBlock.dlBandwidth << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5295
  os << "systemFrameNumber: " << (int)m_asConfig.sourceMasterInformationBlock.systemFrameNumber << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5296
  os << "plmnIdentityInfo.plmnIdentity: " << (int) m_asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.plmnIdentityInfo.plmnIdentity << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5297
  os << "cellAccessRelatedInfo.cellIdentity " << (int)m_asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.cellIdentity << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5298
  os << "cellAccessRelatedInfo.csgIndication: " << m_asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIndication << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5299
  os << "cellAccessRelatedInfo.csgIdentity: " << (int)m_asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIdentity << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5300
  os << "sourceDlCarrierFreq: " << m_asConfig.sourceDlCarrierFreq << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5301
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5302
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5303
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5304
HandoverPreparationInfoHeader::SetMessage (LteRrcSap::HandoverPreparationInfo msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5305
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5306
  m_asConfig = msg.asConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5307
  m_isDataSerialized = false;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5308
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5309
9492
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5310
LteRrcSap::HandoverPreparationInfo
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5311
HandoverPreparationInfoHeader::GetMessage () const
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5312
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5313
  LteRrcSap::HandoverPreparationInfo msg;
9492
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5314
  msg.asConfig = m_asConfig;
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5315
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5316
  return msg;
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5317
}
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5318
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5319
LteRrcSap::AsConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5320
HandoverPreparationInfoHeader::GetAsConfig () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5321
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5322
  return m_asConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5323
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5324
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5325
//////////////////// RrcConnectionReestablishmentRequestHeader class ////////////////////////
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5326
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5327
RrcConnectionReestablishmentRequestHeader::RrcConnectionReestablishmentRequestHeader ()
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5328
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5329
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5330
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5331
RrcConnectionReestablishmentRequestHeader::~RrcConnectionReestablishmentRequestHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5332
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5333
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5334
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5335
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5336
RrcConnectionReestablishmentRequestHeader::PreSerialize () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5337
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5338
  m_serializationResult = Buffer ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5339
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5340
  SerializeUlCcchMessage (0);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5341
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5342
  // Serialize RrcConnectionReestablishmentReques sequence:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5343
  // no default or optional fields. Extension marker not present.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  5344
  SerializeSequence (std::bitset<0> (),false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5345
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5346
  // Serialize criticalExtensions choice
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5347
  // chosen: rrcConnectionReestablishmentRequest-r8
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5348
  SerializeChoice (2,0,false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5349
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5350
  // Serialize RRCConnectionReestablishmentRequest-r8-IEs sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5351
  // no default or optional fields. Extension marker not present.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  5352
  SerializeSequence (std::bitset<0> (),false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5353
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5354
  // Serialize ue-Identity
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  5355
  SerializeSequence (std::bitset<0> (),false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5356
  // Serialize c-RNTI
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5357
  SerializeBitstring (std::bitset<16> (m_ueIdentity.cRnti));
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5358
  // Serialize physCellId
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5359
  SerializeInteger (m_ueIdentity.physCellId,0,503);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5360
  // Serialize shortMAC-I
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5361
  SerializeBitstring (std::bitset<16> (0));
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5362
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5363
  // Serialize ReestablishmentCause
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5364
  switch (m_reestablishmentCause)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5365
    {
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5366
    case LteRrcSap::RECONFIGURATION_FAILURE:
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5367
      SerializeEnum (4,0);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5368
      break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5369
    case LteRrcSap::HANDOVER_FAILURE:
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5370
      SerializeEnum (4,1);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5371
      break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5372
    case LteRrcSap::OTHER_FAILURE:
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5373
      SerializeEnum (4,2);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5374
      break;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5375
    default:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5376
      SerializeEnum (4,3);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5377
    }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5378
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5379
  // Serialize spare
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  5380
  SerializeBitstring (std::bitset<2> (0));
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5381
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5382
  // Finish serialization
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5383
  FinalizeSerialization ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5384
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5385
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5386
uint32_t
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5387
RrcConnectionReestablishmentRequestHeader::Deserialize (Buffer::Iterator bIterator)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5388
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5389
  std::bitset<0> bitset0;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5390
  int n;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5391
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5392
  bIterator = DeserializeUlCcchMessage (bIterator);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5393
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5394
  // Deserialize RrcConnectionReestablishmentRequest sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5395
  // 0 optional fields, no extension marker
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5396
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5397
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5398
  // Deserialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5399
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5400
  if ( n == 1)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5401
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5402
      // Deserialize criticalExtensionsFuture
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5403
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5404
    }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5405
  else if ( n == 0)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5406
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5407
      // Deserialize RRCConnectionReestablishmentRequest-r8-IEs
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5408
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5409
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5410
      // Deserialize ReestabUE-Identity sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5411
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5412
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5413
      // Deserialize c-RNTI
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5414
      std::bitset<16> cRnti;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5415
      bIterator = DeserializeBitstring (&cRnti,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5416
      m_ueIdentity.cRnti = cRnti.to_ulong ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5417
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5418
      // Deserialize physCellId
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5419
      int physCellId;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5420
      bIterator = DeserializeInteger (&physCellId,0,503,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5421
      m_ueIdentity.physCellId = physCellId;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5422
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5423
      // Deserialize shortMAC-I
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5424
      std::bitset<16> shortMacI;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5425
      bIterator = DeserializeBitstring (&shortMacI,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5426
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5427
      // Deserialize ReestablishmentCause
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5428
      int reestCs;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5429
      bIterator = DeserializeEnum (4,&reestCs,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5430
      switch (reestCs)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5431
        {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5432
        case 0:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5433
          m_reestablishmentCause = LteRrcSap::RECONFIGURATION_FAILURE;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5434
          break;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5435
        case 1:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5436
          m_reestablishmentCause = LteRrcSap::HANDOVER_FAILURE;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5437
          break;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5438
        case 2:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5439
          m_reestablishmentCause = LteRrcSap::OTHER_FAILURE;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5440
          break;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5441
        case 3:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5442
          break;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5443
        }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5444
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5445
      // Deserialize spare
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5446
      std::bitset<2> spare;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5447
      bIterator = DeserializeBitstring (&spare,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5448
    }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5450
  return GetSerializedSize ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5451
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5452
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5453
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5454
RrcConnectionReestablishmentRequestHeader::Print (std::ostream &os) const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5455
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5456
  os << "ueIdentity.cRnti: " << (int)m_ueIdentity.cRnti << std::endl;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5457
  os << "ueIdentity.physCellId: " << (int)m_ueIdentity.physCellId << std::endl;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5458
  os << "m_reestablishmentCause: " << m_reestablishmentCause << std::endl;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5459
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5460
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5461
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5462
RrcConnectionReestablishmentRequestHeader::SetMessage (LteRrcSap::RrcConnectionReestablishmentRequest msg)
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5463
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5464
  m_ueIdentity = msg.ueIdentity;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5465
  m_reestablishmentCause = msg.reestablishmentCause;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5466
  m_isDataSerialized = false;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5467
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5468
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5469
LteRrcSap::RrcConnectionReestablishmentRequest
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5470
RrcConnectionReestablishmentRequestHeader::GetMessage () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5471
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5472
  LteRrcSap::RrcConnectionReestablishmentRequest msg;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5473
  msg.ueIdentity = m_ueIdentity;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5474
  msg.reestablishmentCause = m_reestablishmentCause;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5475
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5476
  return msg;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5477
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5478
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5479
LteRrcSap::ReestabUeIdentity
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5480
RrcConnectionReestablishmentRequestHeader::GetUeIdentity () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5481
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5482
  return m_ueIdentity;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5483
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5484
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5485
LteRrcSap::ReestablishmentCause
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5486
RrcConnectionReestablishmentRequestHeader::GetReestablishmentCause () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5487
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5488
  return m_reestablishmentCause;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5489
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5490
9482
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5491
//////////////////// RrcConnectionReestablishmentHeader class ////////////////////////
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5492
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5493
RrcConnectionReestablishmentHeader::RrcConnectionReestablishmentHeader ()
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5494
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5495
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5496
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5497
RrcConnectionReestablishmentHeader::~RrcConnectionReestablishmentHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5498
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5499
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5500
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5501
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5502
RrcConnectionReestablishmentHeader::PreSerialize () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5503
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5504
  m_serializationResult = Buffer ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5505
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5506
  SerializeDlCcchMessage (0);
9482
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5507
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5508
  // Serialize RrcConnectionReestablishment sequence:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5509
  // no default or optional fields. Extension marker not present.
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5510
  SerializeSequence (std::bitset<0> (),false);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5511
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5512
  // Serialize rrc-TransactionIdentifier
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5513
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5514
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5515
  // Serialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5516
  SerializeChoice (2,0,false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5517
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5518
  // Serialize c1 choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5519
  SerializeChoice (8,0,false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5520
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5521
  // Serialize RRCConnectionReestablishment-r8-IEs sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5522
  // 1 optional field, no extension marker
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5523
  SerializeSequence (std::bitset<1> (0),false);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5524
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5525
  // Serialize radioResourceConfigDedicated
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5526
  SerializeRadioResourceConfigDedicated (m_radioResourceConfigDedicated);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5527
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5528
  // Serialize nextHopChainingCount
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5529
  SerializeInteger (0,0,7);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5530
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5531
  // Finish serialization
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5532
  FinalizeSerialization ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5533
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5534
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5535
uint32_t
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5536
RrcConnectionReestablishmentHeader::Deserialize (Buffer::Iterator bIterator)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5537
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5538
  std::bitset<0> bitset0;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5539
  int n;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5540
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5541
  bIterator = DeserializeDlCcchMessage (bIterator);
9482
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5542
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5543
  // Deserialize RrcConnectionReestablishment sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5544
  // 0 optional fields, no extension marker
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5545
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5546
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5547
  // Deserialize rrc-TransactionIdentifier
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5548
  bIterator = DeserializeInteger (&n,0,3,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5549
  m_rrcTransactionIdentifier = n;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5550
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5551
  // Deserialize criticalExtensions choice
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5552
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5553
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5554
  if (criticalExtensionsChoice == 1)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5555
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5556
      // Deserialize criticalExtensionsFuture
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5557
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5558
    }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5559
  else if (criticalExtensionsChoice == 0)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5560
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5561
      // Deserialize c1
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5562
      int c1;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5563
      bIterator = DeserializeChoice (8,false,&c1,bIterator);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5564
      if (c1 > 0)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5565
        {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5566
          bIterator = DeserializeNull (bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5567
        }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5568
      else if (c1 == 0)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5569
        {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5570
          // Deserialize rrcConnectionReestablishment-r8
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5571
          // 1 optional field
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5572
          std::bitset<1> nonCriticalExtensionPresent;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5573
          bIterator = DeserializeSequence (&nonCriticalExtensionPresent,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5574
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5575
          // Deserialize RadioResourceConfigDedicated
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5576
          bIterator = DeserializeRadioResourceConfigDedicated (&m_radioResourceConfigDedicated,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5577
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5578
          // Deserialize nextHopChainingCount
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5579
          bIterator = DeserializeInteger (&n,0,7,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5580
        }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5581
    }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5582
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5583
  return GetSerializedSize ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5584
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5585
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5586
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5587
RrcConnectionReestablishmentHeader::Print (std::ostream &os) const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5588
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5589
  os << "rrcTransactionIdentifier: " << (int)m_rrcTransactionIdentifier << std::endl;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5590
  os << "RadioResourceConfigDedicated: " << std::endl;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5591
  RrcAsn1Header::Print (os,m_radioResourceConfigDedicated);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5592
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5593
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5594
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5595
RrcConnectionReestablishmentHeader::SetMessage (LteRrcSap::RrcConnectionReestablishment msg)
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5596
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5597
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5598
  m_radioResourceConfigDedicated = msg.radioResourceConfigDedicated;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5599
  m_isDataSerialized = false;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5600
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5601
9482
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5602
LteRrcSap::RrcConnectionReestablishment
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5603
RrcConnectionReestablishmentHeader::GetMessage () const
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5604
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5605
  LteRrcSap::RrcConnectionReestablishment msg;
9482
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5606
  msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5607
  msg.radioResourceConfigDedicated = m_radioResourceConfigDedicated;
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5608
  return msg;
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5609
}
f9aafed2874a Implement real RrcConnectionSetup and RrcConnectionReestablishment. Also, associtate rrc header with their direction (UL/DL) and channel (CCCH / BCCH) used, so message type can be discriminated.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9481
diff changeset
  5610
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5611
uint8_t
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5612
RrcConnectionReestablishmentHeader::GetRrcTransactionIdentifier () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5613
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5614
  return m_rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5615
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5616
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5617
LteRrcSap::RadioResourceConfigDedicated
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5618
RrcConnectionReestablishmentHeader::GetRadioResourceConfigDedicated () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5619
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5620
  return m_radioResourceConfigDedicated;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5621
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5622
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5623
//////////////////// RrcConnectionReestablishmentCompleteHeader class ////////////////////////
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5624
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5625
RrcConnectionReestablishmentCompleteHeader::RrcConnectionReestablishmentCompleteHeader ()
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5626
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5627
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5628
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5629
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5630
RrcConnectionReestablishmentCompleteHeader::PreSerialize () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5631
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5632
  m_serializationResult = Buffer ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5633
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  5634
  // Serialize DCCH message
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5635
  SerializeUlDcchMessage (3);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5636
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5637
  // Serialize RrcConnectionReestablishmentComplete sequence:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5638
  // no default or optional fields. Extension marker not present.
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5639
  SerializeSequence (std::bitset<0> (),false);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5640
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5641
  // Serialize rrc-TransactionIdentifier
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5642
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5643
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5644
  // Serialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5645
  SerializeChoice (2,0,false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5646
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5647
  // Serialize rrcConnectionReestablishmentComplete-r8 sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5648
  // 1 optional field (not present), no extension marker.
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5649
  SerializeSequence (std::bitset<1> (0),false);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5650
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5651
  // Finish serialization
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5652
  FinalizeSerialization ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5653
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5654
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5655
uint32_t
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5656
RrcConnectionReestablishmentCompleteHeader::Deserialize (Buffer::Iterator bIterator)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5657
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5658
  std::bitset<0> bitset0;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5659
  int n;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5660
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5661
  bIterator = DeserializeUlDcchMessage (bIterator);
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  5662
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5663
  // Deserialize RrcConnectionReestablishmentComplete sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5664
  // 0 optional fields, no extension marker
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5665
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5666
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5667
  // Deserialize rrc-TransactionIdentifier
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5668
  bIterator = DeserializeInteger (&n,0,3,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5669
  m_rrcTransactionIdentifier = n;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5670
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5671
  // Deserialize criticalExtensions choice
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5672
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5673
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5674
  if (criticalExtensionsChoice == 1)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5675
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5676
      // Deserialize criticalExtensionsFuture
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5677
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5678
    }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5679
  else if (criticalExtensionsChoice == 0)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5680
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5681
      // Deserialize rrcConnectionReestablishmentComplete-r8
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5682
      std::bitset<1> opts;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5683
      bIterator = DeserializeSequence (&opts,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5684
      if (opts[0])
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5685
        {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5686
          // Deserialize RRCConnectionReestablishmentComplete-v920-IEs
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5687
          // ...
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5688
        }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5689
    }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5690
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5691
  return GetSerializedSize ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5692
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5693
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5694
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5695
RrcConnectionReestablishmentCompleteHeader::Print (std::ostream &os) const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5696
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5697
  os << "rrcTransactionIdentifier: " << (int)m_rrcTransactionIdentifier << std::endl;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5698
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5699
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5700
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5701
RrcConnectionReestablishmentCompleteHeader::SetMessage (LteRrcSap::RrcConnectionReestablishmentComplete msg)
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5702
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5703
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5704
  m_isDataSerialized = false;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5705
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5706
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5707
LteRrcSap::RrcConnectionReestablishmentComplete
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5708
RrcConnectionReestablishmentCompleteHeader::GetMessage () const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5709
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5710
  LteRrcSap::RrcConnectionReestablishmentComplete msg;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5711
  msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5712
  return msg;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5713
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5714
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5715
uint8_t
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5716
RrcConnectionReestablishmentCompleteHeader::GetRrcTransactionIdentifier () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5717
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5718
  return m_rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5719
}
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5720
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5721
//////////////////// RrcConnectionReestablishmentRejectHeader class ////////////////////////
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5722
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5723
RrcConnectionReestablishmentRejectHeader::RrcConnectionReestablishmentRejectHeader ()
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5724
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5725
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5726
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5727
RrcConnectionReestablishmentRejectHeader::~RrcConnectionReestablishmentRejectHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5728
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5729
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5730
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5731
void
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5732
RrcConnectionReestablishmentRejectHeader::PreSerialize () const
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5733
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5734
  m_serializationResult = Buffer ();
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5735
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5736
  // Serialize CCCH message
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5737
  SerializeDlCcchMessage (1);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5738
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5739
  // Serialize RrcConnectionReestablishmentReject sequence:
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5740
  // no default or optional fields. Extension marker not present.
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5741
  SerializeSequence (std::bitset<0> (),false);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5742
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5743
  // Serialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5744
  SerializeChoice (2,0,false);
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5745
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5746
  // Serialize RRCConnectionReestablishmentReject-r8-IEs sequence
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5747
  // 1 optional field (not present), no extension marker.
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5748
  SerializeSequence (std::bitset<1> (0),false);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5749
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5750
  // Finish serialization
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5751
  FinalizeSerialization ();
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5752
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5753
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5754
uint32_t
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5755
RrcConnectionReestablishmentRejectHeader::Deserialize (Buffer::Iterator bIterator)
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5756
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5757
  std::bitset<0> bitset0;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5758
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5759
  bIterator = DeserializeDlCcchMessage (bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5760
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5761
  // Deserialize RrcConnectionReestablishmentReject sequence
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5762
  // 0 optional fields, no extension marker
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5763
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5764
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5765
  // Deserialize criticalExtensions choice
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5766
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5767
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator);
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5768
  if (criticalExtensionsChoice == 1)
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5769
    {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5770
      // Deserialize criticalExtensionsFuture
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5771
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5772
    }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5773
  else if (criticalExtensionsChoice == 0)
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5774
    {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5775
      // Deserialize rrcConnectionReestablishmentReject-r8
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5776
      std::bitset<1> opts;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5777
      bIterator = DeserializeSequence (&opts,false,bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5778
      if (opts[0])
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5779
        {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5780
          // Deserialize RRCConnectionReestablishmentReject-v8a0-IEs
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5781
          // ...
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5782
        }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5783
    }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5784
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5785
  return GetSerializedSize ();
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5786
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5787
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5788
void
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5789
RrcConnectionReestablishmentRejectHeader::Print (std::ostream &os) const
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5790
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5791
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5792
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5793
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5794
RrcConnectionReestablishmentRejectHeader::SetMessage (LteRrcSap::RrcConnectionReestablishmentReject msg)
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5795
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5796
  m_rrcConnectionReestablishmentReject = msg;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5797
  m_isDataSerialized = false;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5798
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5799
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5800
LteRrcSap::RrcConnectionReestablishmentReject
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5801
RrcConnectionReestablishmentRejectHeader::GetMessage () const
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5802
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5803
  return m_rrcConnectionReestablishmentReject;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5804
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5805
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5806
//////////////////// RrcConnectionReleaseHeader class ////////////////////////
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5807
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5808
RrcConnectionReleaseHeader::RrcConnectionReleaseHeader ()
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5809
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5810
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5811
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5812
RrcConnectionReleaseHeader::~RrcConnectionReleaseHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5813
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5814
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5815
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5816
void
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5817
RrcConnectionReleaseHeader::PreSerialize () const
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5818
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5819
  m_serializationResult = Buffer ();
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5820
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5821
  // Serialize DCCH message
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5822
  SerializeDlDcchMessage (5);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5823
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5824
  // Serialize RrcConnectionRelease sequence:
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5825
  // no default or optional fields. Extension marker not present.
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5826
  SerializeSequence (std::bitset<0> (),false);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5827
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5828
  // Serialize rrc-TransactionIdentifier
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5829
  SerializeInteger (m_rrcConnectionRelease.rrcTransactionIdentifier,0,3);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5830
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5831
  // Serialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5832
  SerializeChoice (2,0,false);
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5833
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5834
  // Serialize c1 choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5835
  SerializeChoice (4,0,false);
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5836
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5837
  // Serialize RRCConnectionRelease-r8-IEs sequence
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5838
  // 3 optional field (not present), no extension marker.
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5839
  SerializeSequence (std::bitset<3> (0),false);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5840
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5841
  // Serialize ReleaseCause
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5842
  SerializeEnum (4,1);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5843
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5844
  // Finish serialization
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5845
  FinalizeSerialization ();
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5846
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5847
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5848
uint32_t
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5849
RrcConnectionReleaseHeader::Deserialize (Buffer::Iterator bIterator)
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5850
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5851
  std::bitset<0> bitset0;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5852
  int n;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5853
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5854
  bIterator = DeserializeDlDcchMessage (bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5855
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5856
  // Deserialize RrcConnectionRelease sequence
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5857
  // 0 optional fields, no extension marker
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5858
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5859
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5860
  // Deserialize rrc-TransactionIdentifier
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5861
  bIterator = DeserializeInteger (&n,0,3,bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5862
  m_rrcConnectionRelease.rrcTransactionIdentifier = n;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5863
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5864
  // Deserialize criticalExtensions choice
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5865
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5866
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator);
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5867
  if (criticalExtensionsChoice == 1)
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5868
    {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5869
      // Deserialize criticalExtensionsFuture
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5870
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5871
    }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5872
  else if (criticalExtensionsChoice == 0)
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5873
    {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5874
      // Deserialize c1
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5875
      int c1Choice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5876
      bIterator = DeserializeChoice (4,false,&c1Choice,bIterator);
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5877
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5878
      if (c1Choice == 0)
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5879
        {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5880
          // Deserialize RRCConnectionRelease-r8-IEs
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5881
          std::bitset<3> opts;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5882
          bIterator = DeserializeSequence (&opts,false,bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5883
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5884
          // Deserialize releaseCause
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5885
          bIterator = DeserializeEnum (4,&n,bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5886
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5887
          if (opts[2])
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5888
            {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5889
              // Deserialize redirectedCarrierInfo
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5890
              // ...
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5891
            }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5892
          if (opts[1])
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5893
            {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5894
              // Deserialize idleModeMobilityControlInfo
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5895
              // ...
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5896
            }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5897
          if (opts[0])
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5898
            {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5899
              // Deserialize nonCriticalExtension
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5900
              // ...
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5901
            }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5902
        }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5903
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5904
      else
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5905
        {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5906
          bIterator = DeserializeNull (bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5907
        }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5908
    }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5909
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5910
  return GetSerializedSize ();
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5911
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5912
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5913
void
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5914
RrcConnectionReleaseHeader::Print (std::ostream &os) const
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5915
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5916
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5917
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5918
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5919
RrcConnectionReleaseHeader::SetMessage (LteRrcSap::RrcConnectionRelease msg)
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5920
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5921
  m_rrcConnectionRelease = msg;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5922
  m_isDataSerialized = false;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5923
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5924
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5925
LteRrcSap::RrcConnectionRelease
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5926
RrcConnectionReleaseHeader::GetMessage () const
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5927
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5928
  return m_rrcConnectionRelease;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5929
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5930
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5931
//////////////////// RrcConnectionRejectHeader class ////////////////////////
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5932
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5933
RrcConnectionRejectHeader::RrcConnectionRejectHeader ()
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5934
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5935
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5936
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5937
RrcConnectionRejectHeader::~RrcConnectionRejectHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5938
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5939
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5940
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5941
void
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5942
RrcConnectionRejectHeader::PreSerialize () const
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5943
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5944
  m_serializationResult = Buffer ();
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5945
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5946
  // Serialize CCCH message
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5947
  SerializeDlCcchMessage (2);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5948
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5949
  // Serialize RrcConnectionReject sequence:
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5950
  // no default or optional fields. Extension marker not present.
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5951
  SerializeSequence (std::bitset<0> (),false);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5952
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5953
  // Serialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5954
  SerializeChoice (2,0,false);
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5955
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5956
  // Serialize c1 choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5957
  SerializeChoice (4,0,false);
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5958
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5959
  // Serialize rrcConnectionReject-r8 sequence
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5960
  // 1 optional field (not present), no extension marker.
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5961
  SerializeSequence (std::bitset<1> (0),false);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5962
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5963
  // Serialize waitTime
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5964
  SerializeInteger (m_rrcConnectionReject.waitTime, 1, 16);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5965
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5966
  // Finish serialization
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5967
  FinalizeSerialization ();
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5968
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5969
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5970
uint32_t
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5971
RrcConnectionRejectHeader::Deserialize (Buffer::Iterator bIterator)
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5972
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5973
  std::bitset<0> bitset0;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5974
  int n;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5975
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5976
  bIterator = DeserializeDlCcchMessage (bIterator);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5977
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5978
  // Deserialize RrcConnectionReject sequence
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5979
  // 0 optional fields, no extension marker
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5980
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5981
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5982
  // Deserialize criticalExtensions choice
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5983
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5984
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator);
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5985
  if (criticalExtensionsChoice == 1)
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5986
    {
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5987
      // Deserialize criticalExtensionsFuture
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5988
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5989
    }
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5990
  else if (criticalExtensionsChoice == 0)
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5991
    {
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5992
      // Deserialize c1 choice
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5993
      int c1Choice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5994
      bIterator = DeserializeChoice (4,false,&c1Choice,bIterator);
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5995
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5996
      if (c1Choice > 0)
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5997
        {
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5998
          bIterator = DeserializeNull (bIterator);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5999
        }
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6000
      else if (c1Choice == 0)
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6001
        {
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6002
          // Deserialize rrcConnectionReject-r8
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6003
          std::bitset<1> opts;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6004
          bIterator = DeserializeSequence (&opts,false,bIterator);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6005
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6006
          bIterator = DeserializeInteger (&n,1,16,bIterator);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6007
          m_rrcConnectionReject.waitTime = n;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6008
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6009
          if (opts[0])
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6010
            {
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6011
              // Deserialize RRCConnectionReject-v8a0-IEs
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6012
              // ...
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  6013
            }
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6014
        }
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6015
    }
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6016
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6017
  return GetSerializedSize ();
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6018
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6019
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6020
void
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6021
RrcConnectionRejectHeader::Print (std::ostream &os) const
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6022
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6023
  os << "wait time: " << (int)m_rrcConnectionReject.waitTime << std::endl;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6024
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6025
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6026
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6027
RrcConnectionRejectHeader::SetMessage (LteRrcSap::RrcConnectionReject msg)
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6028
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6029
  m_rrcConnectionReject = msg;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6030
  m_isDataSerialized = false;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6031
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6032
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6033
LteRrcSap::RrcConnectionReject
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6034
RrcConnectionRejectHeader::GetMessage () const
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6035
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6036
  return m_rrcConnectionReject;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6037
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6038
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6039
//////////////////// MeasurementReportHeader class ////////////////////////
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6040
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6041
MeasurementReportHeader::MeasurementReportHeader ()
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6042
{
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6043
}
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6044
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6045
MeasurementReportHeader::~MeasurementReportHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6046
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6047
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6048
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6049
void
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6050
MeasurementReportHeader::PreSerialize () const
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6051
{
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6052
  m_serializationResult = Buffer ();
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6053
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6054
  // Serialize DCCH message
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6055
  SerializeUlDcchMessage (1);
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6056
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6057
  // Serialize MeasurementReport sequence:
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6058
  // no default or optional fields. Extension marker not present.
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6059
  SerializeSequence (std::bitset<0> (),false);
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6060
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6061
  // Serialize criticalExtensions choice:
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6062
  // c1 chosen
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6063
  SerializeChoice (2,0,false);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6064
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6065
  // Serialize c1 choice
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6066
  // measurementReport-r8 chosen
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6067
  SerializeChoice (8,0,false);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6068
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6069
  // Serialize MeasurementReport-r8-IEs sequence:
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6070
  // 1 optional fields, not present. Extension marker not present.
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  6071
  SerializeSequence (std::bitset<1> (0),false);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6072
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6073
  // Serialize measResults
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6074
  SerializeMeasResults (m_measurementReport.measResults);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6075
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6076
  // Finish serialization
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6077
  FinalizeSerialization ();
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6078
}
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6079
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6080
uint32_t
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6081
MeasurementReportHeader::Deserialize (Buffer::Iterator bIterator)
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6082
{
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6083
  std::bitset<0> bitset0;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6084
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6085
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6086
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6087
  bIterator = DeserializeUlDcchMessage (bIterator);
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6088
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6089
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6090
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6091
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6092
  if (criticalExtensionsChoice == 1)
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6093
    {
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6094
      // Deserialize criticalExtensionsFuture
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6095
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6096
    }
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6097
  else if (criticalExtensionsChoice == 0)
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6098
    {
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6099
      // Deserialize c1
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6100
      int c1Choice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6101
      bIterator = DeserializeChoice (8,false,&c1Choice,bIterator);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6102
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6103
      if (c1Choice > 0)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6104
        {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6105
          bIterator = DeserializeNull (bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6106
        }
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6107
      else
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6108
        {
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6109
          // Deserialize measurementReport-r8
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6110
          std::bitset<1> isNonCriticalExtensionPresent;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6111
          bIterator = DeserializeSequence (&isNonCriticalExtensionPresent,false,bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6112
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6113
          // Deserialize measResults
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6114
          bIterator = DeserializeMeasResults (&m_measurementReport.measResults, bIterator);
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6115
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6116
          if (isNonCriticalExtensionPresent[0])
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6117
            {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6118
              // Deserialize nonCriticalExtension MeasurementReport-v8a0-IEs
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6119
              // ...
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6120
            }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6121
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6122
        }
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6123
    }
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6124
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6125
  return GetSerializedSize ();
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6126
}
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6127
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6128
void
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6129
MeasurementReportHeader::Print (std::ostream &os) const
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6130
{
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6131
  os << "measId = " << (int)m_measurementReport.measResults.measId << std::endl;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6132
  os << "rsrpResult = " << (int)m_measurementReport.measResults.rsrpResult << std::endl;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6133
  os << "rsrqResult = " << (int)m_measurementReport.measResults.rsrqResult << std::endl;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6134
  os << "haveMeasResultNeighCells = " << (int)m_measurementReport.measResults.haveMeasResultNeighCells << std::endl;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6135
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6136
  if (m_measurementReport.measResults.haveMeasResultNeighCells)
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6137
    {
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6138
      std::list<LteRrcSap::MeasResultEutra> measResultListEutra = m_measurementReport.measResults.measResultListEutra;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6139
      std::list<LteRrcSap::MeasResultEutra>::iterator it = measResultListEutra.begin ();
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6140
      for (; it != measResultListEutra.end (); it++)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6141
        {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6142
          os << "   physCellId =" << (int) it->physCellId << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6143
          os << "   haveCgiInfo =" << it->haveCgiInfo << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6144
          if (it->haveCgiInfo)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6145
            {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6146
              os << "      plmnIdentity = " << (int) it->cgiInfo.plmnIdentity << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6147
              os << "      cellIdentity = " << (int) it->cgiInfo.cellIdentity << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6148
              os << "      trackingAreaCode = " << (int) it->cgiInfo.trackingAreaCode << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6149
              os << "      havePlmnIdentityList = " << !it->cgiInfo.plmnIdentityList.empty () << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6150
              if (!it->cgiInfo.plmnIdentityList.empty ())
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6151
                {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6152
                  for (std::list<uint32_t>::iterator it2 = it->cgiInfo.plmnIdentityList.begin (); it2 != it->cgiInfo.plmnIdentityList.begin (); it2++)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6153
                    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6154
                      os << "         plmnId : " << *it2 << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6155
                    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6156
                }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6157
            }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6158
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6159
          os << "   haveRsrpResult =" << it->haveRsrpResult << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6160
          if (it->haveRsrpResult)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6161
            {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6162
              os << "   rsrpResult =" << (int) it->rsrpResult << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6163
            }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6164
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6165
          os << "   haveRsrqResult =" << it->haveRsrqResult << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6166
          if (it->haveRsrqResult)
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6167
            {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6168
              os << "   rsrqResult =" << (int) it->rsrqResult << std::endl;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6169
            }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6170
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6171
        }
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6172
    }
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6173
}
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6174
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6175
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6176
MeasurementReportHeader::SetMessage (LteRrcSap::MeasurementReport msg)
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6177
{
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6178
  m_measurementReport = msg;
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6179
  m_isDataSerialized = false;
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6180
}
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6181
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6182
LteRrcSap::MeasurementReport
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6183
MeasurementReportHeader::GetMessage () const
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6184
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6185
  LteRrcSap::MeasurementReport msg;
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6186
  msg = m_measurementReport;
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6187
  return msg;
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6188
}
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6189
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6190
///////////////////  RrcUlDcchMessage //////////////////////////////////
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6191
RrcUlDcchMessage::RrcUlDcchMessage () : RrcAsn1Header ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6192
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6193
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6194
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6195
RrcUlDcchMessage::~RrcUlDcchMessage ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6196
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6197
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6198
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6199
uint32_t
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6200
RrcUlDcchMessage::Deserialize (Buffer::Iterator bIterator)
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6201
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6202
  DeserializeUlDcchMessage (bIterator);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6203
  return 1;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6204
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6205
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6206
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6207
RrcUlDcchMessage::Print (std::ostream &os) const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6208
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6209
  std::cout << "UL DCCH MSG TYPE: " << m_messageType << std::endl;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6210
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6211
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6212
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6213
RrcUlDcchMessage::PreSerialize () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6214
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6215
  SerializeUlDcchMessage (m_messageType);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6216
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6217
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6218
Buffer::Iterator
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6219
RrcUlDcchMessage::DeserializeUlDcchMessage (Buffer::Iterator bIterator)
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6220
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6221
  std::bitset<0> bitset0;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6222
  int n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6223
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6224
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6225
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6226
  if (n == 1)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6227
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6228
      // Deserialize messageClassExtension
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6229
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6230
      m_messageType = -1;
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6231
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6232
  else if (n == 0)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6233
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6234
      // Deserialize c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6235
      bIterator = DeserializeChoice (16,false,&m_messageType,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6236
    }
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6237
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6238
  return bIterator;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6239
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6240
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6241
void
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6242
RrcUlDcchMessage::SerializeUlDcchMessage (int messageType) const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6243
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6244
  SerializeSequence (std::bitset<0> (),false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6245
  // Choose c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6246
  SerializeChoice (2,0,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6247
  // Choose message type
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6248
  SerializeChoice (16,messageType,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6249
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6250
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6251
///////////////////  RrcDlDcchMessage //////////////////////////////////
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6252
RrcDlDcchMessage::RrcDlDcchMessage () : RrcAsn1Header ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6253
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6254
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6255
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6256
RrcDlDcchMessage::~RrcDlDcchMessage ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6257
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6258
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6259
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6260
uint32_t
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6261
RrcDlDcchMessage::Deserialize (Buffer::Iterator bIterator)
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6262
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6263
  DeserializeDlDcchMessage (bIterator);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6264
  return 1;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6265
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6266
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6267
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6268
RrcDlDcchMessage::Print (std::ostream &os) const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6269
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6270
  std::cout << "DL DCCH MSG TYPE: " << m_messageType << std::endl;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6271
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6272
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6273
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6274
RrcDlDcchMessage::PreSerialize () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6275
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6276
  SerializeDlDcchMessage (m_messageType);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6277
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6278
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6279
Buffer::Iterator
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6280
RrcDlDcchMessage::DeserializeDlDcchMessage (Buffer::Iterator bIterator)
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6281
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6282
  std::bitset<0> bitset0;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6283
  int n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6284
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6285
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6286
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6287
  if (n == 1)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6288
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6289
      // Deserialize messageClassExtension
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6290
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6291
      m_messageType = -1;
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6292
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6293
  else if (n == 0)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6294
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6295
      // Deserialize c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6296
      bIterator = DeserializeChoice (16,false,&m_messageType,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6297
    }
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6298
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6299
  return bIterator;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6300
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6301
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6302
void
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6303
RrcDlDcchMessage::SerializeDlDcchMessage (int messageType) const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6304
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6305
  SerializeSequence (std::bitset<0> (),false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6306
  // Choose c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6307
  SerializeChoice (2,0,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6308
  // Choose message type
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6309
  SerializeChoice (16,messageType,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6310
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6311
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6312
///////////////////  RrcUlCcchMessage //////////////////////////////////
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6313
RrcUlCcchMessage::RrcUlCcchMessage () : RrcAsn1Header ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6314
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6315
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6316
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6317
RrcUlCcchMessage::~RrcUlCcchMessage ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6318
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6319
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6320
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6321
uint32_t
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6322
RrcUlCcchMessage::Deserialize (Buffer::Iterator bIterator)
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6323
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6324
  DeserializeUlCcchMessage (bIterator);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6325
  return 1;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6326
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6327
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6328
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6329
RrcUlCcchMessage::Print (std::ostream &os) const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6330
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6331
  std::cout << "UL CCCH MSG TYPE: " << m_messageType << std::endl;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6332
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6333
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6334
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6335
RrcUlCcchMessage::PreSerialize () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6336
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6337
  SerializeUlCcchMessage (m_messageType);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6338
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6339
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6340
Buffer::Iterator
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6341
RrcUlCcchMessage::DeserializeUlCcchMessage (Buffer::Iterator bIterator)
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6342
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6343
  std::bitset<0> bitset0;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6344
  int n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6345
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6346
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6347
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6348
  if (n == 1)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6349
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6350
      // Deserialize messageClassExtension
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6351
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6352
      m_messageType = -1;
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6353
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6354
  else if (n == 0)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6355
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6356
      // Deserialize c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6357
      bIterator = DeserializeChoice (2,false,&m_messageType,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6358
    }
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6359
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6360
  return bIterator;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6361
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6362
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6363
void
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6364
RrcUlCcchMessage::SerializeUlCcchMessage (int messageType) const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6365
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6366
  SerializeSequence (std::bitset<0> (),false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6367
  // Choose c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6368
  SerializeChoice (2,0,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6369
  // Choose message type
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6370
  SerializeChoice (2,messageType,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6371
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6372
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6373
///////////////////  RrcDlCcchMessage //////////////////////////////////
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6374
RrcDlCcchMessage::RrcDlCcchMessage () : RrcAsn1Header ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6375
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6376
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6377
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6378
RrcDlCcchMessage::~RrcDlCcchMessage ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6379
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6380
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6381
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6382
uint32_t
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6383
RrcDlCcchMessage::Deserialize (Buffer::Iterator bIterator)
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6384
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6385
  DeserializeDlCcchMessage (bIterator);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6386
  return 1;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6387
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6388
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6389
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6390
RrcDlCcchMessage::Print (std::ostream &os) const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6391
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6392
  std::cout << "DL CCCH MSG TYPE: " << m_messageType << std::endl;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6393
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6394
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6395
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6396
RrcDlCcchMessage::PreSerialize () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6397
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6398
  SerializeDlCcchMessage (m_messageType);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6399
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6400
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6401
Buffer::Iterator
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6402
RrcDlCcchMessage::DeserializeDlCcchMessage (Buffer::Iterator bIterator)
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6403
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6404
  std::bitset<0> bitset0;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6405
  int n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6406
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6407
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6408
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6409
  if (n == 1)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6410
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6411
      // Deserialize messageClassExtension
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6412
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6413
      m_messageType = -1;
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6414
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6415
  else if (n == 0)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6416
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6417
      // Deserialize c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6418
      bIterator = DeserializeChoice (4,false,&m_messageType,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6419
    }
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6420
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6421
  return bIterator;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6422
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6423
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6424
void
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6425
RrcDlCcchMessage::SerializeDlCcchMessage (int messageType) const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6426
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6427
  SerializeSequence (std::bitset<0> (),false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6428
  // Choose c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6429
  SerializeChoice (2,0,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6430
  // Choose message type
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6431
  SerializeChoice (4,messageType,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6432
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6433
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  6434
} // namespace ns3
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  6435