src/lte/model/lte-rrc-header.h
author Lluis Parcerisa <parcerisa@gmail.com>
Wed, 05 Dec 2012 16:50:14 +0100
changeset 9482 f9aafed2874a
parent 9481 b828554155ff
child 9492 423e6d79b533
permissions -rw-r--r--
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.
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
#ifndef RRC_HEADER_H
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    22
#define 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 "ns3/header.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    25
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    26
#include <bitset>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    27
#include <string>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    28
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    29
#include "ns3/lte-rrc-sap.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    30
#include "ns3/lte-asn1-header.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    31
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    32
namespace ns3 {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    33
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    34
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    35
 * This class extends Asn1Header functions, adding serialization/deserialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    36
 * of some Information elements defined in 3GPP TS 36.331
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    37
 */
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    38
class RrcAsn1Header : public Asn1Header
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    39
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    40
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    41
  RrcAsn1Header ();
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
    42
  int GetMessageType ();
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
    43
  
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    44
protected:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    45
  // Serialization functions
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    46
  void 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
    47
  void 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
    48
  void SerializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig logicalChannelConfig) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    49
  void SerializeRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    50
  void SerializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    51
  void SerializeSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    52
  void SerializeSystemInformationBlockType2 () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    53
  void SerializeRadioResourceConfigCommonSIB () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    54
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    55
  // Deserialization functions
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    56
  Buffer::Iterator DeserializeDrbToAddModList (std::list<LteRrcSap::DrbToAddMod> *drbToAddModLis, Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    57
  Buffer::Iterator 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
    58
  Buffer::Iterator 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
    59
  Buffer::Iterator 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
    60
  Buffer::Iterator 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
    61
  Buffer::Iterator 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
    62
  Buffer::Iterator DeserializeSystemInformationBlockType2 (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    63
  Buffer::Iterator DeserializeRadioResourceConfigCommon (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    64
  Buffer::Iterator DeserializeRadioResourceConfigCommonSib (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    65
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    66
  void Print (std::ostream &os, LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
    67
  
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
    68
  int m_messageType;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    69
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    70
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    71
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    72
/**
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    73
 * This class only serves to discriminate which message type has been received
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    74
 * in uplink (ue to eNb) for channel DCCH
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    75
 */
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    76
class RrcUlDcchMessage : public RrcAsn1Header
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    77
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    78
  public:
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    79
  uint32_t Deserialize (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    80
  void Print (std::ostream &os) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    81
  void PreSerialize () const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    82
  void SerializeUlDcchMessage(int msgType) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    83
  Buffer::Iterator DeserializeUlDcchMessage (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    84
};
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    85
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    86
/**
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    87
 * This class only serves to discriminate which message type has been received
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    88
 * in downlink (eNb to ue) for channel DCCH
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    89
 */
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    90
class RrcDlDcchMessage : public RrcAsn1Header
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    91
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    92
  public:
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    93
  uint32_t Deserialize (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    94
  void Print (std::ostream &os) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    95
  void PreSerialize () const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    96
  void SerializeDlDcchMessage(int msgType) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    97
  Buffer::Iterator DeserializeDlDcchMessage (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    98
};
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    99
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   100
/**
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   101
 * This class only serves to discriminate which message type has been received
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   102
 * in uplink (ue to eNb) for channel CCCH
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   103
 */
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   104
class RrcUlCcchMessage : public RrcAsn1Header
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   105
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   106
  public:
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   107
  uint32_t Deserialize (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   108
  void Print (std::ostream &os) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   109
  void PreSerialize () const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   110
  void SerializeUlCcchMessage(int msgType) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   111
  Buffer::Iterator DeserializeUlCcchMessage (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   112
};
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   113
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   114
/**
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   115
 * This class only serves to discriminate which message type has been received
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   116
 * in downlink (eNb to ue) for channel CCCH
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   117
 */
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   118
class RrcDlCcchMessage : public RrcAsn1Header
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   119
{
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   120
  public:
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   121
  uint32_t Deserialize (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   122
  void Print (std::ostream &os) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   123
  void PreSerialize () const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   124
  void SerializeDlCcchMessage(int msgType) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   125
  Buffer::Iterator DeserializeDlCcchMessage (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   126
};
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   127
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   128
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   129
* This class manages the serialization/deserialization of RrcConnectionRequest IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   130
*/
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   131
class RrcConnectionRequestHeader : public RrcUlCcchMessage,
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   132
                                   LteRrcSap
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   133
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   134
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   135
  RrcConnectionRequestHeader ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   136
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   137
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   138
  void Print (std::ostream &os) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   139
  void SetMessage (RrcConnectionRequest msg);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   140
  RrcConnectionRequest GetMessage() const;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   141
  std::bitset<8> getMmec () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   142
  std::bitset<32> getMtmsi () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   143
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   144
private:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   145
  std::bitset<8> m_mmec;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   146
  std::bitset<32> m_mTmsi;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   147
  enum
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
    EMERGENCY = 0, HIGHPRIORITYACCESS, MT_ACCESS,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   150
    MO_SIGNALLING, MO_DATA, SPARE3, SPARE2, SPARE1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   151
  } m_establishmentCause;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   152
  std::bitset<1> m_spare;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   153
};
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
* This class manages the serialization/deserialization of RrcConnectionSetup IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   157
*/
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
   158
class RrcConnectionSetupHeader : public RrcDlCcchMessage,
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   159
                                 LteRrcSap
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   160
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   161
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   162
  RrcConnectionSetupHeader ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   163
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   164
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   165
  void Print (std::ostream &os) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   166
  void SetMessage (RrcConnectionSetup 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
   167
  RrcConnectionSetup GetMessage() const;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   168
  uint8_t GetRrcTransactionIdentifier () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   169
  bool HavePhysicalConfigDedicated () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   170
  std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   171
  std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   172
  std::list<uint8_t> GetDrbToReleaseList () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   173
  LteRrcSap::PhysicalConfigDedicated GetPhysicalConfigDedicated () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   174
  LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   175
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   176
private:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   177
  uint8_t rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   178
  mutable RadioResourceConfigDedicated radioResourceConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   179
};
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
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   182
* This class manages the serialization/deserialization of RrcConnectionSetupComplete IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   183
*/
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   184
class RrcConnectionSetupCompleteHeader : public RrcUlDcchMessage,
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   185
                                         LteRrcSap
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   186
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   187
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   188
  RrcConnectionSetupCompleteHeader ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   189
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   190
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   191
  void Print (std::ostream &os) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   192
  void SetMessage (RrcConnectionSetupCompleted msg);
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   193
  
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   194
  uint8_t GetRrcTransactionIdentifier () const;
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   195
  RrcConnectionSetupCompleted GetMessage() const;
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
private:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   198
  uint8_t m_rrcTransactionIdentifier;
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
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   201
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   202
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   203
* This class manages the serialization/deserialization of RrcConnectionSetupComplete IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   204
*/
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   205
class RrcConnectionReconfigurationCompleteHeader : public RrcUlDcchMessage,
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   206
                                                   LteRrcSap
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   207
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   208
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   209
  RrcConnectionReconfigurationCompleteHeader ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   210
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   211
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   212
  void Print (std::ostream &os) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   213
  void SetMessage (RrcConnectionReconfigurationCompleted msg);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   214
  RrcConnectionReconfigurationCompleted GetMessage() const;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   215
  uint8_t GetRrcTransactionIdentifier () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   216
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   217
private:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   218
  uint8_t m_rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   219
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   220
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   221
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   222
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   223
* This class manages the serialization/deserialization of RrcConnectionReconfiguration IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   224
*/
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   225
class RrcConnectionReconfigurationHeader : public RrcDlDcchMessage,
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   226
                                           LteRrcSap
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
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   229
  RrcConnectionReconfigurationHeader ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   230
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   231
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   232
  void Print (std::ostream &os) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   233
  void SetMessage (RrcConnectionReconfiguration msg);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   234
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   235
  RrcConnectionReconfiguration GetMessage () const;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   236
  uint8_t GetRrcTransactionIdentifier () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   237
  bool GetHaveMeasConfig ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   238
  MeasConfig GetMeasConfig ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   239
  bool GetHaveMobilityControlInfo ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   240
  MobilityControlInfo GetMobilityControlInfo ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   241
  bool GetHaveRadioResourceConfigDedicated ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   242
  RadioResourceConfigDedicated GetRadioResourceConfigDedicated ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   243
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   244
  // RadioResourceConfigDedicated functions
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   245
  bool HavePhysicalConfigDedicated () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   246
  std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   247
  std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   248
  std::list<uint8_t> GetDrbToReleaseList () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   249
  LteRrcSap::PhysicalConfigDedicated GetPhysicalConfigDedicated () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   250
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   251
private:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   252
  uint8_t m_rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   253
  bool m_haveMeasConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   254
  MeasConfig m_measConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   255
  bool m_haveMobilityControlInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   256
  MobilityControlInfo m_mobilityControlInfo;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   257
  bool m_haveRadioResourceConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   258
  RadioResourceConfigDedicated m_radioResourceConfigDedicated;
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
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   262
* This class manages the serialization/deserialization of HandoverPreparationInfo IE
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
class HandoverPreparationInfoHeader : public RrcAsn1Header,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   265
                                      LteRrcSap
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   266
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   267
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   268
  HandoverPreparationInfoHeader ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   269
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   270
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   271
  void Print (std::ostream &os) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   272
  void SetMessage (HandoverPreparationInfo msg);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   273
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   274
  AsConfig GetAsConfig () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   275
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   276
private:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   277
  AsConfig m_asConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   278
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   279
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   280
/**
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   281
* This class manages the serialization/deserialization of RRCConnectionReestablishmentRequest IE
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   282
*/
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   283
class RrcConnectionReestablishmentRequestHeader : public RrcUlCcchMessage,
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   284
                                                  LteRrcSap
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   285
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   286
public:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   287
  RrcConnectionReestablishmentRequestHeader ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   288
  void PreSerialize () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   289
  uint32_t Deserialize (Buffer::Iterator bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   290
  void Print (std::ostream &os) const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   291
  void SetMessage (RrcConnectionReestablishmentRequest msg);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   292
  RrcConnectionReestablishmentRequest GetMessage () const;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   293
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   294
  ReestabUeIdentity GetUeIdentity () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   295
  ReestablishmentCause GetReestablishmentCause () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   296
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   297
private:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   298
  ReestabUeIdentity m_ueIdentity;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   299
  ReestablishmentCause m_reestablishmentCause;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   300
};
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   301
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   302
/**
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   303
* This class manages the serialization/deserialization of RrcConnectionReestablishment IE
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   304
*/
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
   305
class RrcConnectionReestablishmentHeader : public RrcDlCcchMessage,
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   306
                                           LteRrcSap
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   307
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   308
public:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   309
  RrcConnectionReestablishmentHeader ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   310
  void PreSerialize () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   311
  uint32_t Deserialize (Buffer::Iterator bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   312
  void Print (std::ostream &os) const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   313
  void SetMessage (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
   314
  RrcConnectionReestablishment GetMessage() const;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   315
  uint8_t GetRrcTransactionIdentifier () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   316
  RadioResourceConfigDedicated GetRadioResourceConfigDedicated () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   317
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   318
private:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   319
  uint8_t m_rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   320
  RadioResourceConfigDedicated m_radioResourceConfigDedicated;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   321
};
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   322
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   323
/**
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   324
* This class manages the serialization/deserialization of RrcConnectionReestablishmentComplete IE
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   325
*/
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   326
class RrcConnectionReestablishmentCompleteHeader : public RrcUlDcchMessage,
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   327
                                                   LteRrcSap
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   328
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   329
public:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   330
  RrcConnectionReestablishmentCompleteHeader ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   331
  void PreSerialize () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   332
  uint32_t Deserialize (Buffer::Iterator bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   333
  void Print (std::ostream &os) const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   334
  void SetMessage (RrcConnectionReestablishmentComplete msg);
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   335
  RrcConnectionReestablishmentComplete GetMessage() const;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   336
  uint8_t GetRrcTransactionIdentifier () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   337
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   338
private:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   339
  uint8_t m_rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   340
};
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   341
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   342
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   343
} // namespace ns3
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   344
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   345
#endif // EPC_ASN1_HEADER_H
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   346