src/lte/model/lte-rrc-header.cc
author Tom Henderson <tomh@tomh.org>
Tue, 06 Aug 2013 21:41:54 -0700
changeset 10116 625994721270
parent 10063 6b30859ebd37
child 10218 97da49da2d6c
permissions -rw-r--r--
fix optimized build
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
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    39
NS_LOG_COMPONENT_DEFINE ("RrcHeader");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    40
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    41
namespace ns3 {
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;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   266
  optionalFieldsPhysicalConfigDedicated.set (9,0);  // pdsch-ConfigDedicated not present
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   278
  if (physicalConfigDedicated.haveSoundingRsUlConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   279
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   280
      // Serialize SoundingRS-UL-ConfigDedicated choice:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   281
      switch (physicalConfigDedicated.soundingRsUlConfigDedicated.type)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   282
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   283
        case LteRrcSap::SoundingRsUlConfigDedicated::RESET:
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   284
          SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   285
          SerializeNull ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   286
          break;
9508
c230119063ad Add default cases in serializating RlcConfig.choice and SoundingRsUlConfigCommon.type
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9503
diff changeset
   287
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   288
        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
   289
        default:
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   290
          // 2 options, selected: 1 (setup)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   291
          SerializeChoice (2,1,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   292
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   293
          // Serialize setup sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   294
          // 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
   295
          SerializeSequence (std::bitset<0> (),false);
9443
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
          // Serialize srs-Bandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   298
          SerializeEnum (4,physicalConfigDedicated.soundingRsUlConfigDedicated.srsBandwidth);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   299
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   300
          // Serialize  srs-HoppingBandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   301
          SerializeEnum (4,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   302
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   303
          // Serialize freqDomainPosition
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   304
          SerializeInteger (0,0,23);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   305
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   306
          // Serialize duration
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   307
          SerializeBoolean (false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   308
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   309
          // Serialize srs-ConfigIndex
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   310
          SerializeInteger (physicalConfigDedicated.soundingRsUlConfigDedicated.srsConfigIndex,0,1023);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   311
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   312
          // Serialize transmissionComb
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   313
          SerializeInteger (0,0,1);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   314
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   315
          // Serialize cyclicShift
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   316
          SerializeEnum (8,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   317
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   318
          break;
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
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   321
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   322
  if (physicalConfigDedicated.haveAntennaInfoDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   323
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   324
      // Serialize antennaInfo choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   325
      // 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
   326
      SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   327
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   328
      // Serialize AntennaInfoDedicated sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   329
      // 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
   330
      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
   331
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   332
      // 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
   333
      // 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
   334
      SerializeEnum (8,physicalConfigDedicated.antennaInfo.transmissionMode);
9443
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
      // Serialize ue-TransmitAntennaSelection choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   337
      SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   338
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   339
      // Serialize release
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   340
      SerializeNull ();
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
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   343
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   344
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   345
RrcAsn1Header::SerializeRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   346
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   347
  bool isSrbToAddModListPresent = !radioResourceConfigDedicated.srbToAddModList.empty ();
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   348
  bool isDrbToAddModListPresent = !radioResourceConfigDedicated.drbToAddModList.empty ();
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   349
  bool isDrbToReleaseListPresent = !radioResourceConfigDedicated.drbToReleaseList.empty ();
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   350
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   351
  // 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
   352
  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
   353
  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
   354
  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
   355
  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
   356
  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
   357
  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
   358
  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
   359
  SerializeSequence (optionalFieldsPresent,true);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   360
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   361
  // Serialize srbToAddModList
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   362
  if (isSrbToAddModListPresent)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   363
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   364
      SerializeSrbToAddModList (radioResourceConfigDedicated.srbToAddModList);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   365
    }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   366
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   367
  // Serialize drbToAddModList
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   368
  if (isDrbToAddModListPresent)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   369
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   370
      SerializeDrbToAddModList (radioResourceConfigDedicated.drbToAddModList);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   371
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   372
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   373
  // Serialize drbToReleaseList
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   374
  if (isDrbToReleaseListPresent)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   375
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   376
      SerializeSequenceOf (radioResourceConfigDedicated.drbToReleaseList.size (),MAX_DRB,1);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   377
      std::list<uint8_t>::iterator it = radioResourceConfigDedicated.drbToReleaseList.begin ();
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   378
      for (; it != radioResourceConfigDedicated.drbToReleaseList.end (); it++)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   379
        {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   380
          // DRB-Identity ::= INTEGER (1..32)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   381
          SerializeInteger (*it,1,32);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   382
        }
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
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   385
  if (radioResourceConfigDedicated.havePhysicalConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   386
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   387
      SerializePhysicalConfigDedicated (radioResourceConfigDedicated.physicalConfigDedicated);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   388
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   389
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   390
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   391
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   392
RrcAsn1Header::SerializeSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   393
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   394
  // 3 optional fields, no extension marker.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   395
  std::bitset<3> sysInfoBlk1Opts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   396
  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
   397
  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
   398
  sysInfoBlk1Opts.set (0,0); // nonCriticalExtension absent
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   399
  SerializeSequence (sysInfoBlk1Opts,false);
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
  // Serialize cellAccessRelatedInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   402
  // 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
   403
  SerializeSequence (std::bitset<1> (1),false);
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
  // Serialize plmn-IdentityList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   406
  SerializeSequenceOf (1,6,1);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   407
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   408
  // PLMN-IdentityInfo 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   409
  SerializeSequence (std::bitset<0> (),false);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   410
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   411
  SerializePlmnIdentity (systemInformationBlockType1.cellAccessRelatedInfo.plmnIdentityInfo.plmnIdentity);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   412
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   413
  // Serialize trackingAreaCode
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   414
  SerializeBitstring (std::bitset<16> (0));
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   415
  // Serialize cellIdentity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   416
  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
   417
  // Serialize cellBarred
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   418
  SerializeEnum (2,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   419
  // Serialize intraFreqReselection
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   420
  SerializeEnum (2,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   421
  // Serialize csg-Indication
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   422
  SerializeBoolean (systemInformationBlockType1.cellAccessRelatedInfo.csgIndication);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   423
  // Serialize csg-Identity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   424
  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
   425
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   426
  // Serialize cellSelectionInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   427
  SerializeSequence (std::bitset<1> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   428
  // Serialize q-RxLevMin
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   429
  SerializeInteger (-50,-70,-22);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   430
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   431
  // Serialize freqBandIndicator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   432
  SerializeInteger (1,1,64);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   433
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   434
  // Serialize schedulingInfoList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   435
  SerializeSequenceOf (1,MAX_SI_MESSAGE,1);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   436
  // SchedulingInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   437
  SerializeSequence (std::bitset<0> (),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   438
  // si-Periodicity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   439
  SerializeEnum (7,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   440
  // sib-MappingInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   441
  SerializeSequenceOf (0,MAX_SIB - 1,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   442
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   443
  // Serialize si-WindowLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   444
  SerializeEnum (7,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   445
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   446
  // Serialize systemInfoValueTag
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   447
  SerializeInteger (0,0,31);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   448
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   449
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   450
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
   451
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
   452
{
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   453
  // 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
   454
  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
   455
  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
   456
  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
   457
  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
   458
  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
   459
  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
   460
  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
   461
  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
   462
  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
   463
  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
   464
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
  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
   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
  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
   468
    {
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
      // 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
   470
      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
   471
    }
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
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
  // 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
   474
  // 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
   475
  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
   476
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
  // 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
   478
  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
   479
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
  // 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
   481
  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
   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 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
   484
  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
   485
  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
   486
  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
   487
  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
   488
  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
   489
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
  // 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
   491
  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
   492
  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
   493
  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
   494
  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
   495
  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
   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 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
   498
  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
   499
}
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
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
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   502
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
   503
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   504
  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
   505
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   506
  // 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
   507
  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
   508
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   509
  // bcch-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   510
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   511
  SerializeEnum (4,0); // modificationPeriodCoeff
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   512
  // pcch-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   513
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   514
  SerializeEnum (4,0); // defaultPagingCycle
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   515
  SerializeEnum (8,0); // nB
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   516
  // prach-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   517
  SerializeSequence (std::bitset<1> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   518
  SerializeInteger (0,0,1023); // rootSequenceIndex
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   519
  // pdsch-ConfigCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   520
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   521
  SerializeInteger (0,-60,50); // referenceSignalPower
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   522
  SerializeInteger (0,0,3); // p-b
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   523
  // pusch-ConfigCommon 
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
  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
   526
  SerializeInteger (1,1,4); // n-SB
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   527
  SerializeEnum (2,0); // hoppingMode
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   528
  SerializeInteger (0,0,98); // pusch-HoppingOffset
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   529
  SerializeBoolean (false); // enable64QAM
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   530
  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
   531
  SerializeBoolean (false); // groupHoppingEnabled
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   532
  SerializeInteger (0,0,29); // groupAssignmentPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   533
  SerializeBoolean (false); // sequenceHoppingEnabled
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   534
  SerializeInteger (0,0,7); // cyclicShift
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   535
  // pucch-ConfigCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   536
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   537
  SerializeEnum (3,0); // deltaPUCCH-Shift
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   538
  SerializeInteger (0,0,98); // nRB-CQI
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   539
  SerializeInteger (0,0,7); // nCS-AN
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   540
  SerializeInteger (0,0,2047); // n1PUCCH-AN
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   541
  // soundingRS-UL-ConfigCommon 
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   542
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   543
  SerializeNull (); // release
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   544
  // uplinkPowerControlCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   545
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   546
  SerializeInteger (0,-126,24); // p0-NominalPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   547
  SerializeEnum (8,0); // alpha
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   548
  SerializeInteger (-50,-127,-96); // p0-NominalPUCCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   549
  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
   550
  SerializeEnum (3,0); // deltaF-PUCCH-Format1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   551
  SerializeEnum (3,0); // deltaF-PUCCH-Format1b
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   552
  SerializeEnum (4,0); // deltaF-PUCCH-Format2
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   553
  SerializeEnum (3,0); // deltaF-PUCCH-Format2a
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   554
  SerializeEnum (3,0); // deltaF-PUCCH-Format2b
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   555
  SerializeInteger (0,-1,6);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   556
  // ul-CyclicPrefixLength 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   557
  SerializeEnum (2,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   558
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   559
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   560
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   561
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
   562
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   563
  SerializeSequence (std::bitset<2> (0),true);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   564
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   565
  // RadioResourceConfigCommonSib
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   566
  SerializeRadioResourceConfigCommonSib (systemInformationBlockType2.radioResourceConfigCommon);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   567
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   568
  // ue-TimersAndConstants
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   569
  SerializeSequence (std::bitset<0> (0),true);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   570
  SerializeEnum (8,0); // t300
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   571
  SerializeEnum (8,0); // t301
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   572
  SerializeEnum (7,0); // t310
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   573
  SerializeEnum (8,0); // n310
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   574
  SerializeEnum (7,0); // t311
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   575
  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
   576
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   577
  // freqInfo
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   578
  SerializeSequence (std::bitset<2> (3),false);
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   579
  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
   580
  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
   581
    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   582
    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
   583
      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
   584
      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
   585
    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
   586
      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
   587
      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
   588
    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
   589
      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
   590
      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
   591
    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
   592
      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
   593
      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
   594
    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
   595
      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
   596
      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
   597
    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
   598
      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
   599
      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
   600
    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
   601
      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
   602
    }
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   603
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   604
  SerializeInteger (29,1,32); // additionalSpectrumEmission
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   605
  // timeAlignmentTimerCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   606
  SerializeEnum (8,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   607
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   608
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   609
void
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   610
RrcAsn1Header::SerializeMeasResults (LteRrcSap::MeasResults measResults) const
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   611
{
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   612
  // 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
   613
  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
   614
    {
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
      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
   616
    }
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   617
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   618
  // 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
   619
  SerializeSequence (std::bitset<1> (measResults.haveMeasResultNeighCells),true);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   620
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   621
  // 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
   622
  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
   623
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   624
  // 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
   625
  SerializeSequence (std::bitset<0> (0),false);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   626
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   627
  // 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
   628
  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
   629
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   630
  // 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
   631
  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
   632
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
  if (measResults.haveMeasResultNeighCells)
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   634
    {
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
   635
      // Serialize Choice = 0 (MeasResultListEUTRA)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
   636
      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
   637
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   638
      // 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
   639
      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
   640
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   641
      // 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
   642
      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
   643
      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
   644
        {
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
          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
   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
          // 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
   648
          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
   649
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   650
          // 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
   651
          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
   652
            {
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
              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
   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 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
   656
              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
   657
              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
   658
              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
   659
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
              // 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
   661
              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
   662
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
              // 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
   664
              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
   665
                {
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
                  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
   667
                  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
   668
                  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
   669
                    {
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
                      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
   671
                    }
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
                }
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
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
          // 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
   676
          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
   677
          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
   678
          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
   679
          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
   680
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
          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
   682
            {
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
              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
   684
            }
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
          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
   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
              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
   689
            }
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   690
        }
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   691
    }
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   692
}
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   693
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   694
void
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   695
RrcAsn1Header::SerializePlmnIdentity (uint32_t plmnId) const
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   696
{
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   697
  // plmn-Identity sequence, mcc is optional, no extension marker
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   698
  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
   699
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   700
  // Serialize mnc
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   701
  int nDig = (plmnId > 99) ? 3 : 2;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   702
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   703
  SerializeSequenceOf (nDig,3,2);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   704
  for (int i = nDig - 1; i >= 0; i--)
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
      int n = floor (plmnId / pow (10,i));
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   707
      SerializeInteger (n,0,9);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   708
      plmnId -= n * pow (10,i);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   709
    }
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
   710
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   711
  // cellReservedForOperatorUse 
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   712
  SerializeEnum (2,0);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   713
}
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   714
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
   715
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
   716
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
   717
{
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   718
  // 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
   719
  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
   720
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   721
  // 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
   722
  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
   723
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
  // 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
   725
  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
   726
    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   727
    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
   728
      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
   729
      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
   730
    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
   731
      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
   732
      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
   733
    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
   734
      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
   735
      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
   736
    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
   737
      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
   738
      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
   739
    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
   740
      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
   741
      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
   742
    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
   743
      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
   744
      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
   745
    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
   746
      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
   747
      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
   748
    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
   749
      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
   750
      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
   751
    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
   752
      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
   753
      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
   754
    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
   755
      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
   756
      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
   757
    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
   758
      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
   759
      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
   760
    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
   761
      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
   762
      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
   763
    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
   764
      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
   765
      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
   766
    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
   767
      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
   768
      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
   769
    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
   770
      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
   771
      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
   772
    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
   773
      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
   774
      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
   775
    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
   776
      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
   777
    }
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
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
  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
   780
  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
   781
  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
   782
  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
   783
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
  // 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
   785
  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
   786
    {
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
    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
   788
      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
   789
      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
   790
    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
   791
      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
   792
      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
   793
    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
   794
      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
   795
      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
   796
    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
   797
      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
   798
      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
   799
    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
   800
      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
   801
      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
   802
    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
   803
      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
   804
      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
   805
    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
   806
      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
   807
      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
   808
    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
   809
      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
   810
      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
   811
    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
   812
      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
   813
      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
   814
    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
   815
      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
   816
      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
   817
    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
   818
      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
   819
      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
   820
    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
   821
      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
   822
    }
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
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
  // 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
   825
  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
   826
    {
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
    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
   828
      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
   829
      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
   830
    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
   831
      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
   832
      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
   833
    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
   834
      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
   835
      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
   836
    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
   837
      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
   838
      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
   839
    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
   840
      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
   841
      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
   842
    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
   843
      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
   844
      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
   845
    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
   846
      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
   847
      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
   848
    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
   849
      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
   850
      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
   851
    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
   852
      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
   853
    }
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
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
  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
   856
  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
   857
}
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
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   859
void
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   860
RrcAsn1Header::SerializeQoffsetRange (int8_t qOffsetRange) const
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   861
{
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   862
  switch (qOffsetRange)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   863
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   864
    case -24:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   865
      SerializeEnum (31,0);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   866
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   867
    case -22:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   868
      SerializeEnum (31,1);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   869
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   870
    case -20:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   871
      SerializeEnum (31,2);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   872
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   873
    case -18:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   874
      SerializeEnum (31,3);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   875
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   876
    case -16:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   877
      SerializeEnum (31,4);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   878
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   879
    case -14:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   880
      SerializeEnum (31,5);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   881
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   882
    case -12:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   883
      SerializeEnum (31,6);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   884
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   885
    case -10:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   886
      SerializeEnum (31,7);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   887
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   888
    case -8:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   889
      SerializeEnum (31,8);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   890
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   891
    case -6:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   892
      SerializeEnum (31,9);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   893
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   894
    case -5:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   895
      SerializeEnum (31,10);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   896
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   897
    case -4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   898
      SerializeEnum (31,11);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   899
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   900
    case -3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   901
      SerializeEnum (31,12);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   902
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   903
    case -2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   904
      SerializeEnum (31,13);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   905
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   906
    case -1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   907
      SerializeEnum (31,14);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   908
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   909
    case 0:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   910
      SerializeEnum (31,15);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   911
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   912
    case 1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   913
      SerializeEnum (31,16);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   914
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   915
    case 2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   916
      SerializeEnum (31,17);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   917
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   918
    case 3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   919
      SerializeEnum (31,18);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   920
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   921
    case 4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   922
      SerializeEnum (31,19);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   923
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   924
    case 5:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   925
      SerializeEnum (31,20);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   926
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   927
    case 6:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   928
      SerializeEnum (31,21);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   929
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   930
    case 8:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   931
      SerializeEnum (31,22);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   932
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   933
    case 10:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   934
      SerializeEnum (31,23);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   935
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   936
    case 12:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   937
      SerializeEnum (31,24);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   938
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   939
    case 14:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   940
      SerializeEnum (31,25);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   941
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   942
    case 16:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   943
      SerializeEnum (31,26);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   944
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   945
    case 18:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   946
      SerializeEnum (31,27);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   947
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   948
    case 20:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   949
      SerializeEnum (31,28);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   950
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   951
    case 22:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   952
      SerializeEnum (31,29);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   953
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   954
    case 24:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   955
      SerializeEnum (31,30);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   956
      break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   957
    default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   958
      SerializeEnum (31,15);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   959
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   960
}
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   961
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   962
void
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   963
RrcAsn1Header::SerializeThresholdEutra (LteRrcSap::ThresholdEutra thresholdEutra) const
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   964
{
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   965
  switch (thresholdEutra.choice)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   966
    {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
   967
    case LteRrcSap::ThresholdEutra::THRESHOLD_RSRP:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   968
      SerializeChoice (2,0,false);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   969
      SerializeInteger (thresholdEutra.range, 0, 97);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   970
      break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
   971
    case LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   972
    default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
   973
      SerializeChoice (2,1,false);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   974
      SerializeInteger (thresholdEutra.range, 0, 34);
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
}
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   977
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   978
void
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   979
RrcAsn1Header::SerializeMeasConfig (LteRrcSap::MeasConfig measConfig) const
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   980
{
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   981
  // Serialize MeasConfig sequence
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   982
  // 11 optional fields, extension marker present
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   983
  std::bitset<11> measConfigOptional;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   984
  measConfigOptional.set (10, !measConfig.measObjectToRemoveList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   985
  measConfigOptional.set (9, !measConfig.measObjectToAddModList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   986
  measConfigOptional.set (8, !measConfig.reportConfigToRemoveList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   987
  measConfigOptional.set (7, !measConfig.reportConfigToAddModList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   988
  measConfigOptional.set (6, !measConfig.measIdToRemoveList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   989
  measConfigOptional.set (5, !measConfig.measIdToAddModList.empty () );
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   990
  measConfigOptional.set (4, measConfig.haveQuantityConfig ); 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   991
  measConfigOptional.set (3, measConfig.haveMeasGapConfig ); 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   992
  measConfigOptional.set (2, measConfig.haveSmeasure ); 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   993
  measConfigOptional.set (1, false ); // preRegistrationInfoHRPD
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   994
  measConfigOptional.set (0, measConfig.haveSpeedStatePars ); 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   995
  SerializeSequence (measConfigOptional,true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   996
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   997
  if (!measConfig.measObjectToRemoveList.empty ())
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   998
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   999
      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
  1000
      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
  1001
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1002
          SerializeInteger (*it, 1, MAX_OBJECT_ID);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1003
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1004
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1005
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1006
  if (!measConfig.measObjectToAddModList.empty ())
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1007
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1008
      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
  1009
      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
  1010
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1011
          SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1012
          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
  1013
          SerializeChoice (4, 0, true); // Select MeasObjectEUTRA
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1014
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1015
          // Serialize measObjectEutra
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1016
          std::bitset<5> measObjOpts;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1017
          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
  1018
          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
  1019
          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
  1020
          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
  1021
          measObjOpts.set (0,it->measObjectEutra.haveCellForWhichToReportCGI);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1022
          SerializeSequence (measObjOpts, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1023
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1024
          // Serialize carrierFreq
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1025
          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
  1026
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1027
          // Serialize  allowedMeasBandwidth
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1028
          switch (it->measObjectEutra.allowedMeasBandwidth)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1029
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1030
            case 6:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1031
              SerializeEnum (6,0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1032
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1033
            case 15:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1034
              SerializeEnum (6,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1035
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1036
            case 25:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1037
              SerializeEnum (6,2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1038
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1039
            case 50:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1040
              SerializeEnum (6,3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1041
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1042
            case 75:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1043
              SerializeEnum (6,4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1044
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1045
            case 100:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1046
              SerializeEnum (6,5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1047
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1048
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1049
              SerializeEnum (6,0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1050
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1051
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1052
          SerializeBoolean (it->measObjectEutra.presenceAntennaPort1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1053
          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
  1054
          SerializeQoffsetRange (it->measObjectEutra.offsetFreq);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1055
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1056
          if (!it->measObjectEutra.cellsToRemoveList.empty ())
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1057
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1058
              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
  1059
              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
  1060
                {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1061
                  SerializeInteger (*it2, 1, MAX_CELL_MEAS);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1062
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1063
            }
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
          if (!it->measObjectEutra.cellsToAddModList.empty ())
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1066
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1067
              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
  1068
              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
  1069
                {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1070
                  SerializeSequence (std::bitset<0> (), false);
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
                  // Serialize cellIndex
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1073
                  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
  1074
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  1075
                  // Serialize PhysCellId
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1076
                  SerializeInteger (it2->physCellId,0,503);
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
                  // Serialize cellIndividualOffset
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1079
                  SerializeQoffsetRange (it2->cellIndividualOffset);
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
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1082
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1083
          if (!it->measObjectEutra.blackCellsToRemoveList.empty () )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1084
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1085
              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
  1086
              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
  1087
                {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1088
                  SerializeInteger (*it2, 1, MAX_CELL_MEAS);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1089
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1090
            }
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
          if (!it->measObjectEutra.blackCellsToAddModList.empty () )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1093
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1094
              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
  1095
              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
  1096
                {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1097
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1098
                  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
  1099
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1100
                  // Serialize PhysCellIdRange
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1101
                  // range optional
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1102
                  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
  1103
                  SerializeSequence (rangePresent,false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1104
                  SerializeInteger (it2->physCellIdRange.start,0,503);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1105
                  if (it2->physCellIdRange.haveRange)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1106
                    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1107
                      switch (it2->physCellIdRange.range)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1108
                        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1109
                        case 4:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1110
                          SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1111
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1112
                        case 8:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1113
                          SerializeEnum (16, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1114
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1115
                        case 12:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1116
                          SerializeEnum (16, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1117
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1118
                        case 16:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1119
                          SerializeEnum (16, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1120
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1121
                        case 24:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1122
                          SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1123
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1124
                        case 32:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1125
                          SerializeEnum (16, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1126
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1127
                        case 48:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1128
                          SerializeEnum (16, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1129
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1130
                        case 64:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1131
                          SerializeEnum (16, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1132
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1133
                        case 84:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1134
                          SerializeEnum (16, 8);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1135
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1136
                        case 96:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1137
                          SerializeEnum (16, 9);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1138
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1139
                        case 128:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1140
                          SerializeEnum (16, 10);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1141
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1142
                        case 168:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1143
                          SerializeEnum (16, 11);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1144
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1145
                        case 252:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1146
                          SerializeEnum (16, 12);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1147
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1148
                        case 504:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1149
                          SerializeEnum (16, 13);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1150
                          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1151
                        default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1152
                          SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1153
                        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1154
                    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1155
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1156
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1157
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1158
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1159
          if (it->measObjectEutra.haveCellForWhichToReportCGI)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1160
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1161
              SerializeInteger (it->measObjectEutra.cellForWhichToReportCGI,0,503);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1162
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1163
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1164
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1165
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1166
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1167
  if (!measConfig.reportConfigToRemoveList.empty () )
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
      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
  1170
      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
  1171
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1172
          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
  1173
        }
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
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1176
  if (!measConfig.reportConfigToAddModList.empty () )
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
      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
  1179
      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
  1180
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1181
          SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1182
          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
  1183
          SerializeChoice (2,0,false); // reportConfigEUTRA
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1184
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1185
          // Serialize ReportConfigEUTRA
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1186
          SerializeSequence (std::bitset<0> (), true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1187
          switch (it->reportConfigEutra.triggerType)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1188
            {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1189
            case LteRrcSap::ReportConfigEutra::PERIODICAL:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1190
              SerializeChoice (2, 1, false); 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1191
              SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1192
              switch (it->reportConfigEutra.purpose)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1193
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1194
                case LteRrcSap::ReportConfigEutra::REPORT_CGI:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1195
                  SerializeEnum (2,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1196
                  break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1197
                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
  1198
                default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1199
                  SerializeEnum (2,0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1200
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1201
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1202
            case LteRrcSap::ReportConfigEutra::EVENT:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1203
            default: 
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1204
              SerializeChoice (2, 0, false);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  1205
              SerializeSequence (std::bitset<0> (),false);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1206
              switch (it->reportConfigEutra.eventId)
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::EVENT_A1:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1209
                  SerializeChoice (5, 0, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1210
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1211
                  SerializeThresholdEutra (it->reportConfigEutra.threshold1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1212
                  break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1213
                case LteRrcSap::ReportConfigEutra::EVENT_A2:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1214
                  SerializeChoice (5, 1, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1215
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1216
                  SerializeThresholdEutra (it->reportConfigEutra.threshold1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1217
                  break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1218
                case LteRrcSap::ReportConfigEutra::EVENT_A3:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1219
                  SerializeChoice (5, 2, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1220
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1221
                  SerializeInteger (it->reportConfigEutra.a3Offset,-30,30);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1222
                  SerializeBoolean (it->reportConfigEutra.reportOnLeave);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1223
                  break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1224
                case LteRrcSap::ReportConfigEutra::EVENT_A4:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1225
                  SerializeChoice (5, 3, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1226
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1227
                  SerializeThresholdEutra (it->reportConfigEutra.threshold1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1228
                  break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1229
                case LteRrcSap::ReportConfigEutra::EVENT_A5:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1230
                default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1231
                  SerializeChoice (5, 4, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1232
                  SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1233
                  SerializeThresholdEutra (it->reportConfigEutra.threshold1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1234
                  SerializeThresholdEutra (it->reportConfigEutra.threshold2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1235
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1236
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1237
              SerializeInteger (it->reportConfigEutra.hysteresis, 0, 30);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1238
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1239
              switch (it->reportConfigEutra.timeToTrigger)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1240
                {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1241
                case 0:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1242
                  SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1243
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1244
                case 40:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1245
                  SerializeEnum (16, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1246
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1247
                case 64:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1248
                  SerializeEnum (16, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1249
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1250
                case 80:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1251
                  SerializeEnum (16, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1252
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1253
                case 100:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1254
                  SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1255
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1256
                case 128:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1257
                  SerializeEnum (16, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1258
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1259
                case 160:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1260
                  SerializeEnum (16, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1261
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1262
                case 256:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1263
                  SerializeEnum (16, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1264
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1265
                case 320:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1266
                  SerializeEnum (16, 8);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1267
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1268
                case 480:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1269
                  SerializeEnum (16, 9);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1270
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1271
                case 512:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1272
                  SerializeEnum (16, 10);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1273
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1274
                case 640:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1275
                  SerializeEnum (16, 11);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1276
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1277
                case 1024:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1278
                  SerializeEnum (16, 12);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1279
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1280
                case 1280:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1281
                  SerializeEnum (16, 13);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1282
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1283
                case 2560:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1284
                  SerializeEnum (16, 14);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1285
                  break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1286
                case 5120:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1287
                default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1288
                  SerializeEnum (16, 15);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1289
                }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1290
            } // end trigger type
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1291
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1292
          // Serialize triggerQuantity
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1293
          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
  1294
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1295
              SerializeEnum (2, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1296
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1297
          else
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1298
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1299
              SerializeEnum (2, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1300
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1301
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1302
          // Serialize reportQuantity
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1303
          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
  1304
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1305
              SerializeEnum (2, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1306
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1307
          else
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, 1);
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
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1312
          // Serialize maxReportCells
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1313
          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
  1314
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1315
          // Serialize reportInterval
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1316
          switch (it->reportConfigEutra.reportInterval)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1317
            {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1318
            case LteRrcSap::ReportConfigEutra::MS120:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1319
              SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1320
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1321
            case LteRrcSap::ReportConfigEutra::MS240:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1322
              SerializeEnum (16, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1323
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1324
            case LteRrcSap::ReportConfigEutra::MS480:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1325
              SerializeEnum (16, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1326
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1327
            case LteRrcSap::ReportConfigEutra::MS640:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1328
              SerializeEnum (16, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1329
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1330
            case LteRrcSap::ReportConfigEutra::MS1024:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1331
              SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1332
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1333
            case LteRrcSap::ReportConfigEutra::MS2048:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1334
              SerializeEnum (16, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1335
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1336
            case LteRrcSap::ReportConfigEutra::MS5120:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1337
              SerializeEnum (16, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1338
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1339
            case LteRrcSap::ReportConfigEutra::MS10240:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1340
              SerializeEnum (16, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1341
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1342
            case LteRrcSap::ReportConfigEutra::MIN1:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1343
              SerializeEnum (16, 8);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1344
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1345
            case LteRrcSap::ReportConfigEutra::MIN6:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1346
              SerializeEnum (16, 9);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1347
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1348
            case LteRrcSap::ReportConfigEutra::MIN12:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1349
              SerializeEnum (16, 10);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1350
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1351
            case LteRrcSap::ReportConfigEutra::MIN30:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1352
              SerializeEnum (16, 11);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1353
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1354
            case LteRrcSap::ReportConfigEutra::MIN60:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1355
              SerializeEnum (16, 12);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1356
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1357
            case LteRrcSap::ReportConfigEutra::SPARE3:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1358
              SerializeEnum (16, 13);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1359
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1360
            case LteRrcSap::ReportConfigEutra::SPARE2:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1361
              SerializeEnum (16, 14);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1362
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1363
            case LteRrcSap::ReportConfigEutra::SPARE1:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1364
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1365
              SerializeEnum (16, 15);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1366
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1367
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1368
          // Serialize reportAmount
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1369
          switch (it->reportConfigEutra.reportAmount)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1370
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1371
            case 1:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1372
              SerializeEnum (8, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1373
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1374
            case 2:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1375
              SerializeEnum (8, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1376
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1377
            case 4:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1378
              SerializeEnum (8, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1379
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1380
            case 8:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1381
              SerializeEnum (8, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1382
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1383
            case 16:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1384
              SerializeEnum (8, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1385
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1386
            case 32:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1387
              SerializeEnum (8, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1388
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1389
            case 64:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1390
              SerializeEnum (8, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1391
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1392
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1393
              SerializeEnum (8, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1394
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1395
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1396
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1397
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1398
  if (!measConfig.measIdToRemoveList.empty () )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1399
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1400
      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
  1401
      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
  1402
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1403
          SerializeInteger (*it, 1, MAX_MEAS_ID);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1404
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1405
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1406
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1407
  if (!measConfig.measIdToAddModList.empty () )
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
      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
  1410
      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
  1411
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1412
          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
  1413
          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
  1414
          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
  1415
        }
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
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1418
  if (measConfig.haveQuantityConfig )
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
      // QuantityConfig sequence
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1421
      // 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
  1422
      std::bitset<4> quantityConfigOpts (0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1423
      quantityConfigOpts.set (3,1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1424
      SerializeSequence (quantityConfigOpts, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1425
      SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1426
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1427
      switch (measConfig.quantityConfig.filterCoefficientRSRP)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1428
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1429
        case 0:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1430
          SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1431
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1432
        case 1:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1433
          SerializeEnum (16, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1434
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1435
        case 2:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1436
          SerializeEnum (16, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1437
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1438
        case 3:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1439
          SerializeEnum (16, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1440
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1441
        case 4:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1442
          SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1443
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1444
        case 5:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1445
          SerializeEnum (16, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1446
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1447
        case 6:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1448
          SerializeEnum (16, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1449
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1450
        case 7:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1451
          SerializeEnum (16, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1452
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1453
        case 8:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1454
          SerializeEnum (16, 8);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1455
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1456
        case 9:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1457
          SerializeEnum (16, 9);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1458
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1459
        case 11:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1460
          SerializeEnum (16, 10);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1461
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1462
        case 13:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1463
          SerializeEnum (16, 11);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1464
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1465
        case 15:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1466
          SerializeEnum (16, 12);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1467
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1468
        case 17:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1469
          SerializeEnum (16, 13);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1470
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1471
        case 19:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1472
          SerializeEnum (16, 14);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1473
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1474
        default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1475
          SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1476
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1477
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1478
      switch (measConfig.quantityConfig.filterCoefficientRSRQ)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1479
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1480
        case 0:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1481
          SerializeEnum (16, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1482
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1483
        case 1:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1484
          SerializeEnum (16, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1485
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1486
        case 2:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1487
          SerializeEnum (16, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1488
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1489
        case 3:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1490
          SerializeEnum (16, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1491
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1492
        case 4:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1493
          SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1494
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1495
        case 5:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1496
          SerializeEnum (16, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1497
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1498
        case 6:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1499
          SerializeEnum (16, 6);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1500
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1501
        case 7:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1502
          SerializeEnum (16, 7);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1503
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1504
        case 8:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1505
          SerializeEnum (16, 8);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1506
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1507
        case 9:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1508
          SerializeEnum (16, 9);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1509
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1510
        case 11:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1511
          SerializeEnum (16, 10);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1512
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1513
        case 13:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1514
          SerializeEnum (16, 11);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1515
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1516
        case 15:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1517
          SerializeEnum (16, 12);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1518
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1519
        case 17:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1520
          SerializeEnum (16, 13);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1521
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1522
        case 19:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1523
          SerializeEnum (16, 14);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1524
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1525
        default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1526
          SerializeEnum (16, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1527
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1528
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1529
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1530
  if (measConfig.haveMeasGapConfig )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1531
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1532
      switch (measConfig.measGapConfig.type)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1533
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1534
        case LteRrcSap::MeasGapConfig::RESET:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1535
          SerializeChoice (2, 0, false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1536
          SerializeNull ();
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1537
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1538
        case LteRrcSap::MeasGapConfig::SETUP:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1539
        default:
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  1540
          SerializeChoice (2, 1, false);
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1541
          SerializeSequence (std::bitset<0> (),false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1542
          switch (measConfig.measGapConfig.gapOffsetChoice)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1543
            {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1544
            case LteRrcSap::MeasGapConfig::GP0:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1545
              SerializeChoice (2, 0, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1546
              SerializeInteger (measConfig.measGapConfig.gapOffsetValue, 0, 39);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1547
              break;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1548
            case LteRrcSap::MeasGapConfig::GP1:
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1549
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1550
              SerializeChoice (2, 1, true);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1551
              SerializeInteger (measConfig.measGapConfig.gapOffsetValue, 0, 79);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1552
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1553
        }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1554
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1555
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1556
  if (measConfig.haveSmeasure )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1557
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1558
      SerializeInteger (measConfig.sMeasure, 0, 97);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1559
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1560
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1561
  // ...Here preRegistrationInfoHRPD would be serialized
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1562
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1563
  if (measConfig.haveSpeedStatePars )
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1564
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1565
      switch (measConfig.speedStatePars.type)
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
        case LteRrcSap::SpeedStatePars::RESET:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1568
          SerializeChoice (2, 0, false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1569
          SerializeNull ();
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1570
          break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1571
        case LteRrcSap::SpeedStatePars::SETUP:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1572
        default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1573
          SerializeChoice (2, 1, false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1574
          SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1575
          switch (measConfig.speedStatePars.mobilityStateParameters.tEvaluation)
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
            case 30:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1578
              SerializeEnum (8, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1579
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1580
            case 60:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1581
              SerializeEnum (8, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1582
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1583
            case 120:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1584
              SerializeEnum (8, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1585
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1586
            case 180:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1587
              SerializeEnum (8, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1588
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1589
            case 240:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1590
              SerializeEnum (8, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1591
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1592
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1593
              SerializeEnum (8, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1594
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1595
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1596
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1597
          switch (measConfig.speedStatePars.mobilityStateParameters.tHystNormal)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1598
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1599
            case 30:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1600
              SerializeEnum (8, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1601
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1602
            case 60:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1603
              SerializeEnum (8, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1604
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1605
            case 120:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1606
              SerializeEnum (8, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1607
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1608
            case 180:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1609
              SerializeEnum (8, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1610
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1611
            case 240:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1612
              SerializeEnum (8, 4);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1613
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1614
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1615
              SerializeEnum (8, 5);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1616
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1617
            }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1618
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1619
          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
  1620
          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
  1621
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1622
          SerializeSequence (std::bitset<0> (), false);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1623
          switch (measConfig.speedStatePars.timeToTriggerSf.sfMedium)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1624
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1625
            case 25:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1626
              SerializeEnum (4, 0);
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
            case 50:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1629
              SerializeEnum (4, 1);
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
            case 75:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1632
              SerializeEnum (4, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1633
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1634
            case 100:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1635
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1636
              SerializeEnum (4, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1637
            }
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
          switch (measConfig.speedStatePars.timeToTriggerSf.sfHigh)
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1640
            {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1641
            case 25:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1642
              SerializeEnum (4, 0);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1643
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1644
            case 50:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1645
              SerializeEnum (4, 1);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1646
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1647
            case 75:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1648
              SerializeEnum (4, 2);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1649
              break;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1650
            case 100:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1651
            default:
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1652
              SerializeEnum (4, 3);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1653
            }
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
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1656
}
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1657
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1658
Buffer::Iterator
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1659
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
  1660
{
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1661
  int thresholdEutraChoice, range;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1662
  bIterator = DeserializeChoice (2, false, &thresholdEutraChoice, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1663
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1664
  switch (thresholdEutraChoice)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1665
    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1666
    case 0:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1667
      thresholdEutra->choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRP;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1668
      bIterator = DeserializeInteger (&range, 0, 97, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1669
      thresholdEutra->range = range;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1670
      break;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1671
    case 1:
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1672
    default:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  1673
      thresholdEutra->choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1674
      bIterator = DeserializeInteger (&range, 0, 34, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1675
      thresholdEutra->range = range;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1676
    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1677
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1678
  return bIterator;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1679
}
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1680
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1681
Buffer::Iterator
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1682
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
  1683
{
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1684
  int n;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1685
  bIterator = DeserializeEnum (31, &n, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1686
  switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1687
    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1688
    case 0:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1689
      *qOffsetRange = -24;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1690
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1691
    case 1:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1692
      *qOffsetRange = -22;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1693
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1694
    case 2:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1695
      *qOffsetRange = -20;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1696
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1697
    case 3:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1698
      *qOffsetRange = -18;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1699
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1700
    case 4:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1701
      *qOffsetRange = -16;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1702
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1703
    case 5:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1704
      *qOffsetRange = -14;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1705
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1706
    case 6:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1707
      *qOffsetRange = -12;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1708
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1709
    case 7:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1710
      *qOffsetRange = -10;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1711
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1712
    case 8:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1713
      *qOffsetRange = -8;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1714
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1715
    case 9:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1716
      *qOffsetRange = -6;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1717
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1718
    case 10:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1719
      *qOffsetRange = -5;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1720
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1721
    case 11:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1722
      *qOffsetRange = -4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1723
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1724
    case 12:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1725
      *qOffsetRange = -3;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1726
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1727
    case 13:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1728
      *qOffsetRange = -2;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1729
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1730
    case 14:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1731
      *qOffsetRange = -1;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1732
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1733
    case 15:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1734
      *qOffsetRange = 0;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1735
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1736
    case 16:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1737
      *qOffsetRange = 1;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1738
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1739
    case 17:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1740
      *qOffsetRange = 2;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1741
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1742
    case 18:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1743
      *qOffsetRange = 3;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1744
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1745
    case 19:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1746
      *qOffsetRange = 4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1747
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1748
    case 20:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1749
      *qOffsetRange = 5;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1750
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1751
    case 21:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1752
      *qOffsetRange = 6;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1753
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1754
    case 22:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1755
      *qOffsetRange = 8;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1756
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1757
    case 23:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1758
      *qOffsetRange = 10;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1759
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1760
    case 24:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1761
      *qOffsetRange = 12;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1762
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1763
    case 25:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1764
      *qOffsetRange = 14;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1765
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1766
    case 26:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1767
      *qOffsetRange = 16;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1768
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1769
    case 27:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1770
      *qOffsetRange = 18;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1771
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1772
    case 28:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1773
      *qOffsetRange = 20;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1774
      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1775
    case 29:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1776
      *qOffsetRange = 22;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1777
      break;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  1778
    case 30:
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1779
    default:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1780
      *qOffsetRange = 24;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  1781
    }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1782
  return bIterator;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1783
}
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  1784
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1785
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1786
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
  1787
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1788
  // Deserialize RadioResourceConfigDedicated sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1789
  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
  1790
  bIterator = DeserializeSequence (&optionalFieldsPresent,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1791
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1792
  if (optionalFieldsPresent[5])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1793
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1794
      // Deserialize srb-ToAddModList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1795
      bIterator = DeserializeSrbToAddModList (&(radioResourceConfigDedicated->srbToAddModList),bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1796
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1797
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1798
  if (optionalFieldsPresent[4])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1799
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1800
      // Deserialize drb-ToAddModList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1801
      bIterator = DeserializeDrbToAddModList (&(radioResourceConfigDedicated->drbToAddModList),bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1802
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1803
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1804
  if (optionalFieldsPresent[3])
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
      // Deserialize drb-ToReleaseList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1807
      int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1808
      int val;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1809
      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
  1810
      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
  1811
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1812
          bIterator = DeserializeInteger (&val,1,32,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1813
          radioResourceConfigDedicated->drbToReleaseList.push_back (val);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1814
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1815
    }
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
  if (optionalFieldsPresent[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1818
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1819
      // Deserialize mac-MainConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1820
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1821
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1822
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1823
  if (optionalFieldsPresent[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1824
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1825
      // Deserialize sps-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1826
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1827
    }
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
  radioResourceConfigDedicated->havePhysicalConfigDedicated = optionalFieldsPresent[0];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1830
  if (optionalFieldsPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1831
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1832
      // Deserialize physicalConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1833
      bIterator = DeserializePhysicalConfigDedicated (&radioResourceConfigDedicated->physicalConfigDedicated,bIterator);
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
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1837
}
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
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1840
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
  1841
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1842
  int numElems;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1843
  bIterator = DeserializeSequenceOf (&numElems,2,1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1844
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1845
  srbToAddModList->clear ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1846
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1847
  // Deserialize SRB-ToAddMod elements
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1848
  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
  1849
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1850
      LteRrcSap::SrbToAddMod srbToAddMod;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1851
      // Deserialize SRB-ToAddMod sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1852
      // 2 optional fields, extension marker present
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1853
      std::bitset<2> optionalFields;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1854
      bIterator = DeserializeSequence (&optionalFields,true,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
      // Deserialize srbIdentity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1857
      int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1858
      bIterator = DeserializeInteger (&n,1,2,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1859
      srbToAddMod.srbIdentity = n;
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
      if (optionalFields[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1862
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1863
          // Deserialize rlcConfig choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1864
          // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1865
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1866
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1867
      if (optionalFields[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1868
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1869
          // Deserialize logicalChannelConfig choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1870
          int sel;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  1871
          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
  1872
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1873
          // Deserialize logicalChannelConfig defaultValue
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1874
          if (sel == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1875
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1876
              bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1877
            }
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
          // Deserialize logicalChannelConfig explicitValue
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1880
          else if (sel == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1881
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1882
              bIterator = DeserializeLogicalChannelConfig (&srbToAddMod.logicalChannelConfig,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1883
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1884
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1885
      srbToAddModList->insert (srbToAddModList->end (),srbToAddMod);
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1888
  return bIterator;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1891
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1892
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
  1893
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1894
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1895
  int val;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1896
  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
  1897
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1898
  drbToAddModList->clear ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1899
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1900
  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
  1901
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1902
      LteRrcSap::DrbToAddMod drbToAddMod;
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
      std::bitset<5> optionalFields;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1905
      bIterator = DeserializeSequence (&optionalFields,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1906
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1907
      if (optionalFields[4])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1908
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1909
          // Deserialize epsBearerIdentity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1910
          bIterator = DeserializeInteger (&val,0,15,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1911
          drbToAddMod.epsBearerIdentity = val;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1912
        }
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
      bIterator = DeserializeInteger (&val,1,32,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1915
      drbToAddMod.drbIdentity = val;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1916
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1917
      if (optionalFields[3])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1918
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1919
          // Deserialize pdcp-Config
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
        }
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
      if (optionalFields[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1924
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1925
          // Deserialize RLC-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1926
          int chosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  1927
          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
  1928
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1929
          int sel;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1930
          std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1931
          switch (chosen)
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
            case 0:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1934
              drbToAddMod.rlcConfig.choice = LteRrcSap::RlcConfig::AM;
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
              // 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
  1937
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1938
              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
  1939
              bIterator = DeserializeEnum (8,&sel, bIterator); // pollPDU
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1940
              bIterator = DeserializeEnum (16,&sel, bIterator); // pollByte
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1941
              bIterator = DeserializeEnum (8,&sel, bIterator); // maxRetxThreshold
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
              // 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
  1944
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1945
              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
  1946
              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
  1947
              break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1948
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1949
            case 1:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1950
              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
  1951
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1952
              // 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
  1953
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1954
              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
  1955
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1956
              // 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
  1957
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1958
              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
  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
              break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1961
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1962
            case 2:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1963
              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
  1964
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1965
              // 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
  1966
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1967
              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
  1968
              break;
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
            case 3:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1971
              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
  1972
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1973
              // 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
  1974
              bIterator = DeserializeSequence (&bitset0,false, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1975
              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
  1976
              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
  1977
              break;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1980
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1981
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1982
      if (optionalFields[1])
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
          bIterator = DeserializeInteger (&val,3,10,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1985
          drbToAddMod.logicalChannelIdentity = val;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1988
      if (optionalFields[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1989
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1990
          bIterator = DeserializeLogicalChannelConfig (&drbToAddMod.logicalChannelConfig,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1991
        }
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
      drbToAddModList->insert (drbToAddModList->end (),drbToAddMod);
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
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1996
}
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
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  1999
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
  2000
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2001
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2002
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2003
  // Deserialize LogicalChannelConfig sequence
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2004
  // 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
  2005
  std::bitset<1> bitset1;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2006
  bIterator = DeserializeSequence (&bitset1,true,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2007
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2008
  if (bitset1[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2009
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2010
      // Deserialize ul-SpecificParameters sequence
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2011
      bIterator = DeserializeSequence (&bitset1,false,bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2012
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2013
      // Deserialize priority
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2014
      bIterator = DeserializeInteger (&n,1,16,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2015
      logicalChannelConfig->priority = 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 prioritisedBitRate
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2018
      bIterator = DeserializeEnum (16,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2019
      uint16_t prioritizedBitRateKbps;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2020
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2021
      switch (n)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2022
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2023
        case 0:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2024
          prioritizedBitRateKbps = 0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2025
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2026
        case 1:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2027
          prioritizedBitRateKbps = 8;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2028
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2029
        case 2:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2030
          prioritizedBitRateKbps = 16;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2031
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2032
        case 3:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2033
          prioritizedBitRateKbps = 32;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2034
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2035
        case 4:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2036
          prioritizedBitRateKbps = 64;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2037
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2038
        case 5:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2039
          prioritizedBitRateKbps = 128;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2040
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2041
        case 6:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2042
          prioritizedBitRateKbps = 256;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2043
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2044
        case 7:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2045
          prioritizedBitRateKbps = 10000;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2046
          break;
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  2047
        default:
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  2048
          prioritizedBitRateKbps = 10000;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2049
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2050
      logicalChannelConfig->prioritizedBitRateKbps = prioritizedBitRateKbps;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2051
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2052
      // Deserialize bucketSizeDuration
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2053
      bIterator = DeserializeEnum (8,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2054
      uint16_t bucketSizeDurationMs;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2055
      switch (n)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2056
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2057
        case 0:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2058
          bucketSizeDurationMs = 50;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2059
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2060
        case 1:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2061
          bucketSizeDurationMs = 100;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2062
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2063
        case 2:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2064
          bucketSizeDurationMs = 150;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2065
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2066
        case 3:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2067
          bucketSizeDurationMs = 300;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2068
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2069
        case 4:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2070
          bucketSizeDurationMs = 500;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2071
          break;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2072
        case 5:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2073
          bucketSizeDurationMs = 1000;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2074
          break;
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  2075
        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
  2076
          bucketSizeDurationMs = 1000;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2077
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2078
      logicalChannelConfig->bucketSizeDurationMs = bucketSizeDurationMs;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2079
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2080
      if (bitset1[0])
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  2081
        {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  2082
          // Deserialize logicalChannelGroup
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  2083
          bIterator = DeserializeInteger (&n,0,3,bIterator);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  2084
          logicalChannelConfig->logicalChannelGroup = n;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  2085
        }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2086
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2087
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2088
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2089
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2090
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2091
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
  2092
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2093
  std::bitset<10> optionalFieldPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2094
  bIterator = DeserializeSequence (&optionalFieldPresent,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2095
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2096
  if (optionalFieldPresent[9])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2097
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2098
      // Deserialize pdsch-ConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2099
      // ...
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
  if (optionalFieldPresent[8])
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
      // Deserialize pucch-ConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2104
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2105
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2106
  if (optionalFieldPresent[7])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2107
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2108
      // Deserialize pusch-ConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2109
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2110
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2111
  if (optionalFieldPresent[6])
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 uplinkPowerControlDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2114
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2115
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2116
  if (optionalFieldPresent[5])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2117
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2118
      // Deserialize tpc-PDCCH-ConfigPUCCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2119
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2120
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2121
  if (optionalFieldPresent[4])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2122
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2123
      // Deserialize tpc-PDCCH-ConfigPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2124
      // ...
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[3])
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 cqi-ReportConfig
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
  physicalConfigDedicated->haveSoundingRsUlConfigDedicated = optionalFieldPresent[2];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2132
  if (optionalFieldPresent[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2133
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2134
      // Deserialize soundingRS-UL-ConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2135
      int sel;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2136
      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
  2137
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2138
      if (sel == 0)
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
          physicalConfigDedicated->soundingRsUlConfigDedicated.type = LteRrcSap::SoundingRsUlConfigDedicated::RESET;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2141
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2142
          bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2143
        }
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
      else if (sel == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2146
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2147
          physicalConfigDedicated->soundingRsUlConfigDedicated.type = LteRrcSap::SoundingRsUlConfigDedicated::SETUP;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2148
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2149
          std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2150
          bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2151
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2152
          int slct;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2153
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2154
          // Deserialize srs-Bandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2155
          bIterator = DeserializeEnum (4,&slct,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2156
          physicalConfigDedicated->soundingRsUlConfigDedicated.srsBandwidth = slct;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2157
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2158
          // Deserialize srs-HoppingBandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2159
          bIterator = DeserializeEnum (4,&slct,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2160
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2161
          // Deserialize freqDomainPosition
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2162
          bIterator = DeserializeInteger (&slct,0,23,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2163
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2164
          // Deserialize duration
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2165
          bool duration;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2166
          bIterator = DeserializeBoolean (&duration,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2167
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2168
          // Deserialize srs-ConfigIndex
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2169
          bIterator = DeserializeInteger (&slct,0,1023,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2170
          physicalConfigDedicated->soundingRsUlConfigDedicated.srsConfigIndex = slct;
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
          // Deserialize transmissionComb
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2173
          bIterator = DeserializeInteger (&slct,0,1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2174
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2175
          // Deserialize cyclicShift
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2176
          bIterator = DeserializeEnum (8,&slct,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2177
        }
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
  physicalConfigDedicated->haveAntennaInfoDedicated = optionalFieldPresent[1];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2180
  if (optionalFieldPresent[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2181
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2182
      // Deserialize antennaInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2183
      int sel;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2184
      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
  2185
      if (sel == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2186
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2187
          bIterator = DeserializeNull (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
      else if (sel == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2190
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2191
          std::bitset<1> codebookSubsetRestrictionPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2192
          bIterator = DeserializeSequence (&codebookSubsetRestrictionPresent,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2193
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2194
          int txmode;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2195
          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
  2196
          physicalConfigDedicated->antennaInfo.transmissionMode = txmode;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2197
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2198
          if (codebookSubsetRestrictionPresent[0])
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 codebookSubsetRestriction
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2201
              // ...
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
          int txantennaselchosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2205
          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
  2206
          if (txantennaselchosen == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2207
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2208
              // Deserialize ue-TransmitAntennaSelection release
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2209
              bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2210
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2211
          else if (txantennaselchosen == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2212
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2213
              // Deserialize ue-TransmitAntennaSelection setup
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2214
              // ...
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
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2217
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2218
  if (optionalFieldPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2219
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2220
      // Deserialize schedulingRequestConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2221
      // ...
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
  return bIterator;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2226
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2227
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
  2228
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2229
  os << "   srbToAddModList: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2230
  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
  2231
  for (; it != radioResourceConfigDedicated.srbToAddModList.end (); it++)
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
      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
  2234
      os << "      logicalChannelConfig: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2235
      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
  2236
      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
  2237
      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
  2238
      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
  2239
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2240
  os << std::endl;
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
  os << "   drbToAddModList: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2243
  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
  2244
  for (; it2 != radioResourceConfigDedicated.drbToAddModList.end (); it2++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2245
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2246
      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
  2247
      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
  2248
      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
  2249
      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
  2250
      os << "      logicalChannelConfig: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2251
      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
  2252
      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
  2253
      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
  2254
      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
  2255
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2256
  os << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2257
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2258
  os << "   drbToReleaseList: ";
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2259
  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
  2260
  for (; it3 != radioResourceConfigDedicated.drbToReleaseList.end (); it3++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2261
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2262
      os << (int)*it3 << ", ";
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2263
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2264
  os << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2265
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2266
  os << "   havePhysicalConfigDedicated: " << radioResourceConfigDedicated.havePhysicalConfigDedicated << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2267
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2268
  if (radioResourceConfigDedicated.havePhysicalConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2269
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2270
      os << "   physicalConfigDedicated: " << 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 << "      haveSoundingRsUlConfigDedicated: " << radioResourceConfigDedicated.physicalConfigDedicated.haveSoundingRsUlConfigDedicated << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2273
      if (radioResourceConfigDedicated.physicalConfigDedicated.haveSoundingRsUlConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2274
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2275
          os << "      soundingRsUlConfigDedicated: " << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2276
          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
  2277
          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
  2278
          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
  2279
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2280
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2281
      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
  2282
      if (radioResourceConfigDedicated.physicalConfigDedicated.haveAntennaInfoDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2283
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2284
          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
  2285
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2286
    }
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2289
Buffer::Iterator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2290
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
  2291
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2292
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2293
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2294
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2295
  std::bitset<3> sysInfoBlkT1Opts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2296
  bIterator = DeserializeSequence (&sysInfoBlkT1Opts,false,bIterator);
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
  // Deserialize cellAccessRelatedInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2299
  std::bitset<1> cellAccessRelatedInfoOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2300
  bIterator = DeserializeSequence (&cellAccessRelatedInfoOpts,false,bIterator);
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
  // Deserialize plmn-IdentityList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2303
  int numPlmnIdentityInfoElements;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2304
  bIterator = DeserializeSequenceOf (&numPlmnIdentityInfoElements,6,1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2305
  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
  2306
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2307
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2308
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2309
      // 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
  2310
      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
  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
  // Deserialize trackingAreaCode
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2314
  std::bitset<16> trackingAreaCode;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2315
  bIterator = DeserializeBitstring (&trackingAreaCode,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2316
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2317
  // Deserialize cellIdentity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2318
  std::bitset<28> cellIdentity;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2319
  bIterator = DeserializeBitstring (&cellIdentity,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2320
  systemInformationBlockType1->cellAccessRelatedInfo.cellIdentity = cellIdentity.to_ulong ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2321
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2322
  // Deserialize cellBarred
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2323
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2324
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2325
  // Deserialize intraFreqReselection
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2326
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2327
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2328
  // Deserialize csg-Indication
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2329
  bIterator = DeserializeBoolean (&systemInformationBlockType1->cellAccessRelatedInfo.csgIndication,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2330
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2331
  if (cellAccessRelatedInfoOpts[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2332
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2333
      // Deserialize csg-Identity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2334
      std::bitset<27> csgIdentity;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2335
      bIterator = DeserializeBitstring (&csgIdentity,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2336
      systemInformationBlockType1->cellAccessRelatedInfo.csgIdentity = csgIdentity.to_ulong ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2337
    }
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
  // Deserialize cellSelectionInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2340
  std::bitset<1> qRxLevMinOffsetPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2341
  bIterator = DeserializeSequence (&qRxLevMinOffsetPresent,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2342
  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
  2343
  if (qRxLevMinOffsetPresent[0])
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 qRxLevMinOffset
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2346
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2347
    }
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
  if (sysInfoBlkT1Opts[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2350
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2351
      // Deserialize p-Max
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2352
      // ...
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2355
  // freqBandIndicator
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2356
  bIterator = DeserializeInteger (&n,1,64,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2357
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2358
  // schedulingInfoList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2359
  int numSchedulingInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2360
  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
  2361
  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
  2362
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2363
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2364
      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
  2365
      int numSibType;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2366
      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
  2367
      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
  2368
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2369
          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
  2370
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2371
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2372
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2373
  if (sysInfoBlkT1Opts[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2374
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2375
      // tdd-Config
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
    }
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
  // si-WindowLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2380
  bIterator = DeserializeEnum (7,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2381
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2382
  // systemInfoValueTag
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2383
  bIterator = DeserializeInteger (&n,0,31,bIterator);
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
  if (sysInfoBlkT1Opts[0])
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
      // Deserialize nonCriticalExtension
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2388
      // ...
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
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2391
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2392
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2393
Buffer::Iterator
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2394
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
  2395
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2396
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2397
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2398
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2399
  std::bitset<2> sysInfoBlkT2Opts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2400
  bIterator = DeserializeSequence (&sysInfoBlkT2Opts,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2401
  if (sysInfoBlkT2Opts[1])
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
      // Deserialize ac-BarringInfo
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
    }
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
  // Deserialize radioResourceConfigCommon
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2408
  bIterator = DeserializeRadioResourceConfigCommonSib (&systemInformationBlockType2->radioResourceConfigCommon, bIterator);
9443
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
  // Deserialize ue-TimersAndConstants
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2411
  bIterator = DeserializeSequence (&bitset0,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2412
  bIterator = DeserializeEnum (8,&n,bIterator); // t300
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2413
  bIterator = DeserializeEnum (8,&n,bIterator); // t301
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2414
  bIterator = DeserializeEnum (7,&n,bIterator); // t310
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2415
  bIterator = DeserializeEnum (8,&n,bIterator); // n310
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2416
  bIterator = DeserializeEnum (7,&n,bIterator); // t311
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2417
  bIterator = DeserializeEnum (8,&n,bIterator); // n311
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 freqInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2420
  std::bitset<2> freqInfoOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2421
  bIterator = DeserializeSequence (&freqInfoOpts,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2422
  if (freqInfoOpts[1])
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
      // Deserialize ul-CarrierFreq
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2425
      bIterator = DeserializeInteger (&n, 0, MAX_EARFCN, bIterator);
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2426
      systemInformationBlockType2->freqInfo.ulCarrierFreq = n;
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
  if (freqInfoOpts[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2429
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2430
      // Deserialize ul-Bandwidth
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2431
      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
  2432
      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
  2433
        {
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2434
        case 0:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2435
          systemInformationBlockType2->freqInfo.ulBandwidth = 6;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2436
          break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2437
        case 1:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2438
          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
  2439
          break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2440
        case 2:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2441
          systemInformationBlockType2->freqInfo.ulBandwidth = 25;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2442
          break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2443
        case 3:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2444
          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
  2445
          break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2446
        case 4:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2447
          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
  2448
          break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2449
        case 5:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2450
          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
  2451
          break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2452
        default:
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2453
          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
  2454
        }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2455
    }
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2456
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2457
  // additionalSpectrumEmission
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2458
  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
  2459
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2460
  if (sysInfoBlkT2Opts[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 mbsfn-SubframeConfigList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2463
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2464
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2465
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2466
  // Deserialize timeAlignmentTimerCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2467
  bIterator = DeserializeEnum (8,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2468
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2469
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2470
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2471
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2472
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2473
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
  2474
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
  2475
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2476
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2477
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2478
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2479
  std::bitset<9> rrCfgCommOptions;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2480
  bIterator = DeserializeSequence (&rrCfgCommOptions,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2481
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2482
  // rach-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2483
  if (rrCfgCommOptions[8])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2484
    {
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
  2485
      bIterator = DeserializeRachConfigCommon (&radioResourceConfigCommon->rachConfigCommon, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2486
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2487
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2488
  // prach-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2489
  std::bitset<1> prachConfigInfoPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2490
  bIterator = DeserializeSequence (&prachConfigInfoPresent,false,bIterator);
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
  // prach-Config -> rootSequenceIndex
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2493
  bIterator = DeserializeInteger (&n,0,1023,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2494
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2495
  // prach-Config -> prach-ConfigInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2496
  if (prachConfigInfoPresent[0])
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
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2499
    }
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
  // pdsch-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2502
  if (rrCfgCommOptions[7])
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
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2506
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2507
  // pusch-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2508
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2509
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2510
  // pusch-ConfigCommon -> pusch-ConfigBasic
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2511
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2512
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2513
  // pusch-ConfigCommon -> pusch-ConfigBasic -> n-SB
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2514
  bIterator = DeserializeInteger (&n,1,4,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2515
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2516
  // pusch-ConfigCommon -> pusch-ConfigBasic -> hoppingMode
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2517
  bIterator = DeserializeEnum (2,&n,bIterator);
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
  // pusch-ConfigCommon -> pusch-ConfigBasic -> pusch-HoppingOffset
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2520
  bIterator = DeserializeInteger (&n,0,98,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2521
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2522
  // pusch-ConfigCommon -> pusch-ConfigBasic -> enable64QAM
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2523
  bool enable64QAM;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2524
  bIterator = DeserializeBoolean (&enable64QAM,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2525
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2526
  // ul-ReferenceSignalsPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2527
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2528
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2529
  // groupHoppingEnabled
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2530
  bool dummyBool;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2531
  bIterator = DeserializeBoolean (&dummyBool,bIterator);
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
  // groupAssignmentPUSCH
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2534
  bIterator = DeserializeInteger (&n,0,29,bIterator);
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
  // sequenceHoppingEnabled
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2537
  bIterator = DeserializeBoolean (&dummyBool,bIterator);
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
  // cyclicShift
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2540
  bIterator = DeserializeInteger (&n,0,7,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
  // phich-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2543
  if (rrCfgCommOptions[6])
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
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2546
    }
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
  // pucch-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2549
  if (rrCfgCommOptions[5])
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
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2552
    }
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
  // soundingRS-UL-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2555
  if (rrCfgCommOptions[4])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2556
    {
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
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2559
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2560
  // uplinkPowerControlCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2561
  if (rrCfgCommOptions[3])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2562
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2563
      // ...
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2566
  // antennaInfoCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2567
  if (rrCfgCommOptions[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2568
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2569
      // ...
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2572
  // p-Max
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2573
  if (rrCfgCommOptions[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2574
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2575
      // ...
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
  // tdd-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2579
  if (rrCfgCommOptions[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2580
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2581
      // ...
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
  // ul-CyclicPrefixLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2585
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2586
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2587
  return bIterator;
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
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
  2591
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
  2592
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2593
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2594
  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
  2595
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2596
  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
  2597
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2598
  // preambleInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2599
  std::bitset<1> preamblesGroupAConfigPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2600
  bIterator = DeserializeSequence (&preamblesGroupAConfigPresent,false,bIterator);
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2601
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2602
  // numberOfRA-Preambles
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2603
  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
  2604
  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
  2605
    {
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2606
    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
  2607
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 4;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2608
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2609
    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
  2610
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 8;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2611
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2612
    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
  2613
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 12;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2614
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2615
    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
  2616
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 16;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2617
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2618
    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
  2619
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 20;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2620
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2621
    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
  2622
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 24;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2623
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2624
    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
  2625
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 28;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2626
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2627
    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
  2628
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 32;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2629
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2630
    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
  2631
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 36;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2632
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2633
    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
  2634
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 40;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2635
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2636
    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
  2637
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 44;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2638
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2639
    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
  2640
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 48;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2641
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2642
    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
  2643
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 52;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2644
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2645
    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
  2646
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 56;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2647
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2648
    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
  2649
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 60;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2650
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2651
    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
  2652
      rachConfigCommon->preambleInfo.numberOfRaPreambles = 64;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2653
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2654
    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
  2655
      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
  2656
    }
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
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2658
  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
  2659
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2660
  if (preamblesGroupAConfigPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2661
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2662
      // Deserialize preamblesGroupAConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2663
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2664
    }
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
  2665
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2666
  // powerRampingParameters
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2667
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2668
  bIterator = DeserializeEnum (4,&n,bIterator); // powerRampingStep
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2669
  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
  2670
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2671
  // ra-SupervisionInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2672
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2673
  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
  2674
  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
  2675
    {
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2676
    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
  2677
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 3;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2678
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2679
    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
  2680
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 4;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2681
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2682
    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
  2683
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 5;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2684
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2685
    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
  2686
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 6;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2687
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2688
    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
  2689
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 7;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2690
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2691
    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
  2692
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 8;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2693
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2694
    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
  2695
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 10;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2696
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2697
    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
  2698
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 20;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2699
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2700
    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
  2701
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 50;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2702
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2703
    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
  2704
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 100;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2705
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2706
    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
  2707
      rachConfigCommon->raSupervisionInfo.preambleTransMax = 200;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2708
      break;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2709
    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
  2710
      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
  2711
    }
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
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2713
  // ra-ResponseWindowSize
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2714
  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
  2715
  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
  2716
    {
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  2717
    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
  2718
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 2;
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 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
  2721
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 3;
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 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
  2724
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 4;
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 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
  2727
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 5;
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 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
  2730
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 6;
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 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
  2733
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 7;
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 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
  2736
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 8;
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 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
  2739
      rachConfigCommon->raSupervisionInfo.raResponseWindowSize = 10;
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.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
  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
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2745
  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
  2746
  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
  2747
  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
  2748
}
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2749
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
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
  2751
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
  2752
{
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
  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
  2754
  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
  2755
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
  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
  2757
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2758
  // 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
  2759
  bIterator = DeserializeRachConfigCommon (&radioResourceConfigCommonSib->rachConfigCommon, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2760
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2761
  // bcch-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2762
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2763
  bIterator = DeserializeEnum (4,&n,bIterator); // modificationPeriodCoeff
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2764
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2765
  // pcch-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2766
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2767
  bIterator = DeserializeEnum (4,&n,bIterator); // defaultPagingCycle
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2768
  bIterator = DeserializeEnum (8,&n,bIterator); // nB
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2769
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2770
  // prach-Config 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2771
  std::bitset<1> prachConfigInfoPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2772
  bIterator = DeserializeSequence (&prachConfigInfoPresent,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2773
  // prach-Config -> rootSequenceIndex
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2774
  bIterator = DeserializeInteger (&n,0,1023,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2775
  // prach-Config -> prach-ConfigInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2776
  if (prachConfigInfoPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2777
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2778
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2779
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2780
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2781
  // pdsch-ConfigCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2782
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2783
  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
  2784
  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
  2785
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2786
  // pusch-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2787
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2788
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2789
  // pusch-ConfigCommon -> pusch-ConfigBasic
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2790
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2791
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2792
  // pusch-ConfigCommon -> pusch-ConfigBasic -> n-SB
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2793
  bIterator = DeserializeInteger (&n,1,4,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2794
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2795
  // pusch-ConfigCommon -> pusch-ConfigBasic -> hoppingMode
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2796
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2797
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2798
  // pusch-ConfigCommon -> pusch-ConfigBasic -> pusch-HoppingOffset
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2799
  bIterator = DeserializeInteger (&n,0,98,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2800
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2801
  // pusch-ConfigCommon -> pusch-ConfigBasic -> enable64QAM
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2802
  bool dummyBoolean;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2803
  bIterator = DeserializeBoolean (&dummyBoolean,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2804
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2805
  // ul-ReferenceSignalsPUSCH 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2806
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2807
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2808
  // groupHoppingEnabled 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2809
  bIterator = DeserializeBoolean (&dummyBoolean,bIterator);
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
  // groupAssignmentPUSCH 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2812
  bIterator = DeserializeInteger (&n,0,29,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2813
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2814
  // sequenceHoppingEnabled 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2815
  bIterator = DeserializeBoolean (&dummyBoolean,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2816
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2817
  // cyclicShift 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2818
  bIterator = DeserializeInteger (&n,0,7,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2819
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2820
  // pucch-ConfigCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2821
  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
  2822
  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
  2823
  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
  2824
  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
  2825
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2826
  // soundingRS-UL-ConfigCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2827
  int choice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2828
  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
  2829
  if (choice == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2830
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2831
      bIterator = DeserializeNull (bIterator); // release
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
  if (choice == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2834
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2835
      // setup
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
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2838
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2839
  // uplinkPowerControlCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2840
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2841
  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
  2842
  bIterator = DeserializeEnum (8,&n,bIterator); // alpha 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2843
  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
  2844
  //deltaFList-PUCCH 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2845
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2846
  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
  2847
  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
  2848
  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
  2849
  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
  2850
  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
  2851
  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
  2852
 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2853
  // ul-CyclicPrefixLength
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2854
  bIterator = DeserializeEnum (2,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2855
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2856
  return bIterator;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  2857
}
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  2858
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2859
Buffer::Iterator
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2860
RrcAsn1Header::DeserializeMeasResults (LteRrcSap::MeasResults *measResults, Buffer::Iterator bIterator)
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2861
{
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2862
  int n;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2863
  std::bitset<0> b0;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2864
  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
  2865
  bIterator = DeserializeSequence (&measResultNeighCellsPresent,true,bIterator);
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2866
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2867
  // Deserialize measId
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2868
  bIterator = DeserializeInteger (&n, 1, MAX_MEAS_ID, bIterator);
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2869
  measResults->measId = n;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2870
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2871
  // 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
  2872
  bIterator = DeserializeSequence (&b0,false,bIterator);
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2873
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2874
  // Deserialize rsrpResult
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2875
  bIterator = DeserializeInteger (&n, 0, 97, bIterator);
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2876
  measResults->rsrpResult = n;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2877
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2878
  // Deserialize rsrqResult
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2879
  bIterator = DeserializeInteger (&n, 0, 34, bIterator);
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2880
  measResults->rsrqResult = n;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2881
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2882
  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
  2883
  if ( measResults->haveMeasResultNeighCells)
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2884
    {
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
  2885
      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
  2886
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2887
      // Deserialize measResultNeighCells
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  2888
      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
  2889
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2890
      if (measResultNeighCellsChoice == 0)
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2891
        {
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
  2892
          // 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
  2893
          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
  2894
          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
  2895
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2896
          for (int i = 0; i < numElems; i++)
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2897
            {
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
  2898
              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
  2899
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2900
              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
  2901
              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
  2902
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2903
              // 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
  2904
              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
  2905
              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
  2906
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2907
              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
  2908
              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
  2909
                {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2910
                  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
  2911
                  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
  2912
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2913
                  // 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
  2914
                  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
  2915
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2916
                  // 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
  2917
                  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
  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 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
  2920
                  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
  2921
                  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
  2922
                  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
  2923
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 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
  2925
                  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
  2926
                  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
  2927
                  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
  2928
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  2929
                  // 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
  2930
                  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
  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
                      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
  2933
                      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
  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
                      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
  2936
                        {
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
                          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
  2938
                          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
  2939
                          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
  2940
                        }
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
                }
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
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
              // 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
  2945
              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
  2946
              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
  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
              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
  2949
              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
  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 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
  2952
                  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
  2953
                  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
  2954
                }
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
              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
  2957
              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
  2958
                {
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
                  // 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
  2960
                  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
  2961
                  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
  2962
                }
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
              measResults->measResultListEutra.push_back (measResultEutra);
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2965
            }
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2966
        }
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
  2967
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
      if (measResultNeighCellsChoice == 1)
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2969
        {
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
  2970
          // 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
  2971
          // ...
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2972
        }
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2973
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
  2974
      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
  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 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
  2977
          // ...
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
        }
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
      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
  2980
        {
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
          // 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
  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
        }
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2984
    }
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  2985
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2986
  return bIterator;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2987
}
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2988
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2989
Buffer::Iterator
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2990
RrcAsn1Header::DeserializePlmnIdentity (uint32_t *plmnId, Buffer::Iterator bIterator)
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2991
{
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2992
  int n;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2993
  std::bitset<1> isMccPresent;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2994
  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
  2995
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2996
  if (isMccPresent[0])
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2997
    {
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2998
      // Deserialize mcc
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  2999
      // ...
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3000
    }
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3001
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3002
  // Deserialize mnc
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3003
  int mncDigits;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3004
  int mnc = 0;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3005
  bIterator = DeserializeSequenceOf (&mncDigits,3,2,bIterator);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3006
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3007
  for (int j = mncDigits - 1; j >= 0; j--)
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3008
    {
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3009
      bIterator = DeserializeInteger (&n,0,9,bIterator);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3010
      mnc += n * pow (10,j);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3011
    }
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3012
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3013
  *plmnId = mnc;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3014
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3015
  // cellReservedForOperatorUse
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3016
  bIterator = DeserializeEnum (2,&n,bIterator);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3017
  return bIterator;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  3018
}
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
  3019
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3020
Buffer::Iterator
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3021
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
  3022
{
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3023
  std::bitset<0> bitset0;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3024
  std::bitset<2> bitset2;
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3025
  std::bitset<11> bitset11;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3026
  int n;
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3027
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3028
  // measConfig
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3029
  bIterator = DeserializeSequence (&bitset11,true,bIterator);
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3030
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3031
  if (bitset11[10])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3032
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3033
      // measObjectToRemoveList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3034
      int measObjectToRemoveListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3035
      bIterator = DeserializeSequenceOf (&measObjectToRemoveListElems, MAX_OBJECT_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3036
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3037
      for (int i = 0; i < measObjectToRemoveListElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3038
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3039
          bIterator = DeserializeInteger (&n, 1, MAX_OBJECT_ID, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3040
          measConfig->measObjectToRemoveList.push_back (n);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3041
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3042
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3043
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3044
  if (bitset11[9])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3045
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3046
      // measObjectToAddModList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3047
      int measObjectToAddModListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3048
      bIterator = DeserializeSequenceOf (&measObjectToAddModListElems, MAX_OBJECT_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3049
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3050
      for (int i = 0; i < measObjectToAddModListElems; i++)
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3051
        {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3052
          LteRrcSap::MeasObjectToAddMod elem;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3053
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3054
          bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3055
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3056
          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
  3057
          elem.measObjectId = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3058
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3059
          int measObjectChoice;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3060
          bIterator = DeserializeChoice (4, true, &measObjectChoice, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3061
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3062
          switch (measObjectChoice)
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3063
            {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3064
            case 1:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3065
              // Deserialize measObjectUTRA
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3066
              // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3067
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3068
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3069
            case 2:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3070
              // Deserialize measObjectGERAN
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3071
              // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3072
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3073
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3074
            case 3:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3075
              // Deserialize measObjectCDMA2000
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3076
              // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3077
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3078
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3079
            case 0:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3080
            default:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3081
              // Deserialize measObjectEUTRA
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3082
              std::bitset<5> measObjectEutraOpts;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3083
              bIterator = DeserializeSequence (&measObjectEutraOpts, true, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3084
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3085
              // carrierFreq
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3086
              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
  3087
              elem.measObjectEutra.carrierFreq = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3088
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3089
              // allowedMeasBandwidth
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3090
              bIterator = DeserializeEnum (6, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3091
              switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3092
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3093
                case 0:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3094
                  elem.measObjectEutra.allowedMeasBandwidth = 6;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3095
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3096
                case 1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3097
                  elem.measObjectEutra.allowedMeasBandwidth = 15;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3098
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3099
                case 2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3100
                  elem.measObjectEutra.allowedMeasBandwidth = 25;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3101
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3102
                case 3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3103
                  elem.measObjectEutra.allowedMeasBandwidth = 50;
9665
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
                case 4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3106
                  elem.measObjectEutra.allowedMeasBandwidth = 75;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3107
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3108
                case 5:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3109
                default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3110
                  elem.measObjectEutra.allowedMeasBandwidth = 100;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3111
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3112
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3113
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3114
              // presenceAntennaPort1
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3115
              bIterator = DeserializeBoolean (&elem.measObjectEutra.presenceAntennaPort1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3116
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3117
              // neighCellConfig
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3118
              bIterator = DeserializeBitstring (&bitset2, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3119
              elem.measObjectEutra.neighCellConfig = bitset2.to_ulong ();
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
              // offsetFreq
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3122
              bIterator = DeserializeQoffsetRange (&elem.measObjectEutra.offsetFreq, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3123
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3124
              if (measObjectEutraOpts[4])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3125
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3126
                  // cellsToRemoveList
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3127
                  int numElems;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3128
                  bIterator = DeserializeSequenceOf (&numElems, MAX_CELL_MEAS, 1, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3129
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3130
                  for (int i = 0; i < numElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3131
                    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3132
                      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
  3133
                      elem.measObjectEutra.cellsToRemoveList.push_back (n);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3134
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3135
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3136
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3137
              if (measObjectEutraOpts[3])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3138
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3139
                  // cellsToAddModList
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3140
                  int numElems;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3141
                  bIterator = DeserializeSequenceOf (&numElems, MAX_CELL_MEAS, 1, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3142
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3143
                  for (int i = 0; i < numElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3144
                    {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3145
                      LteRrcSap::CellsToAddMod cellsToAddMod;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3146
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3147
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3148
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3149
                      // cellIndex
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3150
                      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
  3151
                      cellsToAddMod.cellIndex = n;
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
                      // PhysCellId
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3154
                      bIterator = DeserializeInteger (&n, 0, 503, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3155
                      cellsToAddMod.physCellId = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3156
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3157
                      // cellIndividualOffset
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3158
                      bIterator = DeserializeQoffsetRange ( &cellsToAddMod.cellIndividualOffset, bIterator);
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3159
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3160
                      elem.measObjectEutra.cellsToAddModList.push_back (cellsToAddMod);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3161
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3162
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3163
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3164
              if (measObjectEutraOpts[2])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3165
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3166
                  // blackCellsToRemoveList
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3167
                  int numElems;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3168
                  bIterator = DeserializeSequenceOf (&numElems, MAX_CELL_MEAS, 1, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3169
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3170
                  for (int i = 0; i < numElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3171
                    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3172
                      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
  3173
                      elem.measObjectEutra.blackCellsToRemoveList.push_back (n);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3174
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3175
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3176
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3177
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3178
              if (measObjectEutraOpts[1])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3179
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3180
                  // blackCellsToAddModList
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3181
                  int numElems;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3182
                  bIterator = DeserializeSequenceOf (&numElems, MAX_CELL_MEAS, 1, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3183
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3184
                  for (int i = 0; i < numElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3185
                    {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3186
                      LteRrcSap::BlackCellsToAddMod blackCellsToAddMod;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3187
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3188
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3189
                      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
  3190
                      blackCellsToAddMod.cellIndex = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3191
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3192
                      // PhysCellIdRange
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3193
                      std::bitset<1> isRangePresent;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3194
                      bIterator = DeserializeSequence (&isRangePresent, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3195
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3196
                      // start
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3197
                      bIterator = DeserializeInteger (&n, 0, 503, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3198
                      blackCellsToAddMod.physCellIdRange.start = n;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3199
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3200
                      blackCellsToAddMod.physCellIdRange.haveRange = isRangePresent[0];
10116
625994721270 fix optimized build
Tom Henderson <tomh@tomh.org>
parents: 10063
diff changeset
  3201
                      // initialize range to silence compiler warning
625994721270 fix optimized build
Tom Henderson <tomh@tomh.org>
parents: 10063
diff changeset
  3202
                      blackCellsToAddMod.physCellIdRange.range = 0;
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3203
                      if (blackCellsToAddMod.physCellIdRange.haveRange)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3204
                        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3205
                          // range
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3206
                          bIterator = DeserializeEnum (16, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3207
                          switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3208
                            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3209
                            case 0:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3210
                              blackCellsToAddMod.physCellIdRange.range = 4;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3211
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3212
                            case 1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3213
                              blackCellsToAddMod.physCellIdRange.range = 8;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3214
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3215
                            case 2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3216
                              blackCellsToAddMod.physCellIdRange.range = 12;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3217
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3218
                            case 3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3219
                              blackCellsToAddMod.physCellIdRange.range = 16;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3220
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3221
                            case 4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3222
                              blackCellsToAddMod.physCellIdRange.range = 24;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3223
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3224
                            case 5:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3225
                              blackCellsToAddMod.physCellIdRange.range = 32;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3226
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3227
                            case 6:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3228
                              blackCellsToAddMod.physCellIdRange.range = 48;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3229
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3230
                            case 7:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3231
                              blackCellsToAddMod.physCellIdRange.range = 64;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3232
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3233
                            case 8:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3234
                              blackCellsToAddMod.physCellIdRange.range = 84;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3235
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3236
                            case 9:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3237
                              blackCellsToAddMod.physCellIdRange.range = 96;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3238
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3239
                            case 10:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3240
                              blackCellsToAddMod.physCellIdRange.range = 128;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3241
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3242
                            case 11:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3243
                              blackCellsToAddMod.physCellIdRange.range = 168;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3244
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3245
                            case 12:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3246
                              blackCellsToAddMod.physCellIdRange.range = 252;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3247
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3248
                            case 13:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3249
                              blackCellsToAddMod.physCellIdRange.range = 504;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3250
                              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3251
                            default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3252
                              blackCellsToAddMod.physCellIdRange.range = 0;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3253
                            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3254
                        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3255
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3256
                      elem.measObjectEutra.blackCellsToAddModList.push_back (blackCellsToAddMod);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3257
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3258
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3259
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3260
              elem.measObjectEutra.haveCellForWhichToReportCGI = measObjectEutraOpts[0];
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3261
              if (measObjectEutraOpts[0])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3262
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3263
                  // cellForWhichToReportCGI
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3264
                  bIterator = DeserializeInteger (&n, 0, 503, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3265
                  elem.measObjectEutra.cellForWhichToReportCGI = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3266
                }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3267
            }
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3268
          measConfig->measObjectToAddModList.push_back (elem);
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3269
        }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3270
    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3271
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3272
  if (bitset11[8])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3273
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3274
      // reportConfigToRemoveList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3275
      int reportConfigToRemoveListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3276
      bIterator = DeserializeSequenceOf (&reportConfigToRemoveListElems, MAX_REPORT_CONFIG_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3277
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3278
      for (int i = 0; i < reportConfigToRemoveListElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3279
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3280
          bIterator = DeserializeInteger (&n, 1, MAX_REPORT_CONFIG_ID, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3281
          measConfig->reportConfigToRemoveList.push_back (n);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3282
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3283
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3284
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3285
  if (bitset11[7])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3286
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3287
      // reportConfigToAddModList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3288
      int reportConfigToAddModListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3289
      bIterator = DeserializeSequenceOf (&reportConfigToAddModListElems, MAX_REPORT_CONFIG_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3290
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3291
      for (int i = 0; i < reportConfigToAddModListElems; i++)
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3292
        {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3293
          LteRrcSap::ReportConfigToAddMod elem;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3294
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3295
          bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3296
          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
  3297
          elem.reportConfigId = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3298
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3299
          // Deserialize reportConfig
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3300
          int reportConfigChoice;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3301
          bIterator = DeserializeChoice (2, false, &reportConfigChoice, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3302
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3303
          if (reportConfigChoice == 0)
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3304
            {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3305
              // reportConfigEUTRA
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3306
              bIterator = DeserializeSequence (&bitset0, true, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3307
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3308
              // triggerType
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3309
              int triggerTypeChoice;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3310
              bIterator = DeserializeChoice (2, false, &triggerTypeChoice, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3311
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3312
              if (triggerTypeChoice == 0)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3313
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3314
                  // event
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3315
                  elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::EVENT;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3316
                  bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3317
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3318
                  // eventId
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3319
                  int eventIdChoice;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3320
                  bIterator = DeserializeChoice (5, true, &eventIdChoice, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3321
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3322
                  switch (eventIdChoice)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3323
                    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3324
                    case 0:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3325
                      elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3326
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3327
                      bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3328
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3329
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3330
                    case 1:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3331
                      elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3332
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3333
                      bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3334
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3335
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3336
                    case 2:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3337
                      elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3338
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3339
                      bIterator = DeserializeInteger (&n, -30, 30, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3340
                      elem.reportConfigEutra.a3Offset = n;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3341
                      bIterator = DeserializeBoolean (&elem.reportConfigEutra.reportOnLeave, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3342
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3343
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3344
                    case 3:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3345
                      elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3346
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3347
                      bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3348
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3349
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3350
                    case 4:
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3351
                    default:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3352
                      elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A5;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3353
                      bIterator = DeserializeSequence (&bitset0, false, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3354
                      bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3355
                      bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold2, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3356
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3357
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3358
                  bIterator = DeserializeInteger (&n, 0, 30, bIterator);
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3359
                  elem.reportConfigEutra.hysteresis = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3360
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3361
                  bIterator = DeserializeEnum (16, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3362
                  switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3363
                    {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3364
                    case 0:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3365
                      elem.reportConfigEutra.timeToTrigger = 0;
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
                    case 1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3368
                      elem.reportConfigEutra.timeToTrigger = 40;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3369
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3370
                    case 2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3371
                      elem.reportConfigEutra.timeToTrigger = 64;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3372
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3373
                    case 3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3374
                      elem.reportConfigEutra.timeToTrigger = 80;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3375
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3376
                    case 4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3377
                      elem.reportConfigEutra.timeToTrigger = 100;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3378
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3379
                    case 5:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3380
                      elem.reportConfigEutra.timeToTrigger = 128;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3381
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3382
                    case 6:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3383
                      elem.reportConfigEutra.timeToTrigger = 160;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3384
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3385
                    case 7:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3386
                      elem.reportConfigEutra.timeToTrigger = 256;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3387
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3388
                    case 8:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3389
                      elem.reportConfigEutra.timeToTrigger = 320;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3390
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3391
                    case 9:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3392
                      elem.reportConfigEutra.timeToTrigger = 480;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3393
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3394
                    case 10:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3395
                      elem.reportConfigEutra.timeToTrigger = 512;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3396
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3397
                    case 11:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3398
                      elem.reportConfigEutra.timeToTrigger = 640;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3399
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3400
                    case 12:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3401
                      elem.reportConfigEutra.timeToTrigger = 1024;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3402
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3403
                    case 13:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3404
                      elem.reportConfigEutra.timeToTrigger = 1280;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3405
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3406
                    case 14:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3407
                      elem.reportConfigEutra.timeToTrigger = 2560;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3408
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3409
                    case 15:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3410
                    default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3411
                      elem.reportConfigEutra.timeToTrigger = 5120;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3412
                      break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3413
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3414
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3415
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3416
              if (triggerTypeChoice == 1)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3417
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3418
                  // periodical
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3419
                  elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::PERIODICAL;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3420
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3421
                  bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3422
                  bIterator = DeserializeEnum (2, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3423
                  if (n == 0)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3424
                    {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3425
                      elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::REPORT_STRONGEST_CELLS;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3426
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3427
                  else
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3428
                    {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3429
                      elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::REPORT_CGI;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3430
                    }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3431
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3432
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3433
              // triggerQuantity
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3434
              bIterator = DeserializeEnum (2, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3435
              if (n == 0)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3436
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3437
                  elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRP;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3438
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3439
              else
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3440
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3441
                  elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRQ;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3442
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3443
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3444
              // reportQuantity
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3445
              bIterator = DeserializeEnum (2, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3446
              if (n == 0)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3447
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3448
                  elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3449
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3450
              else
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3451
                {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3452
                  elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::BOTH;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3453
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3454
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3455
              // maxReportCells
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3456
              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
  3457
              elem.reportConfigEutra.maxReportCells = n;
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
              // reportInterval
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3460
              bIterator = DeserializeEnum (16, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3461
              switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3462
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3463
                case 0:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3464
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS120;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3465
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3466
                case 1:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3467
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS240;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3468
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3469
                case 2:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3470
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS480;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3471
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3472
                case 3:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3473
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS640;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3474
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3475
                case 4:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3476
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS1024;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3477
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3478
                case 5:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3479
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS2048;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3480
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3481
                case 6:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3482
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS5120;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3483
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3484
                case 7:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3485
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS10240;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3486
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3487
                case 8:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3488
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN1;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3489
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3490
                case 9:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3491
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN6;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3492
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3493
                case 10:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3494
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN12;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3495
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3496
                case 11:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3497
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN30;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3498
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3499
                case 12:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3500
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN60;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3501
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3502
                case 13:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3503
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE3;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3504
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3505
                case 14:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3506
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE2;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3507
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3508
                case 15:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3509
                default:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3510
                  elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE1;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3511
                }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3512
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3513
              // reportAmount
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3514
              bIterator = DeserializeEnum (8, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3515
              switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3516
                {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3517
                case 0:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3518
                  elem.reportConfigEutra.reportAmount = 1;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3519
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3520
                case 1:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3521
                  elem.reportConfigEutra.reportAmount = 2;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3522
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3523
                case 2:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3524
                  elem.reportConfigEutra.reportAmount = 4;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3525
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3526
                case 3:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3527
                  elem.reportConfigEutra.reportAmount = 8;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3528
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3529
                case 4:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3530
                  elem.reportConfigEutra.reportAmount = 16;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3531
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3532
                case 5:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3533
                  elem.reportConfigEutra.reportAmount = 32;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3534
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3535
                case 6:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3536
                  elem.reportConfigEutra.reportAmount = 64;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3537
                  break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3538
                default:
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3539
                  elem.reportConfigEutra.reportAmount = 0;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3540
                }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3541
            }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3542
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3543
          if (reportConfigChoice == 1)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3544
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3545
              // ReportConfigInterRAT
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3546
              // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3547
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3548
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3549
          measConfig->reportConfigToAddModList.push_back (elem);
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3550
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3551
    }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3552
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3553
  if (bitset11[6])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3554
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3555
      // measIdToRemoveList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3556
      int measIdToRemoveListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3557
      bIterator = DeserializeSequenceOf (&measIdToRemoveListElems, MAX_MEAS_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3558
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3559
      for (int i = 0; i < measIdToRemoveListElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3560
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3561
          bIterator = DeserializeInteger (&n, 1, MAX_MEAS_ID, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3562
          measConfig->measIdToRemoveList.push_back (n);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3563
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3564
    }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3565
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3566
  if (bitset11[5])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3567
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3568
      // measIdToAddModList
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3569
      int measIdToAddModListElems;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3570
      bIterator = DeserializeSequenceOf (&measIdToAddModListElems, MAX_MEAS_ID, 1, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3571
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3572
      for (int i = 0; i < measIdToAddModListElems; i++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3573
        {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3574
          LteRrcSap::MeasIdToAddMod elem;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3575
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3576
          bIterator = DeserializeSequence (&bitset0, false, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3577
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3578
          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
  3579
          elem.measId = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3580
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3581
          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
  3582
          elem.measObjectId = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3583
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3584
          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
  3585
          elem.reportConfigId = n;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3586
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  3587
          measConfig->measIdToAddModList.push_back (elem);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3588
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3589
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3590
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3591
  measConfig->haveQuantityConfig = bitset11[4];
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3592
  if (measConfig->haveQuantityConfig)
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3593
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3594
      // quantityConfig
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3595
      std::bitset<4> quantityConfigOpts;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3596
      bIterator = DeserializeSequence (&quantityConfigOpts, true, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3597
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3598
      if (quantityConfigOpts[3])
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3599
        {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3600
          // quantityConfigEUTRA
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3601
          bIterator = DeserializeSequence (&bitset0,false,bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3602
          bIterator = DeserializeEnum (16, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3603
          switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3604
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3605
            case 0:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3606
              measConfig->quantityConfig.filterCoefficientRSRP = 0;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3607
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3608
            case 1:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3609
              measConfig->quantityConfig.filterCoefficientRSRP = 1;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3610
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3611
            case 2:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3612
              measConfig->quantityConfig.filterCoefficientRSRP = 2;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3613
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3614
            case 3:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3615
              measConfig->quantityConfig.filterCoefficientRSRP = 3;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3616
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3617
            case 4:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3618
              measConfig->quantityConfig.filterCoefficientRSRP = 4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3619
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3620
            case 5:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3621
              measConfig->quantityConfig.filterCoefficientRSRP = 5;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3622
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3623
            case 6:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3624
              measConfig->quantityConfig.filterCoefficientRSRP = 6;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3625
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3626
            case 7:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3627
              measConfig->quantityConfig.filterCoefficientRSRP = 7;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3628
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3629
            case 8:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3630
              measConfig->quantityConfig.filterCoefficientRSRP = 8;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3631
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3632
            case 9:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3633
              measConfig->quantityConfig.filterCoefficientRSRP = 9;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3634
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3635
            case 10:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3636
              measConfig->quantityConfig.filterCoefficientRSRP = 11;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3637
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3638
            case 11:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3639
              measConfig->quantityConfig.filterCoefficientRSRP = 13;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3640
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3641
            case 12:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3642
              measConfig->quantityConfig.filterCoefficientRSRP = 15;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3643
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3644
            case 13:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3645
              measConfig->quantityConfig.filterCoefficientRSRP = 17;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3646
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3647
            case 14:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3648
              measConfig->quantityConfig.filterCoefficientRSRP = 19;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3649
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3650
            case 15:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3651
              measConfig->quantityConfig.filterCoefficientRSRP = 0;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3652
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3653
            default:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3654
              measConfig->quantityConfig.filterCoefficientRSRP = 4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3655
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3656
          bIterator = DeserializeEnum (16, &n, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3657
          switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3658
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3659
            case 0:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3660
              measConfig->quantityConfig.filterCoefficientRSRQ = 0;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3661
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3662
            case 1:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3663
              measConfig->quantityConfig.filterCoefficientRSRQ = 1;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3664
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3665
            case 2:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3666
              measConfig->quantityConfig.filterCoefficientRSRQ = 2;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3667
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3668
            case 3:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3669
              measConfig->quantityConfig.filterCoefficientRSRQ = 3;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3670
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3671
            case 4:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3672
              measConfig->quantityConfig.filterCoefficientRSRQ = 4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3673
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3674
            case 5:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3675
              measConfig->quantityConfig.filterCoefficientRSRQ = 5;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3676
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3677
            case 6:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3678
              measConfig->quantityConfig.filterCoefficientRSRQ = 6;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3679
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3680
            case 7:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3681
              measConfig->quantityConfig.filterCoefficientRSRQ = 7;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3682
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3683
            case 8:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3684
              measConfig->quantityConfig.filterCoefficientRSRQ = 8;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3685
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3686
            case 9:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3687
              measConfig->quantityConfig.filterCoefficientRSRQ = 9;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3688
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3689
            case 10:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3690
              measConfig->quantityConfig.filterCoefficientRSRQ = 11;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3691
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3692
            case 11:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3693
              measConfig->quantityConfig.filterCoefficientRSRQ = 13;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3694
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3695
            case 12:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3696
              measConfig->quantityConfig.filterCoefficientRSRQ = 15;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3697
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3698
            case 13:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3699
              measConfig->quantityConfig.filterCoefficientRSRQ = 17;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3700
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3701
            case 14:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3702
              measConfig->quantityConfig.filterCoefficientRSRQ = 19;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3703
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3704
            case 15:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3705
              measConfig->quantityConfig.filterCoefficientRSRQ = 0;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3706
              break;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3707
            default:
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3708
              measConfig->quantityConfig.filterCoefficientRSRQ = 4;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3709
            }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3710
        }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3711
      if (quantityConfigOpts[2])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3712
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3713
          // quantityConfigUTRA
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3714
          // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3715
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3716
      if (quantityConfigOpts[1])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3717
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3718
          // quantityConfigGERAN
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3719
          // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3720
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3721
      if (quantityConfigOpts[0])
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3722
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3723
          // quantityConfigCDMA2000
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3724
          // ...
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3725
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3726
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3727
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3728
  measConfig->haveMeasGapConfig = bitset11[3];
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3729
  if (measConfig->haveMeasGapConfig)
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3730
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3731
      // measGapConfig
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3732
      int measGapConfigChoice;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3733
      bIterator = DeserializeChoice (2, false, &measGapConfigChoice, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3734
      switch (measGapConfigChoice)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3735
        {
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3736
        case 0:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3737
          measConfig->measGapConfig.type = LteRrcSap::MeasGapConfig::RESET;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3738
          bIterator = DeserializeNull (bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3739
          break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3740
        case 1:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3741
        default:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3742
          measConfig->measGapConfig.type = LteRrcSap::MeasGapConfig::SETUP;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3743
          bIterator = DeserializeSequence (&bitset0, false, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3744
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3745
          int gapOffsetChoice;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3746
          bIterator = DeserializeChoice (2, true, &gapOffsetChoice, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3747
          switch (gapOffsetChoice)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3748
            {
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3749
            case 0:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3750
              measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::GP0;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3751
              bIterator = DeserializeInteger (&n, 0, 39, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3752
              measConfig->measGapConfig.gapOffsetValue = n;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3753
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3754
            case 1:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3755
            default:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Lluís Parcerisa <parcerisa@gmail.com>
parents: 9989
diff changeset
  3756
              measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::GP1;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3757
              bIterator = DeserializeInteger (&n, 0, 79, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3758
              measConfig->measGapConfig.gapOffsetValue = n;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3759
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3760
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3761
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3762
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3763
  measConfig->haveSmeasure = bitset11[2];
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3764
  if (measConfig->haveSmeasure)
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3765
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3766
      // s-Measure
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3767
      bIterator = DeserializeInteger (&n, 0, 97, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3768
      measConfig->sMeasure = n;
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3769
    }
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3770
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3771
  if (bitset11[1])
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3772
    {
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3773
      // preRegistrationInfoHRPD
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3774
      // ...
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3775
    }
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
  measConfig->haveSpeedStatePars = bitset11[0];
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3778
  if (measConfig->haveSpeedStatePars)
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3779
    {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3780
      // speedStatePars
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3781
      int speedStateParsChoice;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3782
      bIterator = DeserializeChoice (2, false, &speedStateParsChoice, bIterator);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3783
      switch (speedStateParsChoice)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3784
        {
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3785
        case 0:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3786
          measConfig->speedStatePars.type = LteRrcSap::SpeedStatePars::RESET;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3787
          bIterator = DeserializeNull (bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3788
          break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3789
        case 1:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3790
        default:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3791
          measConfig->speedStatePars.type = LteRrcSap::SpeedStatePars::SETUP;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3792
          bIterator = DeserializeSequence (&bitset0, false, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3793
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3794
          // Deserialize mobilityStateParameters
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3795
          // Deserialize t-Evaluation
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3796
          bIterator = DeserializeEnum (8, &n, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3797
          switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3798
            {
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3799
            case 0:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3800
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 30;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3801
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3802
            case 1:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3803
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 60;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3804
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3805
            case 2:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3806
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 120;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3807
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3808
            case 3:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3809
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 180;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3810
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3811
            case 4:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3812
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 240;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3813
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3814
            default:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3815
              measConfig->speedStatePars.mobilityStateParameters.tEvaluation = 0;
9665
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
          // Deserialize t-HystNormal
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3818
          bIterator = DeserializeEnum (8, &n, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3819
          switch (n)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3820
            {
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3821
            case 0:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3822
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 30;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3823
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3824
            case 1:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3825
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 60;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3826
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3827
            case 2:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3828
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 120;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3829
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3830
            case 3:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3831
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 180;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3832
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3833
            case 4:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3834
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 240;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3835
              break;
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3836
            default:
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3837
              measConfig->speedStatePars.mobilityStateParameters.tHystNormal = 0;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3838
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3839
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3840
          bIterator = DeserializeInteger (&n, 1, 16, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3841
          measConfig->speedStatePars.mobilityStateParameters.nCellChangeMedium = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3842
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3843
          bIterator = DeserializeInteger (&n, 1, 16, bIterator);
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3844
          measConfig->speedStatePars.mobilityStateParameters.nCellChangeHigh = n;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3845
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3846
          // Deserialize timeToTriggerSf
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3847
          bIterator = DeserializeEnum (4, &n, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3848
          measConfig->speedStatePars.timeToTriggerSf.sfMedium = (n + 1) * 25;
9663
2bd6a996e80a Add deserialization code for MeasConfig IE.
lluis <parcerisa@gmail.com>
parents: 9662
diff changeset
  3849
          bIterator = DeserializeEnum (4, &n, bIterator);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3850
          measConfig->speedStatePars.timeToTriggerSf.sfHigh = (n + 1) * 25;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  3851
        }
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3852
    }
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3853
  return bIterator;
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  3854
}
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3855
//////////////////// RrcConnectionRequest class ////////////////////////
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3856
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3857
// 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
  3858
RrcConnectionRequestHeader::RrcConnectionRequestHeader () : RrcUlCcchMessage ()
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3859
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3860
  m_mmec = std::bitset<8> (0ul);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3861
  m_mTmsi = std::bitset<32> (0ul);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3862
  m_establishmentCause = MO_SIGNALLING;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3863
  m_spare = std::bitset<1> (0ul);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3864
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3865
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3866
// Destructor
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3867
RrcConnectionRequestHeader::~RrcConnectionRequestHeader ()
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3868
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3869
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3870
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3871
TypeId
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3872
RrcConnectionRequestHeader::GetTypeId (void)
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3873
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3874
  static TypeId tid = TypeId ("ns3::RrcConnectionRequestHeader")
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3875
    .SetParent<Header> ()
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3876
  ;
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3877
  return tid;
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3878
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3879
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3880
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3881
RrcConnectionRequestHeader::Print (std::ostream &os) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3882
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3883
  os << "MMEC:" << m_mmec << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3884
  os << "MTMSI:" << m_mTmsi << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3885
  os << "EstablishmentCause:" << m_establishmentCause << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3886
  os << "Spare: " << m_spare << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3887
}
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
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3890
RrcConnectionRequestHeader::PreSerialize () const
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_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3893
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  3894
  SerializeUlCcchMessage (1);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  3895
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3896
  // Serialize RRCConnectionRequest sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3897
  // 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
  3898
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3899
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3900
  // Serialize criticalExtensions choice:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3901
  // 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
  3902
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3903
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3904
  // Serialize RRCConnectionRequest-r8-IEs sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3905
  // 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
  3906
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3907
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3908
  // Serialize InitialUE-Identity choice:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3909
  // 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
  3910
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3911
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3912
  // Serialize S-TMSI sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3913
  // 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
  3914
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3915
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3916
  // 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
  3917
  SerializeBitstring (m_mmec);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3918
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3919
  // 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
  3920
  SerializeBitstring (m_mTmsi);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3921
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3922
  // Serialize establishmentCause : EstablishmentCause ::= ENUMERATED
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3923
  SerializeEnum (8,m_establishmentCause);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3924
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3925
  // Serialize spare : BIT STRING (SIZE (1))
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  3926
  SerializeBitstring (std::bitset<1> ());
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3927
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3928
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3929
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3930
}
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
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3933
RrcConnectionRequestHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3934
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3935
  std::bitset<1> dummy;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3936
  std::bitset<0> optionalOrDefaultMask;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3937
  int selectedOption;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3938
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  3939
  bIterator = DeserializeUlCcchMessage (bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  3940
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3941
  // Deserialize RCConnectionRequest sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3942
  bIterator = DeserializeSequence (&optionalOrDefaultMask,false,bIterator);
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
  // Deserialize criticalExtensions choice:
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  3945
  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
  3946
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3947
  // Deserialize RRCConnectionRequest-r8-IEs sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3948
  bIterator = DeserializeSequence (&optionalOrDefaultMask,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3949
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3950
  // Deserialize InitialUE-Identity choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  3951
  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
  3952
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3953
  // Deserialize S-TMSI sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3954
  bIterator = DeserializeSequence (&optionalOrDefaultMask,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3955
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3956
  // Deserialize mmec
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3957
  bIterator = DeserializeBitstring (&m_mmec,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3958
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3959
  // Deserialize m-TMSI
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3960
  bIterator = DeserializeBitstring (&m_mTmsi,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3961
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3962
  // Deserialize establishmentCause
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3963
  bIterator = DeserializeEnum (8,&selectedOption,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3964
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3965
  // Deserialize spare
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3966
  bIterator = DeserializeBitstring (&dummy,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3967
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3968
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3969
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3970
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3971
void
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3972
RrcConnectionRequestHeader::SetMessage (LteRrcSap::RrcConnectionRequest msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3973
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3974
  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
  3975
  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
  3976
  m_isDataSerialized = false;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3977
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3978
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  3979
LteRrcSap::RrcConnectionRequest
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  3980
RrcConnectionRequestHeader::GetMessage () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  3981
{
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  3982
  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
  3983
  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
  3984
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  3985
  return msg;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  3986
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  3987
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3988
std::bitset<8>
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  3989
RrcConnectionRequestHeader::GetMmec () const
9443
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
  return m_mmec;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3992
}
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
std::bitset<32>
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  3995
RrcConnectionRequestHeader::GetMtmsi () const
9443
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
  return m_mTmsi;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  3998
}
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4001
//////////////////// RrcConnectionSetup class ////////////////////////
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4002
RrcConnectionSetupHeader::RrcConnectionSetupHeader ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4003
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4004
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4005
 
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4006
RrcConnectionSetupHeader::~RrcConnectionSetupHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4007
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4008
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4009
 
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4010
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4011
RrcConnectionSetupHeader::Print (std::ostream &os) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4012
{
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
  4013
  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
  4014
  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
  4015
  RrcAsn1Header::Print (os,m_radioResourceConfigDedicated);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4016
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4017
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4018
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4019
RrcConnectionSetupHeader::PreSerialize () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4020
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4021
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4022
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4023
  SerializeDlCcchMessage (3);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4024
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4025
  SerializeInteger (15,0,15);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4026
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4027
  // Serialize RRCConnectionSetup sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4028
  // 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
  4029
  SerializeSequence (std::bitset<0> (),false);
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
  // 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
  4032
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4033
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4034
  // Serialize criticalExtensions choice:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4035
  // 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
  4036
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4037
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4038
  // Serialize c1 choice:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4039
  // 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
  4040
  SerializeChoice (8,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4041
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4042
  // Serialize rrcConnectionSetup-r8 sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4043
  // 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
  4044
  SerializeSequence (std::bitset<1> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4045
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4046
  // 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
  4047
  SerializeRadioResourceConfigDedicated (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
  // Serialize nonCriticalExtension sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4050
  // 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
  4051
  SerializeSequence (std::bitset<2> (0),false);
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
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4054
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4055
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4056
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4057
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4058
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4059
RrcConnectionSetupHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4060
{
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
  4061
  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
  4062
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4063
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4064
  std::bitset<1> bitset1;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4065
  std::bitset<2> bitset2;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4066
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4067
  bIterator = DeserializeDlCcchMessage (bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4068
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4069
  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
  4070
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
  4071
  // Deserialize RRCConnectionSetup sequence
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4072
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
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
  // Deserialize rrc-TransactionIdentifier ::=INTEGER (0..3)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4075
  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
  4076
  m_rrcTransactionIdentifier = n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4077
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4078
  // Deserialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4079
  int criticalExtensionChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4080
  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
  4081
  if (criticalExtensionChoice == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4082
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4083
      // Deserialize criticalExtensionsFuture
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4084
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4085
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4086
  else if (criticalExtensionChoice == 0)
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
      // Deserialize c1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4089
      int c1;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4090
      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
  4091
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4092
      if (c1 > 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4093
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4094
          // Deserialize spareX , X:=7..1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4095
          bIterator = DeserializeNull (bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4096
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4097
      else if (c1 == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4098
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4099
          // Deserialize rrcConnectionSetup-r8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4100
          // 1 optional fields, no extension marker.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4101
          bIterator = DeserializeSequence (&bitset1,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4102
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4103
          // 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
  4104
          bIterator = DeserializeRadioResourceConfigDedicated (&m_radioResourceConfigDedicated,bIterator);
9443
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
          if (bitset1[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4107
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4108
              // Deserialize nonCriticalExtension
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4109
              // 2 optional fields, no extension marker.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4110
              bIterator = DeserializeSequence (&bitset2,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4111
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4112
              // Deserialization of lateR8NonCriticalExtension and nonCriticalExtension
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4113
              // ...
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
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4116
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4117
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4118
}
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
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4121
RrcConnectionSetupHeader::SetMessage (LteRrcSap::RrcConnectionSetup msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4122
{
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
  4123
  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
  4124
  m_radioResourceConfigDedicated = msg.radioResourceConfigDedicated;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4125
  m_isDataSerialized = false;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4126
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4127
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
  4128
LteRrcSap::RrcConnectionSetup
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4129
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
  4130
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4131
  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
  4132
  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
  4133
  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
  4134
  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
  4135
}
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
  4136
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4137
uint8_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4138
RrcConnectionSetupHeader::GetRrcTransactionIdentifier () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4139
{
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
  4140
  return m_rrcTransactionIdentifier;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4141
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4142
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4143
bool
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4144
RrcConnectionSetupHeader::HavePhysicalConfigDedicated () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4145
{
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
  4146
  return m_radioResourceConfigDedicated.havePhysicalConfigDedicated;
9443
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
std::list<LteRrcSap::SrbToAddMod>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4150
RrcConnectionSetupHeader::GetSrbToAddModList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4151
{
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
  4152
  return m_radioResourceConfigDedicated.srbToAddModList;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4153
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4154
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4155
std::list<LteRrcSap::DrbToAddMod>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4156
RrcConnectionSetupHeader::GetDrbToAddModList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4157
{
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
  4158
  return m_radioResourceConfigDedicated.drbToAddModList;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4159
} 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4160
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4161
std::list<uint8_t>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4162
RrcConnectionSetupHeader::GetDrbToReleaseList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4163
{
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
  return m_radioResourceConfigDedicated.drbToReleaseList;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4165
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4166
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4167
LteRrcSap::PhysicalConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4168
RrcConnectionSetupHeader::GetPhysicalConfigDedicated () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4169
{
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
  4170
  return m_radioResourceConfigDedicated.physicalConfigDedicated;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4171
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4172
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4173
LteRrcSap::RadioResourceConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4174
RrcConnectionSetupHeader::GetRadioResourceConfigDedicated () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4175
{
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
  4176
  return m_radioResourceConfigDedicated;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4177
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4178
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4179
//////////////////// RrcConnectionSetupCompleteHeader class ////////////////////////
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
RrcConnectionSetupCompleteHeader::RrcConnectionSetupCompleteHeader ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4182
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4183
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4184
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4185
RrcConnectionSetupCompleteHeader::~RrcConnectionSetupCompleteHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4186
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4187
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4188
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4189
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4190
RrcConnectionSetupCompleteHeader::PreSerialize () const
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
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4193
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4194
  // Serialize DCCH message
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4195
  SerializeUlDcchMessage (4);
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4196
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4197
  // Serialize RRCConnectionSetupComplete sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4198
  // 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
  4199
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4200
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4201
  // Serialize rrc-TransactionIdentifier
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4202
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
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
  // Serialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4205
  // 2 options, selected 0 (c1)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4206
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4207
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4208
  // Choose spare3 NULL
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4209
  SerializeChoice (4,1,false);
9443
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
  // Serialize spare3 NULL
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4212
  SerializeNull ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4213
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4214
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4215
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4216
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4217
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4218
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4219
RrcConnectionSetupCompleteHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4220
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4221
  std::bitset<0> bitset0;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4222
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4223
  bIterator = DeserializeUlDcchMessage (bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4224
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4225
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4226
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4227
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4228
  bIterator = DeserializeInteger (&n,0,3,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4229
  m_rrcTransactionIdentifier = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4230
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4231
  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
  4232
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4233
  if (n == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4234
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4235
      // Deserialize criticalExtensionsFuture
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4236
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4237
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4238
  else if (n == 0)
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
      // Deserialize c1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4241
      int c1Chosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4242
      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
  4243
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4244
      if (c1Chosen == 0)
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
          // Deserialize rrcConnectionSetupComplete-r8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4247
          // ...
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
      else
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4250
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4251
          bIterator = DeserializeNull (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
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4254
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4255
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4256
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4257
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4258
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4259
RrcConnectionSetupCompleteHeader::Print (std::ostream &os) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4260
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4261
  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
  4262
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4263
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4264
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4265
RrcConnectionSetupCompleteHeader::SetMessage (LteRrcSap::RrcConnectionSetupCompleted msg)
9443
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
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4268
  m_isDataSerialized = false;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4271
uint8_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4272
RrcConnectionSetupCompleteHeader::GetRrcTransactionIdentifier () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4273
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4274
  return m_rrcTransactionIdentifier;
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
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4277
LteRrcSap::RrcConnectionSetupCompleted
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4278
RrcConnectionSetupCompleteHeader::GetMessage () const
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4279
{
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4280
  LteRrcSap::RrcConnectionSetupCompleted msg;
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4281
  msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4282
  return msg;
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4283
}
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4284
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4285
//////////////////// RrcConnectionReconfigurationCompleteHeader class ////////////////////////
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
RrcConnectionReconfigurationCompleteHeader::RrcConnectionReconfigurationCompleteHeader ()
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
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4291
RrcConnectionReconfigurationCompleteHeader::~RrcConnectionReconfigurationCompleteHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4292
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4293
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4294
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4295
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4296
RrcConnectionReconfigurationCompleteHeader::PreSerialize () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4297
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4298
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4299
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4300
  // Serialize DCCH message
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4301
  SerializeUlDcchMessage (2);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4302
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4303
  // Serialize RRCConnectionSetupComplete sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4304
  // 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
  4305
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4306
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4307
  // Serialize rrc-TransactionIdentifier
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4308
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4309
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4310
  // Serialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4311
  // 2 options, selected 1 (criticalExtensionsFuture)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4312
  SerializeChoice (2,1,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4313
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4314
  // 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
  4315
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4316
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4317
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4318
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4319
}
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
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4322
RrcConnectionReconfigurationCompleteHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4323
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4324
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4325
  int n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4326
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4327
  bIterator = DeserializeUlDcchMessage (bIterator);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  4328
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  4329
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4330
  bIterator = DeserializeInteger (&n,0,3,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4331
  m_rrcTransactionIdentifier = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4332
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4333
  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
  4334
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4335
  if (n == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4336
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4337
      // Deserialize criticalExtensionsFuture
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4338
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4339
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4340
  else if (n == 0)
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
      // Deserialize rrcConnectionReconfigurationComplete-r8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4343
      // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4344
    }
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
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4347
}
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
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4350
RrcConnectionReconfigurationCompleteHeader::Print (std::ostream &os) const
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
  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
  4353
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4354
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4355
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4356
RrcConnectionReconfigurationCompleteHeader::SetMessage (LteRrcSap::RrcConnectionReconfigurationCompleted msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4357
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4358
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4359
  m_isDataSerialized = false;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4360
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4361
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4362
LteRrcSap::RrcConnectionReconfigurationCompleted
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4363
RrcConnectionReconfigurationCompleteHeader::GetMessage () const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4364
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4365
  LteRrcSap::RrcConnectionReconfigurationCompleted msg;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4366
  msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4367
  return msg;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4368
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4369
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4370
uint8_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4371
RrcConnectionReconfigurationCompleteHeader::GetRrcTransactionIdentifier () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4372
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4373
  return m_rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4374
}
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
//////////////////// RrcConnectionReconfigurationHeader class ////////////////////////
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
RrcConnectionReconfigurationHeader::RrcConnectionReconfigurationHeader ()
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
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4382
RrcConnectionReconfigurationHeader::~RrcConnectionReconfigurationHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4383
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4384
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4385
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4386
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4387
RrcConnectionReconfigurationHeader::PreSerialize () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4388
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4389
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4390
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4391
  SerializeDlDcchMessage (4);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4392
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4393
  // Serialize RRCConnectionSetupComplete sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4394
  // 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
  4395
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4396
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4397
  // Serialize rrc-TransactionIdentifier
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4398
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4399
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4400
  // Serialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4401
  // 2 options, selected 0 (c1)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4402
  SerializeChoice (2,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4403
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4404
  // Serialize c1 choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4405
  // 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
  4406
  SerializeChoice (8,0,false);
9443
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
  // Serialize RRCConnectionReconfiguration-r8-IEs sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4409
  // 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
  4410
  std::bitset<6> options;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4411
  options.set (5,m_haveMeasConfig);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4412
  options.set (4,m_haveMobilityControlInfo);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4413
  options.set (3,0); // No dedicatedInfoNASList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4414
  options.set (2,m_haveRadioResourceConfigDedicated);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4415
  options.set (1,0); // No securityConfigHO
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4416
  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
  4417
  SerializeSequence (options,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4418
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4419
  if (m_haveMeasConfig)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4420
    {
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  4421
      SerializeMeasConfig (m_measConfig);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4422
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4423
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4424
  if (m_haveMobilityControlInfo)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4425
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4426
      // Serialize MobilityControlInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4427
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4428
      // 4 optional fields, extension marker present.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4429
      std::bitset<4> mobCtrlIntoOptional;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4430
      mobCtrlIntoOptional.set (3,m_mobilityControlInfo.haveCarrierFreq);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4431
      mobCtrlIntoOptional.set (2,m_mobilityControlInfo.haveCarrierBandwidth);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4432
      mobCtrlIntoOptional.set (1,0); // No additionalSpectrumEmission
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4433
      mobCtrlIntoOptional.set (0,m_mobilityControlInfo.haveRachConfigDedicated);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4434
      SerializeSequence (mobCtrlIntoOptional,true);
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 targetPhysCellId
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4437
      SerializeInteger (m_mobilityControlInfo.targetPhysCellId,0,503);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4438
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4439
      if (m_mobilityControlInfo.haveCarrierFreq)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4440
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4441
          SerializeSequence (std::bitset<1> (1),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4442
          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
  4443
          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
  4444
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4445
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4446
      if (m_mobilityControlInfo.haveCarrierBandwidth)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4447
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4448
          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
  4449
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4450
          // Serialize dl-Bandwidth
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4451
          switch (m_mobilityControlInfo.carrierBandwidth.dlBandwidth)
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4452
            {
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4453
            case 6:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4454
              SerializeEnum (16,0);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4455
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4456
            case 15:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4457
              SerializeEnum (16,1);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4458
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4459
            case 25:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4460
              SerializeEnum (16,2);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4461
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4462
            case 50:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4463
              SerializeEnum (16,3);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4464
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4465
            case 75:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4466
              SerializeEnum (16,4);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4467
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4468
            case 100:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4469
              SerializeEnum (16,5);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4470
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4471
            default:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4472
              SerializeEnum (16,6);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4473
            }
9573
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4474
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4475
          // Serialize ul-Bandwidth
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4476
          switch (m_mobilityControlInfo.carrierBandwidth.ulBandwidth)
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4477
            {
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4478
            case 6:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4479
              SerializeEnum (16,0);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4480
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4481
            case 15:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4482
              SerializeEnum (16,1);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4483
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4484
            case 25:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4485
              SerializeEnum (16,2);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4486
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4487
            case 50:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4488
              SerializeEnum (16,3);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4489
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4490
            case 75:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4491
              SerializeEnum (16,4);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4492
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4493
            case 100:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4494
              SerializeEnum (16,5);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4495
              break;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4496
            default:
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4497
              SerializeEnum (16,6);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4498
            }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4499
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4500
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4501
      // Serialize t304
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4502
      SerializeEnum (8,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4503
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4504
      // Serialize newUE-Identitiy
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4505
      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
  4506
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4507
      // 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
  4508
      SerializeRadioResourceConfigCommon (m_mobilityControlInfo.radioResourceConfigCommon);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4509
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4510
      if (m_mobilityControlInfo.haveRachConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4511
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4512
          SerializeSequence (std::bitset<0> (),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4513
          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
  4514
          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
  4515
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4516
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4517
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4518
  if (m_haveRadioResourceConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4519
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4520
      // Serialize RadioResourceConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4521
      SerializeRadioResourceConfigDedicated (m_radioResourceConfigDedicated);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4522
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4523
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4524
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4525
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4526
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4527
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4528
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4529
RrcConnectionReconfigurationHeader::Deserialize (Buffer::Iterator bIterator)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4530
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4531
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4532
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4533
  bIterator = DeserializeDlDcchMessage (bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4534
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4535
  // RRCConnectionReconfiguration sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4536
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4537
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4538
  // rrc-TransactionIdentifier
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4539
  int n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4540
  bIterator = DeserializeInteger (&n,0,3,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4541
  m_rrcTransactionIdentifier = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4542
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4543
  // criticalExtensions
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4544
  int sel;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4545
  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
  4546
  if (sel == 1)
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
      // criticalExtensionsFuture
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4549
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4550
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4551
  else if (sel == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4552
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4553
      // c1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4554
      int c1Chosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  4555
      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
  4556
      if (c1Chosen > 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4557
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4558
          bIterator = DeserializeNull (bIterator);
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
      else if (c1Chosen == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4561
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4562
          // rrcConnectionReconfiguration-r8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4563
          std::bitset<6> rrcConnRecOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4564
          bIterator = DeserializeSequence (&rrcConnRecOpts,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4565
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4566
          m_haveMeasConfig = rrcConnRecOpts[5];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4567
          if (m_haveMeasConfig)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4568
            {
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  4569
              bIterator = DeserializeMeasConfig (&m_measConfig, bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4570
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4571
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4572
          m_haveMobilityControlInfo = rrcConnRecOpts[4];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4573
          if (m_haveMobilityControlInfo)
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
              // mobilityControlInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4576
              std::bitset<4> mobCtrlOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4577
              bIterator = DeserializeSequence (&mobCtrlOpts,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4578
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4579
              // PhysCellId
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4580
              bIterator = DeserializeInteger (&n,0,503,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4581
              m_mobilityControlInfo.targetPhysCellId = n;
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
              // carrierFreq
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4584
              m_mobilityControlInfo.haveCarrierFreq = mobCtrlOpts[3];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4585
              if (m_mobilityControlInfo.haveCarrierFreq)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4586
                {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4587
                  std::bitset<1> ulCarrierFreqPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4588
                  bIterator = DeserializeSequence (&ulCarrierFreqPresent,false,bIterator);
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 = DeserializeInteger (&n,0,MAX_EARFCN,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4591
                  m_mobilityControlInfo.carrierFreq.dlCarrierFreq = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4592
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4593
                  if (ulCarrierFreqPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4594
                    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4595
                      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
  4596
                      m_mobilityControlInfo.carrierFreq.ulCarrierFreq = n;
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
                }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4599
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4600
              // carrierBandwidth
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4601
              m_mobilityControlInfo.haveCarrierBandwidth = mobCtrlOpts[2];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4602
              if (m_mobilityControlInfo.haveCarrierBandwidth)
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
                  std::bitset<1> ulBandwidthPresent;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4605
                  bIterator = DeserializeSequence (&ulBandwidthPresent,false,bIterator);
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
                  bIterator = DeserializeEnum (16,&n,bIterator);
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4608
                  switch (n)
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4609
                    {
9573
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4610
                    case 0:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4611
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 6;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4612
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4613
                    case 1:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4614
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 15;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4615
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4616
                    case 2:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4617
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 25;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4618
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4619
                    case 3:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4620
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 50;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4621
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4622
                    case 4:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4623
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 75;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4624
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4625
                    case 5:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4626
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 100;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4627
                      break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4628
                    case 6:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4629
                      m_mobilityControlInfo.carrierBandwidth.dlBandwidth = 0;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4630
                      break;
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4631
                    }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4632
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4633
                  if (ulBandwidthPresent[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4634
                    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4635
                      bIterator = DeserializeEnum (16,&n,bIterator);
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4636
                      switch (n)
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4637
                        {
9573
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4638
                        case 0:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4639
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 6;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4640
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4641
                        case 1:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4642
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 15;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4643
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4644
                        case 2:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4645
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 25;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4646
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4647
                        case 3:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4648
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 50;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4649
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4650
                        case 4:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4651
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 75;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4652
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4653
                        case 5:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4654
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 100;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4655
                          break;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4656
                        case 6:
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4657
                          m_mobilityControlInfo.carrierBandwidth.ulBandwidth = 0;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  4658
                          break;
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  4659
                        }
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4660
                    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4661
                }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4662
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4663
              // additionalSpectrumEmission
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4664
              if (mobCtrlOpts[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4665
                {
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
                }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4668
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4669
              // t304
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4670
              bIterator = DeserializeEnum (8,&n,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4671
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4672
              // newUE-Identity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4673
              std::bitset<16> cRnti;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4674
              bIterator = DeserializeBitstring (&cRnti, bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4675
              m_mobilityControlInfo.newUeIdentity = cRnti.to_ulong ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4676
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4677
              // 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
  4678
              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
  4679
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4680
              m_mobilityControlInfo.haveRachConfigDedicated = mobCtrlOpts[0];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4681
              if (m_mobilityControlInfo.haveRachConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4682
                {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4683
                  bIterator = DeserializeSequence (&bitset0, false, bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4684
                  bIterator = DeserializeInteger (&n,0,63, bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4685
                  m_mobilityControlInfo.rachConfigDedicated.raPreambleIndex = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4686
                  bIterator = DeserializeInteger (&n,0,15, bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4687
                  m_mobilityControlInfo.rachConfigDedicated.raPrachMaskIndex = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4688
                }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4689
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4690
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4691
          // dedicatedInfoNASList
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4692
          if (rrcConnRecOpts[3])
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
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4696
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4697
          // radioResourceConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4698
          m_haveRadioResourceConfigDedicated = rrcConnRecOpts[2];
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4699
          if (m_haveRadioResourceConfigDedicated)
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
              bIterator = DeserializeRadioResourceConfigDedicated (&m_radioResourceConfigDedicated,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4702
            }
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
          // securityConfigHO
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4705
          if (rrcConnRecOpts[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4706
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4707
              // ...
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4710
          // nonCriticalExtension
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4711
          if (rrcConnRecOpts[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4712
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4713
              // ...
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
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4716
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4717
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4718
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4719
}
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
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4722
RrcConnectionReconfigurationHeader::Print (std::ostream &os) const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4723
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4724
  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
  4725
  os << "haveMeasConfig: " << m_haveMeasConfig << std::endl;
9989
830199200fe3 Fix print of the MeasConfig IE
Manuel Requena <manuel.requena@cttc.es>
parents: 9982
diff changeset
  4726
  if (m_haveMeasConfig)
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4727
    {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4728
      if (!m_measConfig.measObjectToRemoveList.empty ())
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4729
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4730
          os << "  measObjectToRemoveList: ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4731
          std::list<uint8_t> auxList = m_measConfig.measObjectToRemoveList;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4732
          std::list<uint8_t>::iterator it = auxList.begin ();
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4733
          for (; it != auxList.end (); it++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4734
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4735
              os << (int) *it << ", ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4736
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4737
          os << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4738
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4739
      if (!m_measConfig.reportConfigToRemoveList.empty ())
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4740
        {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4741
          os << "  reportConfigToRemoveList: ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4742
          std::list<uint8_t> auxList = m_measConfig.reportConfigToRemoveList;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4743
          std::list<uint8_t>::iterator it = auxList.begin ();
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4744
          for (; it != auxList.end (); it++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4745
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4746
              os << (int) *it << ", ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4747
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4748
          os << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4749
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4750
      if (!m_measConfig.measIdToRemoveList.empty ())
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4751
        {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4752
          os << "  measIdToRemoveList: ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4753
          std::list<uint8_t> auxList = m_measConfig.measIdToRemoveList;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4754
          std::list<uint8_t>::iterator it = auxList.begin ();
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4755
          for (; it != auxList.end (); it++)
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4756
            {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4757
              os << (int) *it << ", ";
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4758
            }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4759
          os << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4760
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4761
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4762
      if (!m_measConfig.measObjectToAddModList.empty ())
9980
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4763
        {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4764
          os << "  measObjectToAddMod: " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4765
          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
  4766
          std::list<LteRrcSap::MeasObjectToAddMod>::iterator it = auxList.begin ();
9980
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4767
          for (; it != auxList.end (); it++)
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4768
            {
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4769
              os << "    measObjectId: " << (int)it->measObjectId << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4770
              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
  4771
              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
  4772
              os << "    presenceAntennaPort1: " <<  it->measObjectEutra.presenceAntennaPort1  << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4773
              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
  4774
              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
  4775
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4776
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4777
              if (!it->measObjectEutra.cellsToRemoveList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4778
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4779
                  os << "    cellsToRemoveList: ";
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4780
                  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
  4781
                  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
  4782
                  for (; it != auxList.end (); it++)
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4783
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4784
                      os << (int) *it << ", ";
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4785
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4786
                  os << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4787
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4788
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4789
              if (!it->measObjectEutra.blackCellsToRemoveList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4790
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4791
                  os << "    blackCellsToRemoveList: ";
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4792
                  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
  4793
                  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
  4794
                  for (; it != auxList.end (); it++)
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4795
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4796
                      os << (int) *it << ", ";
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4797
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4798
                  os << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4799
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4800
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4801
              if (!it->measObjectEutra.cellsToAddModList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4802
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4803
                  os << "    cellsToAddModList: " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4804
                  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
  4805
                  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
  4806
                  for (; it != auxList.end (); it++)
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
                      os << "      cellIndex: " <<  (int)it->cellIndex << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4809
                      os << "      physCellId: " <<  (int)it->physCellId  << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4810
                      os << "      cellIndividualOffset: " <<  (int)it->cellIndividualOffset << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4811
                      os << "      ------ " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4812
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4813
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4814
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4815
              if (!it->measObjectEutra.blackCellsToAddModList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4816
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4817
                  os << "    blackCellsToAddModList: " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4818
                  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
  4819
                  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
  4820
                  for (; it != auxList.end (); it++)
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4821
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4822
                      os << "      cellIndex: " <<  (int)it->cellIndex << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4823
                      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
  4824
                      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
  4825
                      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
  4826
                      os << "      ------ " << std::endl;
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
                }
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 << "    haveCellForWhichToReportCGI: " <<  it->measObjectEutra.haveCellForWhichToReportCGI  << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4831
              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
  4832
              os << "    ------------- " << std::endl;
9980
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4833
            }
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4834
9980
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4835
        }
9981
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4836
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4837
      if (!m_measConfig.reportConfigToAddModList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4838
        {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4839
          os << "  reportConfigToAddModList: " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4840
          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
  4841
          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
  4842
          for (; it != auxList.end (); it++)
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4843
            {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4844
              os << "    reportConfigId: " << (int)it->reportConfigId << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4845
              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
  4846
              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
  4847
                {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4848
                  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
  4849
                  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
  4850
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4851
                      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
  4852
                      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
  4853
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4854
                  else
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4855
                    {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4856
                      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
  4857
                      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
  4858
                      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
  4859
                        {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4860
                          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
  4861
                          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
  4862
                        }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4863
                    }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4864
                  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
  4865
                  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
  4866
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4867
              else
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
                  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
  4870
                }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4871
              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
  4872
              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
  4873
              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
  4874
              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
  4875
              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
  4876
            }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4877
        }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4878
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4879
      if (!m_measConfig.measIdToAddModList.empty ())
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4880
        {
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4881
          os << "  measIdToAddModList: " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4882
          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
  4883
          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
  4884
          for (; it != auxList.end (); it++)
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
              os << "    measId: " << (int)it->measId << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4887
              os << "    measObjectId: " << (int)it->measObjectId << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4888
              os << "    reportConfigId: " << (int)it->reportConfigId << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4889
              os << "    ------ " << std::endl;
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4890
            }
a6c0b040cca9 Finish MeasConfig test. Fix serialization/deserialization bugs.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9980
diff changeset
  4891
        }
9980
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9651
diff changeset
  4892
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4893
      os << "  haveQuantityConfig: " << m_measConfig.haveQuantityConfig << std::endl;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4894
      if (m_measConfig.haveQuantityConfig)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4895
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4896
          os << "    filterCoefficientRSRP: " << (int)m_measConfig.quantityConfig.filterCoefficientRSRP << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4897
          os << "    filterCoefficientRSRQ:" << (int)m_measConfig.quantityConfig.filterCoefficientRSRQ  << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4898
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4899
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4900
      os << "  haveMeasGapConfig: " << m_measConfig.haveMeasGapConfig << std::endl;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4901
      if (m_measConfig.haveMeasGapConfig)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4902
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4903
          os << "    measGapConfig.type: " << m_measConfig.measGapConfig.type << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4904
          os << "    measGapConfig.gap (gap0/1,value): (" << m_measConfig.measGapConfig.gapOffsetChoice
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4905
             << "," << (int) m_measConfig.measGapConfig.gapOffsetValue << ")" << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4906
        }
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4907
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4908
      os << "  haveSmeasure: " << m_measConfig.haveSmeasure << std::endl;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4909
      if (m_measConfig.haveSmeasure)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4910
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4911
          os << "    sMeasure: " << (int) m_measConfig.sMeasure  << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4912
        }
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4913
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4914
      os << "  haveSpeedStatePars: " << m_measConfig.haveSpeedStatePars << std::endl;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4915
      if (m_measConfig.haveSpeedStatePars)
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4916
        {
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4917
          os << "    speedStatePars.type: " << m_measConfig.speedStatePars.type << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4918
          os << "    speedStatePars.mobilityStateParameters.tEvaluation: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.tEvaluation << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4919
          os << "    speedStatePars.mobilityStateParameters.tHystNormal: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.tHystNormal << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4920
          os << "    speedStatePars.mobilityStateParameters.nCellChangeMedium: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.nCellChangeMedium << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4921
          os << "    speedStatePars.mobilityStateParameters.nCellChangeHigh: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.nCellChangeHigh << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4922
          os << "    speedStatePars.timeToTriggerSf.sfMedium: " << (int)m_measConfig.speedStatePars.timeToTriggerSf.sfMedium << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4923
          os << "    speedStatePars.timeToTriggerSf.sfHigh: " << (int)m_measConfig.speedStatePars.timeToTriggerSf.sfHigh << std::endl;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4924
        }
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9663
diff changeset
  4925
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
  4926
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4927
  os << "haveMobilityControlInfo: " << m_haveMobilityControlInfo << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4928
  if (m_haveMobilityControlInfo)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4929
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4930
      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
  4931
      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
  4932
      if (m_mobilityControlInfo.haveCarrierFreq)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4933
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4934
          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
  4935
          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
  4936
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4937
      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
  4938
      if (m_mobilityControlInfo.haveCarrierBandwidth)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4939
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4940
          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
  4941
          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
  4942
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4943
      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
  4944
      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
  4945
      if (m_mobilityControlInfo.haveRachConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4946
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4947
          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
  4948
          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
  4949
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4950
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4951
  os << "haveRadioResourceConfigDedicated: " << m_haveRadioResourceConfigDedicated << std::endl;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4952
  if (m_haveRadioResourceConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4953
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4954
      RrcAsn1Header::Print (os,m_radioResourceConfigDedicated);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4955
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4956
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4957
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4958
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4959
RrcConnectionReconfigurationHeader::SetMessage (LteRrcSap::RrcConnectionReconfiguration msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4960
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4961
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4962
  m_haveMeasConfig = msg.haveMeasConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4963
  m_measConfig = msg.measConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4964
  m_haveMobilityControlInfo = msg.haveMobilityControlInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4965
  m_mobilityControlInfo = msg.mobilityControlInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4966
  m_haveRadioResourceConfigDedicated = msg.haveRadioResourceConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4967
  m_radioResourceConfigDedicated = msg.radioResourceConfigDedicated;
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
  m_isDataSerialized = false;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4970
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4971
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4972
LteRrcSap::RrcConnectionReconfiguration
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4973
RrcConnectionReconfigurationHeader::GetMessage () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4974
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  4975
  LteRrcSap::RrcConnectionReconfiguration msg;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4976
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4977
  msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4978
  msg.haveMeasConfig = m_haveMeasConfig;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4979
  msg.measConfig = m_measConfig;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4980
  msg.haveMobilityControlInfo = m_haveMobilityControlInfo;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4981
  msg.mobilityControlInfo = m_mobilityControlInfo;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4982
  msg.haveRadioResourceConfigDedicated = m_haveRadioResourceConfigDedicated;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4983
  msg.radioResourceConfigDedicated = m_radioResourceConfigDedicated;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4984
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4985
  return msg;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  4986
}
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  4987
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4988
uint8_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4989
RrcConnectionReconfigurationHeader::GetRrcTransactionIdentifier () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4990
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4991
  return m_rrcTransactionIdentifier;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4994
bool
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4995
RrcConnectionReconfigurationHeader::GetHaveMeasConfig ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4996
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4997
  return m_haveMeasConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4998
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  4999
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5000
LteRrcSap::MeasConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5001
RrcConnectionReconfigurationHeader::GetMeasConfig ()
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
  return m_measConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5004
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5005
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5006
bool
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5007
RrcConnectionReconfigurationHeader::GetHaveMobilityControlInfo ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5008
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5009
  return m_haveMobilityControlInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5010
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5011
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5012
LteRrcSap::MobilityControlInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5013
RrcConnectionReconfigurationHeader::GetMobilityControlInfo ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5014
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5015
  return m_mobilityControlInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5016
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5017
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5018
bool
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5019
RrcConnectionReconfigurationHeader::GetHaveRadioResourceConfigDedicated ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5020
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5021
  return m_haveRadioResourceConfigDedicated;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5024
LteRrcSap::RadioResourceConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5025
RrcConnectionReconfigurationHeader::GetRadioResourceConfigDedicated ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5026
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5027
  return m_radioResourceConfigDedicated;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5030
bool
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5031
RrcConnectionReconfigurationHeader::HavePhysicalConfigDedicated () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5032
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5033
  return m_radioResourceConfigDedicated.havePhysicalConfigDedicated;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5036
std::list<LteRrcSap::SrbToAddMod> 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5037
RrcConnectionReconfigurationHeader::GetSrbToAddModList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5038
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5039
  return m_radioResourceConfigDedicated.srbToAddModList;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5042
std::list<LteRrcSap::DrbToAddMod> 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5043
RrcConnectionReconfigurationHeader::GetDrbToAddModList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5044
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5045
  return m_radioResourceConfigDedicated.drbToAddModList;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5048
std::list<uint8_t> 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5049
RrcConnectionReconfigurationHeader::GetDrbToReleaseList () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5050
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5051
  return m_radioResourceConfigDedicated.drbToReleaseList;
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
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5054
LteRrcSap::PhysicalConfigDedicated 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5055
RrcConnectionReconfigurationHeader::GetPhysicalConfigDedicated () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5056
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5057
  return m_radioResourceConfigDedicated.physicalConfigDedicated;
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
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
//////////////////// HandoverPreparationInfoHeader class ////////////////////////
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5062
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5063
HandoverPreparationInfoHeader::HandoverPreparationInfoHeader ()
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
}
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
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5068
HandoverPreparationInfoHeader::PreSerialize () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5069
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5070
  m_serializationResult = Buffer ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5071
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5072
  // Serialize HandoverPreparationInformation sequence:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5073
  // 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
  5074
  SerializeSequence (std::bitset<0> (),false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5075
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5076
  // Serialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5077
  // 2 options, selected 0 (c1)
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5078
  SerializeChoice (2,0,false);
9443
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
  // Serialize c1 choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5081
  // 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
  5082
  SerializeChoice (8,0,false);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5083
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5084
  // Serialize HandoverPreparationInformation-r8-IEs sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5085
  // 4 optional fields, no extension marker.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5086
  std::bitset<4> handoverPrepInfoOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5087
  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
  5088
  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
  5089
  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
  5090
  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
  5091
  SerializeSequence (handoverPrepInfoOpts,false);
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
  // Serialize ue-RadioAccessCapabilityInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5094
  SerializeSequenceOf (0,MAX_RAT_CAPABILITIES,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5095
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5096
  // Serialize as-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5097
  SerializeSequence (std::bitset<0> (),true);
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
  // Serialize sourceMeasConfig
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  5100
  SerializeMeasConfig (m_asConfig.sourceMeasConfig);
9443
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
  // Serialize sourceRadioResourceConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5103
  SerializeRadioResourceConfigDedicated (m_asConfig.sourceRadioResourceConfig);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5104
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5105
  // Serialize sourceSecurityAlgorithmConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5106
  SerializeSequence (std::bitset<0> (),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5107
  // cipheringAlgorithm
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5108
  SerializeEnum (8,0);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5109
  // integrityProtAlgorithm
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5110
  SerializeEnum (8,0);
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 sourceUE-Identity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5113
  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
  5114
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5115
  // Serialize sourceMasterInformationBlock
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5116
  SerializeSequence (std::bitset<0> (),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5117
  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
  5118
  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
  5119
  SerializeEnum (2,0); // phich-Duration
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5120
  SerializeEnum (4,0); // phich-Resource
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5121
  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
  5122
  SerializeBitstring (std::bitset<10> (321)); // spare
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5123
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5124
  // Serialize sourceSystemInformationBlockType1 sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5125
  SerializeSystemInformationBlockType1 (m_asConfig.sourceSystemInformationBlockType1);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5126
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5127
  // 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
  5128
  SerializeSystemInformationBlockType2 (m_asConfig.sourceSystemInformationBlockType2);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5129
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5130
  // Serialize AntennaInfoCommon 
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5131
  SerializeSequence (std::bitset<0> (0),false);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5132
  SerializeEnum (4,0); // antennaPortsCount 
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 sourceDlCarrierFreq
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5135
  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
  5136
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5137
  // Finish serialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5138
  FinalizeSerialization ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5139
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5140
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5141
uint32_t
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5142
HandoverPreparationInfoHeader::Deserialize (Buffer::Iterator bIterator)
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
  std::bitset<0> bitset0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5145
  int n;
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
  // Deserialize HandoverPreparationInformation sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5148
  // 0 optional fields, no extension marker
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5149
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5150
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5151
  // Deserialize criticalExtensions choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5152
  int criticalExtensionsChosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5153
  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
  5154
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5155
  if (criticalExtensionsChosen == 1)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5156
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5157
      // Deserialize criticalExtensionsFuture
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5158
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5159
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5160
  else if (criticalExtensionsChosen == 0)
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
      // Deserialize c1 choice
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5163
      int c1Chosen;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5164
      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
  5165
      if (c1Chosen > 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5166
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5167
          bIterator = DeserializeNull (bIterator);
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
      else if (c1Chosen == 0)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5170
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5171
          // Deserialize handoverPreparationInformation-r8
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5172
          std::bitset<4> handoverPrepInfoOpts;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5173
          bIterator = DeserializeSequence (&handoverPrepInfoOpts,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5174
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5175
          // Deserialize ue-RadioAccessCapabilityInfo
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5176
          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
  5177
          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
  5178
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5179
              // Deserialize UE-CapabilityRAT-Container
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5180
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5181
            }
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
          if (handoverPrepInfoOpts[3])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5184
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5185
              // Deserialize as-Config sequence
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5186
              bIterator = DeserializeSequence (&bitset0,true,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5187
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5188
              // Deserialize sourceMeasConfig
9662
942fc066826c Serialization of MeasConfig IE, tiny modification in ThresholdEutra SAP.
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
  5189
              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
  5190
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5191
              // Deserialize sourceRadioResourceConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5192
              bIterator = DeserializeRadioResourceConfigDedicated (&m_asConfig.sourceRadioResourceConfig,bIterator);
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 sourceSecurityAlgorithmConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5195
              bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5196
              bIterator = DeserializeEnum (8,&n,bIterator); // cipheringAlgorithm
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5197
              bIterator = DeserializeEnum (8,&n,bIterator); // integrityProtAlgorithm
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
              // Deserialize sourceUE-Identity
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5200
              std::bitset<16> cRnti;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5201
              bIterator = DeserializeBitstring (&cRnti,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5202
              m_asConfig.sourceUeIdentity = cRnti.to_ulong ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5203
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5204
              // Deserialize sourceMasterInformationBlock
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5205
              bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5206
              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
  5207
              m_asConfig.sourceMasterInformationBlock.dlBandwidth = n;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5208
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5209
              // phich-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5210
              bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5211
              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
  5212
              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
  5213
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5214
              // systemFrameNumber
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5215
              std::bitset<8> systemFrameNumber;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5216
              bIterator = DeserializeBitstring (&systemFrameNumber,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5217
              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
  5218
              // spare
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5219
              std::bitset<10> spare;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5220
              bIterator = DeserializeBitstring (&spare,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5221
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5222
              // Deserialize sourceSystemInformationBlockType1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5223
              bIterator = DeserializeSystemInformationBlockType1 (&m_asConfig.sourceSystemInformationBlockType1,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5224
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5225
              // Deserialize sourceSystemInformationBlockType2
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5226
              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
  5227
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5228
              // Deserialize antennaInfoCommon
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5229
              bIterator = DeserializeSequence (&bitset0,false,bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5230
              bIterator = DeserializeEnum (4,&n,bIterator); // antennaPortsCount
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5231
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5232
              // Deserialize sourceDl-CarrierFreq
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5233
              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
  5234
              m_asConfig.sourceDlCarrierFreq = n;
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
          if (handoverPrepInfoOpts[2])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5237
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5238
              // Deserialize rrm-Config
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5239
              // ...
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
          if (handoverPrepInfoOpts[1])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5242
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5243
              // Deserialize as-Context
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5244
              // ...
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
          if (handoverPrepInfoOpts[0])
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5247
            {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5248
              // Deserialize nonCriticalExtension
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5249
              // ...
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5250
            }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5251
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5252
    }
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
  return GetSerializedSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5255
}
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
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5258
HandoverPreparationInfoHeader::Print (std::ostream &os) const
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
  RrcAsn1Header::Print (os,m_asConfig.sourceRadioResourceConfig);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5261
  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
  5262
  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
  5263
  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
  5264
  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
  5265
  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
  5266
  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
  5267
  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
  5268
  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
  5269
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5270
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5271
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5272
HandoverPreparationInfoHeader::SetMessage (LteRrcSap::HandoverPreparationInfo msg)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5273
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5274
  m_asConfig = msg.asConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5275
  m_isDataSerialized = false;
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
9492
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5278
LteRrcSap::HandoverPreparationInfo
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5279
HandoverPreparationInfoHeader::GetMessage () const
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5280
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5281
  LteRrcSap::HandoverPreparationInfo msg;
9492
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5282
  msg.asConfig = m_asConfig;
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5283
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5284
  return msg;
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5285
}
423e6d79b533 Remove RealHandoverPreparationInfoHeader and use HandoverPreparationInfoHeader instead
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9486
diff changeset
  5286
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5287
LteRrcSap::AsConfig
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5288
HandoverPreparationInfoHeader::GetAsConfig () const
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5289
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5290
  return m_asConfig;
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
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5293
//////////////////// RrcConnectionReestablishmentRequestHeader class ////////////////////////
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5294
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5295
RrcConnectionReestablishmentRequestHeader::RrcConnectionReestablishmentRequestHeader ()
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5296
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5297
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5298
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5299
RrcConnectionReestablishmentRequestHeader::~RrcConnectionReestablishmentRequestHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5300
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5301
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5302
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5303
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5304
RrcConnectionReestablishmentRequestHeader::PreSerialize () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5305
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5306
  m_serializationResult = Buffer ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5307
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5308
  SerializeUlCcchMessage (0);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5309
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5310
  // Serialize RrcConnectionReestablishmentReques sequence:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5311
  // 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
  5312
  SerializeSequence (std::bitset<0> (),false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5313
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5314
  // Serialize criticalExtensions choice
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5315
  // chosen: rrcConnectionReestablishmentRequest-r8
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5316
  SerializeChoice (2,0,false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5317
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5318
  // Serialize RRCConnectionReestablishmentRequest-r8-IEs sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5319
  // 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
  5320
  SerializeSequence (std::bitset<0> (),false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5321
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5322
  // 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
  5323
  SerializeSequence (std::bitset<0> (),false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5324
  // Serialize c-RNTI
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5325
  SerializeBitstring (std::bitset<16> (m_ueIdentity.cRnti));
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5326
  // Serialize physCellId
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5327
  SerializeInteger (m_ueIdentity.physCellId,0,503);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5328
  // Serialize shortMAC-I
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5329
  SerializeBitstring (std::bitset<16> (0));
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5330
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5331
  // Serialize ReestablishmentCause
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5332
  switch (m_reestablishmentCause)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5333
    {
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5334
    case LteRrcSap::RECONFIGURATION_FAILURE:
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5335
      SerializeEnum (4,0);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5336
      break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5337
    case LteRrcSap::HANDOVER_FAILURE:
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5338
      SerializeEnum (4,1);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5339
      break;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5340
    case LteRrcSap::OTHER_FAILURE:
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5341
      SerializeEnum (4,2);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5342
      break;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5343
    default:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5344
      SerializeEnum (4,3);
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
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5347
  // Serialize spare
9618
0ea7f5ea874a Fix rrc header code for optimized build
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9607
diff changeset
  5348
  SerializeBitstring (std::bitset<2> (0));
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
  // Finish serialization
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5351
  FinalizeSerialization ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5352
}
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
uint32_t
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5355
RrcConnectionReestablishmentRequestHeader::Deserialize (Buffer::Iterator bIterator)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5356
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5357
  std::bitset<0> bitset0;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5358
  int n;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5359
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5360
  bIterator = DeserializeUlCcchMessage (bIterator);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5361
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5362
  // Deserialize RrcConnectionReestablishmentRequest sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5363
  // 0 optional fields, no extension marker
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5364
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5365
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5366
  // Deserialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5367
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5368
  if ( n == 1)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5369
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5370
      // Deserialize criticalExtensionsFuture
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5371
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5372
    }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5373
  else if ( n == 0)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5374
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5375
      // Deserialize RRCConnectionReestablishmentRequest-r8-IEs
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5376
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
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
      // Deserialize ReestabUE-Identity sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5379
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5380
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5381
      // Deserialize c-RNTI
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5382
      std::bitset<16> cRnti;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5383
      bIterator = DeserializeBitstring (&cRnti,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5384
      m_ueIdentity.cRnti = cRnti.to_ulong ();
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
      // Deserialize physCellId
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5387
      int physCellId;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5388
      bIterator = DeserializeInteger (&physCellId,0,503,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5389
      m_ueIdentity.physCellId = physCellId;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5390
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5391
      // Deserialize shortMAC-I
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5392
      std::bitset<16> shortMacI;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5393
      bIterator = DeserializeBitstring (&shortMacI,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5394
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5395
      // Deserialize ReestablishmentCause
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5396
      int reestCs;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5397
      bIterator = DeserializeEnum (4,&reestCs,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5398
      switch (reestCs)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5399
        {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5400
        case 0:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5401
          m_reestablishmentCause = LteRrcSap::RECONFIGURATION_FAILURE;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5402
          break;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5403
        case 1:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5404
          m_reestablishmentCause = LteRrcSap::HANDOVER_FAILURE;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5405
          break;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5406
        case 2:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5407
          m_reestablishmentCause = LteRrcSap::OTHER_FAILURE;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5408
          break;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5409
        case 3:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5410
          break;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5411
        }
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 spare
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5414
      std::bitset<2> spare;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5415
      bIterator = DeserializeBitstring (&spare,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5416
    }
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
  return GetSerializedSize ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5419
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5420
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5421
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5422
RrcConnectionReestablishmentRequestHeader::Print (std::ostream &os) const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5423
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5424
  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
  5425
  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
  5426
  os << "m_reestablishmentCause: " << m_reestablishmentCause << std::endl;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5427
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5428
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5429
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5430
RrcConnectionReestablishmentRequestHeader::SetMessage (LteRrcSap::RrcConnectionReestablishmentRequest msg)
9449
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
  m_ueIdentity = msg.ueIdentity;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5433
  m_reestablishmentCause = msg.reestablishmentCause;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5434
  m_isDataSerialized = false;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5435
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5436
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5437
LteRrcSap::RrcConnectionReestablishmentRequest
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5438
RrcConnectionReestablishmentRequestHeader::GetMessage () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5439
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5440
  LteRrcSap::RrcConnectionReestablishmentRequest msg;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5441
  msg.ueIdentity = m_ueIdentity;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5442
  msg.reestablishmentCause = m_reestablishmentCause;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5443
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5444
  return msg;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5445
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5446
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5447
LteRrcSap::ReestabUeIdentity
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5448
RrcConnectionReestablishmentRequestHeader::GetUeIdentity () const
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 m_ueIdentity;
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
LteRrcSap::ReestablishmentCause
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5454
RrcConnectionReestablishmentRequestHeader::GetReestablishmentCause () 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
  return m_reestablishmentCause;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5457
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5458
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
  5459
//////////////////// RrcConnectionReestablishmentHeader class ////////////////////////
9449
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
RrcConnectionReestablishmentHeader::RrcConnectionReestablishmentHeader ()
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5462
{
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
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5465
RrcConnectionReestablishmentHeader::~RrcConnectionReestablishmentHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5466
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5467
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5468
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5469
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5470
RrcConnectionReestablishmentHeader::PreSerialize () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5471
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5472
  m_serializationResult = Buffer ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5473
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5474
  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
  5475
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5476
  // Serialize RrcConnectionReestablishment sequence:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5477
  // 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
  5478
  SerializeSequence (std::bitset<0> (),false);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5479
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5480
  // Serialize rrc-TransactionIdentifier
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5481
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5482
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5483
  // Serialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5484
  SerializeChoice (2,0,false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5485
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5486
  // Serialize c1 choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5487
  SerializeChoice (8,0,false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5488
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5489
  // Serialize RRCConnectionReestablishment-r8-IEs sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5490
  // 1 optional field, no extension marker
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5491
  SerializeSequence (std::bitset<1> (0),false);
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
  // Serialize radioResourceConfigDedicated
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5494
  SerializeRadioResourceConfigDedicated (m_radioResourceConfigDedicated);
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
  // Serialize nextHopChainingCount
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5497
  SerializeInteger (0,0,7);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5498
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5499
  // Finish serialization
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5500
  FinalizeSerialization ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5501
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5502
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5503
uint32_t
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5504
RrcConnectionReestablishmentHeader::Deserialize (Buffer::Iterator bIterator)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5505
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5506
  std::bitset<0> bitset0;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5507
  int n;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5508
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5509
  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
  5510
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5511
  // Deserialize RrcConnectionReestablishment sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5512
  // 0 optional fields, no extension marker
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5513
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
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
  // Deserialize rrc-TransactionIdentifier
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5516
  bIterator = DeserializeInteger (&n,0,3,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5517
  m_rrcTransactionIdentifier = n;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5518
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5519
  // Deserialize criticalExtensions choice
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5520
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5521
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5522
  if (criticalExtensionsChoice == 1)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5523
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5524
      // Deserialize criticalExtensionsFuture
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5525
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5526
    }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5527
  else if (criticalExtensionsChoice == 0)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5528
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5529
      // Deserialize c1
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5530
      int c1;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5531
      bIterator = DeserializeChoice (8,false,&c1,bIterator);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5532
      if (c1 > 0)
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
          bIterator = DeserializeNull (bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5535
        }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5536
      else if (c1 == 0)
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
          // Deserialize rrcConnectionReestablishment-r8
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5539
          // 1 optional field
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5540
          std::bitset<1> nonCriticalExtensionPresent;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5541
          bIterator = DeserializeSequence (&nonCriticalExtensionPresent,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5542
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5543
          // Deserialize RadioResourceConfigDedicated
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5544
          bIterator = DeserializeRadioResourceConfigDedicated (&m_radioResourceConfigDedicated,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5545
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5546
          // Deserialize nextHopChainingCount
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5547
          bIterator = DeserializeInteger (&n,0,7,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5548
        }
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5549
    }
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
  return GetSerializedSize ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5552
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5553
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5554
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5555
RrcConnectionReestablishmentHeader::Print (std::ostream &os) const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5556
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5557
  os << "rrcTransactionIdentifier: " << (int)m_rrcTransactionIdentifier << std::endl;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5558
  os << "RadioResourceConfigDedicated: " << std::endl;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5559
  RrcAsn1Header::Print (os,m_radioResourceConfigDedicated);
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
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5562
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5563
RrcConnectionReestablishmentHeader::SetMessage (LteRrcSap::RrcConnectionReestablishment msg)
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5564
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5565
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5566
  m_radioResourceConfigDedicated = msg.radioResourceConfigDedicated;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5567
  m_isDataSerialized = false;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5568
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5569
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
  5570
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
  5571
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
  5572
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5573
  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
  5574
  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
  5575
  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
  5576
  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
  5577
}
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
  5578
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5579
uint8_t
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5580
RrcConnectionReestablishmentHeader::GetRrcTransactionIdentifier () const
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
  return m_rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5583
}
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
LteRrcSap::RadioResourceConfigDedicated
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5586
RrcConnectionReestablishmentHeader::GetRadioResourceConfigDedicated () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5587
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5588
  return m_radioResourceConfigDedicated;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5589
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5590
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5591
//////////////////// RrcConnectionReestablishmentCompleteHeader class ////////////////////////
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
RrcConnectionReestablishmentCompleteHeader::RrcConnectionReestablishmentCompleteHeader ()
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5594
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5595
}
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
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5598
RrcConnectionReestablishmentCompleteHeader::PreSerialize () const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5599
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5600
  m_serializationResult = Buffer ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5601
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  5602
  // Serialize DCCH message
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5603
  SerializeUlDcchMessage (3);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5604
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5605
  // Serialize RrcConnectionReestablishmentComplete sequence:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5606
  // 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
  5607
  SerializeSequence (std::bitset<0> (),false);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5608
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5609
  // Serialize rrc-TransactionIdentifier
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5610
  SerializeInteger (m_rrcTransactionIdentifier,0,3);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5611
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5612
  // Serialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5613
  SerializeChoice (2,0,false);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5614
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5615
  // Serialize rrcConnectionReestablishmentComplete-r8 sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5616
  // 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
  5617
  SerializeSequence (std::bitset<1> (0),false);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5618
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5619
  // Finish serialization
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5620
  FinalizeSerialization ();
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
uint32_t
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5624
RrcConnectionReestablishmentCompleteHeader::Deserialize (Buffer::Iterator bIterator)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5625
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5626
  std::bitset<0> bitset0;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5627
  int n;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5628
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5629
  bIterator = DeserializeUlDcchMessage (bIterator);
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
  5630
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5631
  // Deserialize RrcConnectionReestablishmentComplete sequence
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5632
  // 0 optional fields, no extension marker
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5633
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5634
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5635
  // Deserialize rrc-TransactionIdentifier
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5636
  bIterator = DeserializeInteger (&n,0,3,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5637
  m_rrcTransactionIdentifier = n;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5638
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5639
  // Deserialize criticalExtensions choice
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5640
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5641
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5642
  if (criticalExtensionsChoice == 1)
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
      // Deserialize criticalExtensionsFuture
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5645
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
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
  else if (criticalExtensionsChoice == 0)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5648
    {
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5649
      // Deserialize rrcConnectionReestablishmentComplete-r8
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5650
      std::bitset<1> opts;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5651
      bIterator = DeserializeSequence (&opts,false,bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5652
      if (opts[0])
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
          // Deserialize RRCConnectionReestablishmentComplete-v920-IEs
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5655
          // ...
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5656
        }
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
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5659
  return GetSerializedSize ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5660
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5661
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5662
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5663
RrcConnectionReestablishmentCompleteHeader::Print (std::ostream &os) const
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5664
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5665
  os << "rrcTransactionIdentifier: " << (int)m_rrcTransactionIdentifier << std::endl;
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
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5668
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5669
RrcConnectionReestablishmentCompleteHeader::SetMessage (LteRrcSap::RrcConnectionReestablishmentComplete msg)
9449
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
  m_rrcTransactionIdentifier = msg.rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5672
  m_isDataSerialized = false;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5673
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5674
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5675
LteRrcSap::RrcConnectionReestablishmentComplete
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  5676
RrcConnectionReestablishmentCompleteHeader::GetMessage () const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5677
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5678
  LteRrcSap::RrcConnectionReestablishmentComplete msg;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5679
  msg.rrcTransactionIdentifier = m_rrcTransactionIdentifier;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5680
  return msg;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5681
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  5682
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5683
uint8_t
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5684
RrcConnectionReestablishmentCompleteHeader::GetRrcTransactionIdentifier () const
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
  return m_rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
  5687
}
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  5688
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5689
//////////////////// 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
  5690
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5691
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
  5692
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5693
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5694
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5695
RrcConnectionReestablishmentRejectHeader::~RrcConnectionReestablishmentRejectHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5696
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5697
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5698
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5699
void
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5700
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
  5701
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5702
  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
  5703
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5704
  // 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
  5705
  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
  5706
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5707
  // 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
  5708
  // 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
  5709
  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
  5710
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5711
  // Serialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5712
  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
  5713
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5714
  // 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
  5715
  // 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
  5716
  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
  5717
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5718
  // 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
  5719
  FinalizeSerialization ();
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5720
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5721
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5722
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
  5723
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
  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
  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
  5726
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5727
  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
  5728
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5729
  // 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
  5730
  // 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
  5731
  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
  5732
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5733
  // 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
  5734
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5735
  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
  5736
  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
  5737
    {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5738
      // 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
  5739
      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
  5740
    }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5741
  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
  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
      // 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
  5744
      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
  5745
      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
  5746
      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
  5747
        {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5748
          // 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
  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
        }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5751
    }
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
  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
  5754
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5755
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5756
void
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5757
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
  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
}
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
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5762
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
  5763
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5764
  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
  5765
  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
  5766
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5767
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5768
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
  5769
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
  5770
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5771
  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
  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
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5774
//////////////////// 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
  5775
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5776
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
  5777
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5778
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5779
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5780
RrcConnectionReleaseHeader::~RrcConnectionReleaseHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5781
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5782
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5783
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5784
void
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5785
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
  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
  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
  5788
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5789
  // 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
  5790
  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
  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
  // 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
  5793
  // 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
  5794
  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
  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
  // 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
  5797
  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
  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
  // Serialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5800
  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
  5801
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5802
  // Serialize c1 choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5803
  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
  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
  // 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
  5806
  // 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
  5807
  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
  5808
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5809
  // 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
  5810
  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
  5811
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5812
  // 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
  5813
  FinalizeSerialization ();
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5814
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5815
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5816
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
  5817
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
  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
  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
  5820
  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
  5821
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5822
  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
  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
  // 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
  5825
  // 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
  5826
  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
  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
  // 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
  5829
  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
  5830
  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
  5831
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5832
  // 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
  5833
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5834
  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
  5835
  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
  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
      // 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
  5838
      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
  5839
    }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5840
  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
  5841
    {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5842
      // 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
  5843
      int c1Choice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5844
      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
  5845
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5846
      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
  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
          // 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
  5849
          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
  5850
          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
  5851
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5852
          // 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
  5853
          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
  5854
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5855
          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
  5856
            {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5857
              // 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
  5858
              // ...
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
          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
  5861
            {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5862
              // 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
  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
            }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5865
          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
  5866
            {
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5867
              // 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
  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
            }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5870
        }
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
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
          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
  5875
        }
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5876
    }
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
  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
  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
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5881
void
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5882
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
  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
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5885
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5886
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5887
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
  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
  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
  5890
  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
  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
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5893
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
  5894
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
  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
  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
  5897
}
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
  5898
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5899
//////////////////// RrcConnectionRejectHeader class ////////////////////////
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5900
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5901
RrcConnectionRejectHeader::RrcConnectionRejectHeader ()
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5902
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5903
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5904
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5905
RrcConnectionRejectHeader::~RrcConnectionRejectHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5906
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5907
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5908
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5909
void
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5910
RrcConnectionRejectHeader::PreSerialize () const
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5911
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5912
  m_serializationResult = Buffer ();
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5913
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5914
  // Serialize CCCH message
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5915
  SerializeDlCcchMessage (2);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5916
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5917
  // Serialize RrcConnectionReject sequence:
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5918
  // 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
  5919
  SerializeSequence (std::bitset<0> (),false);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5920
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5921
  // Serialize criticalExtensions choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5922
  SerializeChoice (2,0,false);
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5923
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5924
  // Serialize c1 choice
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5925
  SerializeChoice (4,0,false);
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5926
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5927
  // Serialize rrcConnectionReject-r8 sequence
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5928
  // 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
  5929
  SerializeSequence (std::bitset<1> (0),false);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5930
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5931
  // Serialize waitTime
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5932
  SerializeInteger (m_rrcConnectionReject.waitTime, 1, 16);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5933
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5934
  // Finish serialization
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5935
  FinalizeSerialization ();
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5936
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5937
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5938
uint32_t
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5939
RrcConnectionRejectHeader::Deserialize (Buffer::Iterator bIterator)
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5940
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5941
  std::bitset<0> bitset0;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5942
  int n;
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
  bIterator = DeserializeDlCcchMessage (bIterator);
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
  // Deserialize RrcConnectionReject sequence
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5947
  // 0 optional fields, no extension marker
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5948
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5949
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5950
  // Deserialize criticalExtensions choice
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5951
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5952
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator);
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5953
  if (criticalExtensionsChoice == 1)
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5954
    {
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5955
      // Deserialize criticalExtensionsFuture
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5956
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5957
    }
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5958
  else if (criticalExtensionsChoice == 0)
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5959
    {
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5960
      // Deserialize c1 choice
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5961
      int c1Choice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  5962
      bIterator = DeserializeChoice (4,false,&c1Choice,bIterator);
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5963
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5964
      if (c1Choice > 0)
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5965
        {
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5966
          bIterator = DeserializeNull (bIterator);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5967
        }
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5968
      else if (c1Choice == 0)
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5969
        {
9574
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5970
          // Deserialize rrcConnectionReject-r8
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5971
          std::bitset<1> opts;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5972
          bIterator = DeserializeSequence (&opts,false,bIterator);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5973
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5974
          bIterator = DeserializeInteger (&n,1,16,bIterator);
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5975
          m_rrcConnectionReject.waitTime = n;
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5976
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5977
          if (opts[0])
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5978
            {
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5979
              // Deserialize RRCConnectionReject-v8a0-IEs
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5980
              // ...
fe96499dc62a Ns-3 formatting...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
  5981
            }
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5982
        }
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5983
    }
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5984
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5985
  return GetSerializedSize ();
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
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5988
void
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5989
RrcConnectionRejectHeader::Print (std::ostream &os) const
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5990
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5991
  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
  5992
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5993
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5994
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  5995
RrcConnectionRejectHeader::SetMessage (LteRrcSap::RrcConnectionReject msg)
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5996
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5997
  m_rrcConnectionReject = msg;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5998
  m_isDataSerialized = false;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  5999
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6000
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6001
LteRrcSap::RrcConnectionReject
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6002
RrcConnectionRejectHeader::GetMessage () const
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6003
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6004
  return m_rrcConnectionReject;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6005
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6006
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6007
//////////////////// MeasurementReportHeader class ////////////////////////
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6008
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6009
MeasurementReportHeader::MeasurementReportHeader ()
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6010
{
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6011
}
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6012
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6013
MeasurementReportHeader::~MeasurementReportHeader ()
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6014
{
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6015
}
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6016
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6017
void
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6018
MeasurementReportHeader::PreSerialize () const
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6019
{
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6020
  m_serializationResult = Buffer ();
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6021
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6022
  // Serialize DCCH message
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6023
  SerializeUlDcchMessage (1);
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6024
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6025
  // 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
  6026
  // 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
  6027
  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
  6028
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6029
  // Serialize criticalExtensions choice:
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6030
  // c1 chosen
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6031
  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
  6032
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6033
  // Serialize c1 choice
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6034
  // measurementReport-r8 chosen
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6035
  SerializeChoice (8,0,false);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6036
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6037
  // Serialize MeasurementReport-r8-IEs sequence:
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6038
  // 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
  6039
  SerializeSequence (std::bitset<1> (0),false);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6040
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6041
  // Serialize measResults
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6042
  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
  6043
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6044
  // Finish serialization
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6045
  FinalizeSerialization ();
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6046
}
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6047
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6048
uint32_t
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6049
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
  6050
{
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6051
  std::bitset<0> bitset0;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6052
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6053
  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
  6054
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6055
  bIterator = DeserializeUlDcchMessage (bIterator);
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
  int criticalExtensionsChoice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6058
  bIterator = DeserializeChoice (2,false,&criticalExtensionsChoice,bIterator);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6059
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6060
  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
  6061
    {
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6062
      // Deserialize criticalExtensionsFuture
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6063
      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
  6064
    }
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6065
  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
  6066
    {
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6067
      // Deserialize c1
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6068
      int c1Choice;
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6069
      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
  6070
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6071
      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
  6072
        {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6073
          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
  6074
        }
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6075
      else
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6076
        {
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
  6077
          // 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
  6078
          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
  6079
          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
  6080
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6081
          // 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
  6082
          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
  6083
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6084
          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
  6085
            {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6086
              // 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
  6087
              // ...
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6088
            }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6089
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6090
        }
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
  6091
    }
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6092
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6093
  return GetSerializedSize ();
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6094
}
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6095
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6096
void
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6097
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
  6098
{
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6099
  os << "measId = " << (int)m_measurementReport.measResults.measId << std::endl;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6100
  os << "rsrpResult = " << (int)m_measurementReport.measResults.rsrpResult << std::endl;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6101
  os << "rsrqResult = " << (int)m_measurementReport.measResults.rsrqResult << std::endl;
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6102
  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
  6103
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
  if (m_measurementReport.measResults.haveMeasResultNeighCells)
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6105
    {
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
  6106
      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
  6107
      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
  6108
      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
  6109
        {
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
          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
  6111
          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
  6112
          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
  6113
            {
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
              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
  6115
              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
  6116
              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
  6117
              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
  6118
              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
  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
                  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
  6121
                    {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6122
                      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
  6123
                    }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6124
                }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6125
            }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6126
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6127
          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
  6128
          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
  6129
            {
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6130
              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
  6131
            }
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6132
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
  6133
          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
  6134
          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
  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
              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
  6137
            }
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
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
        }
9607
043f6a91bace Serialization/Deserialization function for measResults
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
  6140
    }
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6141
}
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6142
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6143
void
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6144
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
  6145
{
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6146
  m_measurementReport = msg;
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6147
  m_isDataSerialized = false;
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6148
}
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6149
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6150
LteRrcSap::MeasurementReport
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6151
MeasurementReportHeader::GetMessage () const
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6152
{
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
  6153
  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
  6154
  msg = m_measurementReport;
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6155
  return msg;
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  6156
}
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9508
diff changeset
  6157
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6158
///////////////////  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
  6159
RrcUlDcchMessage::RrcUlDcchMessage () : RrcAsn1Header ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6160
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6161
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6162
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
  6163
RrcUlDcchMessage::~RrcUlDcchMessage ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6164
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6165
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6166
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6167
uint32_t
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6168
RrcUlDcchMessage::Deserialize (Buffer::Iterator bIterator)
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6169
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6170
  DeserializeUlDcchMessage (bIterator);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6171
  return 1;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6172
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6173
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6174
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6175
RrcUlDcchMessage::Print (std::ostream &os) const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6176
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6177
  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
  6178
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6179
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6180
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6181
RrcUlDcchMessage::PreSerialize () const
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6182
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6183
  SerializeUlDcchMessage (m_messageType);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6184
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6185
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6186
Buffer::Iterator
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6187
RrcUlDcchMessage::DeserializeUlDcchMessage (Buffer::Iterator bIterator)
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6188
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6189
  std::bitset<0> bitset0;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6190
  int n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6191
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6192
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6193
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6194
  if (n == 1)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6195
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6196
      // Deserialize messageClassExtension
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6197
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6198
      m_messageType = -1;
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6199
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6200
  else if (n == 0)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6201
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6202
      // Deserialize c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6203
      bIterator = DeserializeChoice (16,false,&m_messageType,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6204
    }
9481
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
  return bIterator;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6207
}
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
void
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6210
RrcUlDcchMessage::SerializeUlDcchMessage (int messageType) const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6211
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6212
  SerializeSequence (std::bitset<0> (),false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6213
  // Choose c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6214
  SerializeChoice (2,0,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6215
  // Choose message type
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6216
  SerializeChoice (16,messageType,false);
9481
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
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6219
///////////////////  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
  6220
RrcDlDcchMessage::RrcDlDcchMessage () : RrcAsn1Header ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6221
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6222
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6223
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
  6224
RrcDlDcchMessage::~RrcDlDcchMessage ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6225
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6226
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6227
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6228
uint32_t
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6229
RrcDlDcchMessage::Deserialize (Buffer::Iterator bIterator)
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6230
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6231
  DeserializeDlDcchMessage (bIterator);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6232
  return 1;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6233
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6234
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6235
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6236
RrcDlDcchMessage::Print (std::ostream &os) const
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
  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
  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
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6242
RrcDlDcchMessage::PreSerialize () const
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
  SerializeDlDcchMessage (m_messageType);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6245
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6246
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6247
Buffer::Iterator
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6248
RrcDlDcchMessage::DeserializeDlDcchMessage (Buffer::Iterator bIterator)
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
  std::bitset<0> bitset0;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6251
  int n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6252
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6253
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6254
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6255
  if (n == 1)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6256
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6257
      // Deserialize messageClassExtension
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6258
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6259
      m_messageType = -1;
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6260
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6261
  else if (n == 0)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6262
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6263
      // Deserialize c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6264
      bIterator = DeserializeChoice (16,false,&m_messageType,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6265
    }
9481
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
  return bIterator;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6268
}
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
void
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6271
RrcDlDcchMessage::SerializeDlDcchMessage (int messageType) const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6272
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6273
  SerializeSequence (std::bitset<0> (),false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6274
  // Choose c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6275
  SerializeChoice (2,0,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6276
  // Choose message type
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6277
  SerializeChoice (16,messageType,false);
9481
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
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6280
///////////////////  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
  6281
RrcUlCcchMessage::RrcUlCcchMessage () : RrcAsn1Header ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6282
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6283
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6284
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
  6285
RrcUlCcchMessage::~RrcUlCcchMessage ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6286
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6287
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6288
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6289
uint32_t
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6290
RrcUlCcchMessage::Deserialize (Buffer::Iterator bIterator)
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6291
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6292
  DeserializeUlCcchMessage (bIterator);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6293
  return 1;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6294
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6295
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6296
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6297
RrcUlCcchMessage::Print (std::ostream &os) const
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
  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
  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
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6303
RrcUlCcchMessage::PreSerialize () const
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
  SerializeUlCcchMessage (m_messageType);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6306
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6307
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6308
Buffer::Iterator
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6309
RrcUlCcchMessage::DeserializeUlCcchMessage (Buffer::Iterator bIterator)
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
  std::bitset<0> bitset0;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6312
  int n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6313
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6314
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6315
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6316
  if (n == 1)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6317
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6318
      // Deserialize messageClassExtension
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6319
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6320
      m_messageType = -1;
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6321
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6322
  else if (n == 0)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6323
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6324
      // Deserialize c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6325
      bIterator = DeserializeChoice (2,false,&m_messageType,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6326
    }
9481
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
  return bIterator;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6329
}
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
void
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6332
RrcUlCcchMessage::SerializeUlCcchMessage (int messageType) const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6333
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6334
  SerializeSequence (std::bitset<0> (),false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6335
  // Choose c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6336
  SerializeChoice (2,0,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6337
  // Choose message type
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6338
  SerializeChoice (2,messageType,false);
9481
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
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6341
///////////////////  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
  6342
RrcDlCcchMessage::RrcDlCcchMessage () : RrcAsn1Header ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6343
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6344
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6345
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
  6346
RrcDlCcchMessage::~RrcDlCcchMessage ()
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6347
{
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6348
}
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9618
diff changeset
  6349
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6350
uint32_t
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6351
RrcDlCcchMessage::Deserialize (Buffer::Iterator bIterator)
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6352
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6353
  DeserializeDlCcchMessage (bIterator);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6354
  return 1;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6355
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6356
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6357
void
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6358
RrcDlCcchMessage::Print (std::ostream &os) const
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
  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
  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
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6364
RrcDlCcchMessage::PreSerialize () const
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
  SerializeDlCcchMessage (m_messageType);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6367
}
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6368
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6369
Buffer::Iterator
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6370
RrcDlCcchMessage::DeserializeDlCcchMessage (Buffer::Iterator bIterator)
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
  std::bitset<0> bitset0;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6373
  int n;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6374
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6375
  bIterator = DeserializeSequence (&bitset0,false,bIterator);
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6376
  bIterator = DeserializeChoice (2,false,&n,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6377
  if (n == 1)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6378
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6379
      // Deserialize messageClassExtension
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6380
      bIterator = DeserializeSequence (&bitset0,false,bIterator);
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6381
      m_messageType = -1;
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6382
    }
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6383
  else if (n == 0)
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6384
    {
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6385
      // Deserialize c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6386
      bIterator = DeserializeChoice (4,false,&m_messageType,bIterator);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6387
    }
9481
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
  return bIterator;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6390
}
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
void
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6393
RrcDlCcchMessage::SerializeDlCcchMessage (int messageType) const
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6394
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
  6395
  SerializeSequence (std::bitset<0> (),false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6396
  // Choose c1
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6397
  SerializeChoice (2,0,false);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
  6398
  // Choose message type
9650
9b70351a32b3 Add extension marker flag to Serialize/Deserialize Choice
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9648
diff changeset
  6399
  SerializeChoice (4,messageType,false);
9481
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
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  6402
} // namespace ns3
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
  6403