src/lte/model/epc-x2-header.h
author Nicola Baldo <nbaldo@cttc.es>
Tue, 30 Oct 2012 16:02:07 +0100
changeset 9406 7f0f9d8f8e20
parent 9396 f6d2e9aff2de
child 9404 1f737f190823
permissions -rw-r--r--
new LTE RRC model
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     2
/*
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     3
 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     4
 *
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     8
 *
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    12
 * GNU General Public License for more details.
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    13
 *
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    17
 *
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    18
 * Author: Manuel Requena <manuel.requena@cttc.es>
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    19
 */
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    20
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    21
#ifndef EPC_X2_HEADER_H
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    22
#define EPC_X2_HEADER_H
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    23
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    24
#include "ns3/epc-x2-sap.h"
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    25
#include "ns3/header.h"
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    26
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    27
#include <vector>
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    28
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    29
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    30
namespace ns3 {
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    31
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    32
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    33
class EpcX2Header : public Header
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    34
{
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    35
public:
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    36
  EpcX2Header ();
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    37
  virtual ~EpcX2Header ();
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    38
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    39
  static TypeId GetTypeId (void);
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    40
  virtual TypeId GetInstanceTypeId (void) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    41
  virtual uint32_t GetSerializedSize (void) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    42
  virtual void Serialize (Buffer::Iterator start) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    43
  virtual uint32_t Deserialize (Buffer::Iterator start);
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    44
  virtual void Print (std::ostream &os) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    45
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    46
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    47
  uint8_t GetMessageType () const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    48
  void SetMessageType (uint8_t messageType);
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    49
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    50
  uint8_t GetProcedureCode () const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    51
  void SetProcedureCode (uint8_t procedureCode);
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    52
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    53
  void SetLengthOfIes (uint32_t lengthOfIes);
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    54
  void SetNumberOfIes (uint32_t numberOfIes);
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    55
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    56
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    57
  enum ProcedureCode_t {
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    58
    HandoverPreparation     = 0
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    59
  };
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    60
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    61
  enum TypeOfMessage_t {
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    62
    InitiatingMessage       = 0,
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    63
    SuccessfulOutcome       = 1,
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    64
    UnsuccessfulOutcome     = 2
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    65
  };
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    66
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    67
private:
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    68
  uint32_t m_headerLength;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    69
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    70
  uint8_t m_messageType;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    71
  uint8_t m_procedureCode;
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    72
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    73
  uint32_t m_lengthOfIes;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    74
  uint32_t m_numberOfIes;
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    75
};
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    76
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    77
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    78
class EpcX2HandoverRequestHeader : public Header
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    79
{
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    80
public:
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    81
  EpcX2HandoverRequestHeader ();
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    82
  virtual ~EpcX2HandoverRequestHeader ();
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    83
  
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    84
  static TypeId GetTypeId (void);
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    85
  virtual TypeId GetInstanceTypeId (void) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    86
  virtual uint32_t GetSerializedSize (void) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    87
  virtual void Serialize (Buffer::Iterator start) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    88
  virtual uint32_t Deserialize (Buffer::Iterator start);
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    89
  virtual void Print (std::ostream &os) const;
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    90
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    91
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    92
  uint16_t GetOldEnbUeX2apId () const;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
    93
  void SetOldEnbUeX2apId (uint16_t x2apId);
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    94
  
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    95
  uint16_t GetCause () const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    96
  void SetCause (uint16_t cause);
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    97
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    98
  uint16_t GetTargetCellId () const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    99
  void SetTargetCellId (uint16_t targetCellId);
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   100
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   101
  std::vector <EpcX2Sap::ErabToBeSetupItem> GetBearers () const;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   102
  void SetBearers (std::vector <EpcX2Sap::ErabToBeSetupItem> bearers);
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   103
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   104
  uint64_t GetUeAggregateMaxBitRateDownlink () const;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   105
  void SetUeAggregateMaxBitRateDownlink (uint64_t bitRate);
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   106
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   107
  uint64_t GetUeAggregateMaxBitRateUplink () const;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   108
  void SetUeAggregateMaxBitRateUplink (uint64_t bitRate);
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   109
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   110
  uint32_t GetLengthOfIes () const;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   111
  uint32_t GetNumberOfIes () const;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   112
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   113
private:
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   114
  uint32_t          m_numberOfIes;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   115
  uint32_t          m_headerLength;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   116
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   117
  uint16_t          m_oldEnbUeX2apId;
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   118
  uint16_t          m_cause;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   119
  uint16_t          m_targetCellId;
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   120
  uint64_t          m_ueAggregateMaxBitRateDownlink;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   121
  uint64_t          m_ueAggregateMaxBitRateUplink;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   122
  std::vector <EpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList;
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   123
};
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   124
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   125
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   126
class EpcX2HandoverRequestAckHeader : public Header
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   127
{
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   128
public:
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   129
  EpcX2HandoverRequestAckHeader ();
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   130
  virtual ~EpcX2HandoverRequestAckHeader ();
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   131
  
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   132
  static TypeId GetTypeId (void);
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   133
  virtual TypeId GetInstanceTypeId (void) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   134
  virtual uint32_t GetSerializedSize (void) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   135
  virtual void Serialize (Buffer::Iterator start) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   136
  virtual uint32_t Deserialize (Buffer::Iterator start);
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   137
  virtual void Print (std::ostream &os) const;
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   138
  
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   139
  
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   140
  uint16_t GetOldEnbUeX2apId () const;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   141
  void SetOldEnbUeX2apId (uint16_t x2apId);
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   142
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   143
  uint16_t GetNewEnbUeX2apId () const;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   144
  void SetNewEnbUeX2apId (uint16_t x2apId);
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   145
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   146
  std::vector <EpcX2Sap::ErabAdmittedItem> GetAdmittedBearers () const;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   147
  void SetAdmittedBearers (std::vector <EpcX2Sap::ErabAdmittedItem> bearers);
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   148
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   149
  std::vector <EpcX2Sap::ErabNotAdmittedItem> GetNotAdmittedBearers () const;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   150
  void SetNotAdmittedBearers (std::vector <EpcX2Sap::ErabNotAdmittedItem> bearers);
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   151
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   152
private:
9396
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   153
  uint16_t          m_oldEnbUeX2apId;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   154
  uint16_t          m_newEnbUeX2apId;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   155
  std::vector <EpcX2Sap::ErabAdmittedItem>     m_erabsAdmittedList;
f6d2e9aff2de Add some IEs to the X2 message headers
Manuel Requena <manuel.requena@cttc.es>
parents: 9331
diff changeset
   156
  std::vector <EpcX2Sap::ErabNotAdmittedItem>  m_erabsNotAdmittedList;
9331
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   157
};
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   158
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   159
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   160
} // namespace ns3
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   161
6db5b873966c Add draft of X2AP protocol
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   162
#endif // EPC_X2_HEADER_H