A Discrete-Event Network Simulator
API
epc-x2-header.h
Go to the documentation of this file.
1/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation;
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 *
18 * Author: Manuel Requena <manuel.requena@cttc.es>
19 */
20
21#ifndef EPC_X2_HEADER_H
22#define EPC_X2_HEADER_H
23
24#include "ns3/epc-x2-sap.h"
25#include "ns3/header.h"
26
27#include <vector>
28
29
30namespace ns3 {
31
32
33class EpcX2Header : public Header
34{
35public:
36 EpcX2Header ();
37 virtual ~EpcX2Header ();
38
43 static TypeId GetTypeId (void);
44 virtual TypeId GetInstanceTypeId (void) const;
45 virtual uint32_t GetSerializedSize (void) const;
46 virtual void Serialize (Buffer::Iterator start) const;
48 virtual void Print (std::ostream &os) const;
49
50
55 uint8_t GetMessageType () const;
60 void SetMessageType (uint8_t messageType);
61
66 uint8_t GetProcedureCode () const;
71 void SetProcedureCode (uint8_t procedureCode);
72
77 void SetLengthOfIes (uint32_t lengthOfIes);
82 void SetNumberOfIes (uint32_t numberOfIes);
83
84
92 };
93
99 };
100
101private:
104
107};
108
109
114{
115public:
118
123 static TypeId GetTypeId (void);
124 virtual TypeId GetInstanceTypeId (void) const;
125 virtual uint32_t GetSerializedSize (void) const;
126 virtual void Serialize (Buffer::Iterator start) const;
128 virtual void Print (std::ostream &os) const;
129
130
135 uint16_t GetOldEnbUeX2apId () const;
140 void SetOldEnbUeX2apId (uint16_t x2apId);
141
146 uint16_t GetCause () const;
151 void SetCause (uint16_t cause);
152
157 uint16_t GetTargetCellId () const;
162 void SetTargetCellId (uint16_t targetCellId);
163
168 uint32_t GetMmeUeS1apId () const;
173 void SetMmeUeS1apId (uint32_t mmeUeS1apId);
174
179 std::vector <EpcX2Sap::ErabToBeSetupItem> GetBearers () const;
184 void SetBearers (std::vector <EpcX2Sap::ErabToBeSetupItem> bearers);
185
190 uint64_t GetUeAggregateMaxBitRateDownlink () const;
195 void SetUeAggregateMaxBitRateDownlink (uint64_t bitRate);
196
201 uint64_t GetUeAggregateMaxBitRateUplink () const;
206 void SetUeAggregateMaxBitRateUplink (uint64_t bitRate);
207
212 uint32_t GetLengthOfIes () const;
217 uint32_t GetNumberOfIes () const;
218
219private:
222
224 uint16_t m_cause;
225 uint16_t m_targetCellId;
229 std::vector <EpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList;
230};
231
236{
237public:
240
245 static TypeId GetTypeId (void);
246 virtual TypeId GetInstanceTypeId (void) const;
247 virtual uint32_t GetSerializedSize (void) const;
248 virtual void Serialize (Buffer::Iterator start) const;
250 virtual void Print (std::ostream &os) const;
251
252
257 uint16_t GetOldEnbUeX2apId () const;
262 void SetOldEnbUeX2apId (uint16_t x2apId);
263
268 uint16_t GetNewEnbUeX2apId () const;
273 void SetNewEnbUeX2apId (uint16_t x2apId);
274
279 std::vector <EpcX2Sap::ErabAdmittedItem> GetAdmittedBearers () const;
284 void SetAdmittedBearers (std::vector <EpcX2Sap::ErabAdmittedItem> bearers);
285
290 std::vector <EpcX2Sap::ErabNotAdmittedItem> GetNotAdmittedBearers () const;
295 void SetNotAdmittedBearers (std::vector <EpcX2Sap::ErabNotAdmittedItem> bearers);
296
301 uint32_t GetLengthOfIes () const;
306 uint32_t GetNumberOfIes () const;
307
308private:
311
314 std::vector <EpcX2Sap::ErabAdmittedItem> m_erabsAdmittedList;
315 std::vector <EpcX2Sap::ErabNotAdmittedItem> m_erabsNotAdmittedList;
316};
317
318
323{
324public:
327
332 static TypeId GetTypeId (void);
333 virtual TypeId GetInstanceTypeId (void) const;
334 virtual uint32_t GetSerializedSize (void) const;
335 virtual void Serialize (Buffer::Iterator start) const;
337 virtual void Print (std::ostream &os) const;
338
339
344 uint16_t GetOldEnbUeX2apId () const;
349 void SetOldEnbUeX2apId (uint16_t x2apId);
350
355 uint16_t GetCause () const;
360 void SetCause (uint16_t cause);
361
366 uint16_t GetCriticalityDiagnostics () const;
371 void SetCriticalityDiagnostics (uint16_t criticalityDiagnostics);
372
377 uint32_t GetLengthOfIes () const;
382 uint32_t GetNumberOfIes () const;
383
384private:
387
389 uint16_t m_cause;
391};
392
393
398{
399public:
402
407 static TypeId GetTypeId (void);
408 virtual TypeId GetInstanceTypeId (void) const;
409 virtual uint32_t GetSerializedSize (void) const;
410 virtual void Serialize (Buffer::Iterator start) const;
412 virtual void Print (std::ostream &os) const;
413
414
419 uint16_t GetOldEnbUeX2apId () const;
424 void SetOldEnbUeX2apId (uint16_t x2apId);
425
430 uint16_t GetNewEnbUeX2apId () const;
435 void SetNewEnbUeX2apId (uint16_t x2apId);
436
441 std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem> GetErabsSubjectToStatusTransferList () const;
446 void SetErabsSubjectToStatusTransferList (std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem> erabs);
447
452 uint32_t GetLengthOfIes () const;
457 uint32_t GetNumberOfIes () const;
458
459private:
462
465 std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem> m_erabsSubjectToStatusTransferList;
466};
467
472{
473public:
476
481 static TypeId GetTypeId (void);
482 virtual TypeId GetInstanceTypeId (void) const;
483 virtual uint32_t GetSerializedSize (void) const;
484 virtual void Serialize (Buffer::Iterator start) const;
486 virtual void Print (std::ostream &os) const;
487
488
493 uint16_t GetOldEnbUeX2apId () const;
498 void SetOldEnbUeX2apId (uint16_t x2apId);
499
504 uint16_t GetNewEnbUeX2apId () const;
509 void SetNewEnbUeX2apId (uint16_t x2apId);
510
515 uint32_t GetLengthOfIes () const;
520 uint32_t GetNumberOfIes () const;
521
522private:
525
528};
529
530
535{
536public:
539
544 static TypeId GetTypeId (void);
545 virtual TypeId GetInstanceTypeId (void) const;
546 virtual uint32_t GetSerializedSize (void) const;
547 virtual void Serialize (Buffer::Iterator start) const;
549 virtual void Print (std::ostream &os) const;
550
551
556 std::vector <EpcX2Sap::CellInformationItem> GetCellInformationList () const;
561 void SetCellInformationList (std::vector <EpcX2Sap::CellInformationItem> cellInformationList);
562
567 uint32_t GetLengthOfIes () const;
572 uint32_t GetNumberOfIes () const;
573
574private:
577
578 std::vector <EpcX2Sap::CellInformationItem> m_cellInformationList;
579};
580
581
586{
587public:
590
595 static TypeId GetTypeId (void);
596 virtual TypeId GetInstanceTypeId (void) const;
597 virtual uint32_t GetSerializedSize (void) const;
598 virtual void Serialize (Buffer::Iterator start) const;
600 virtual void Print (std::ostream &os) const;
601
602
607 uint16_t GetEnb1MeasurementId () const;
612 void SetEnb1MeasurementId (uint16_t enb1MeasurementId);
613
618 uint16_t GetEnb2MeasurementId () const;
623 void SetEnb2MeasurementId (uint16_t enb2MeasurementId);
624
629 std::vector <EpcX2Sap::CellMeasurementResultItem> GetCellMeasurementResultList () const;
634 void SetCellMeasurementResultList (std::vector <EpcX2Sap::CellMeasurementResultItem> cellMeasurementResultList);
635
640 uint32_t GetLengthOfIes () const;
645 uint32_t GetNumberOfIes () const;
646
647private:
650
653 std::vector <EpcX2Sap::CellMeasurementResultItem> m_cellMeasurementResultList;
654};
655
656
657} // namespace ns3
658
659#endif // EPC_X2_HEADER_H
iterator in a Buffer instance
Definition: buffer.h:99
EpcX2HandoverPreparationFailureHeader.
virtual uint32_t GetSerializedSize(void) const
virtual void Serialize(Buffer::Iterator start) const
void SetCriticalityDiagnostics(uint16_t criticalityDiagnostics)
Set criticality diagnostics function.
void SetCause(uint16_t cause)
Set cause function.
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint16_t GetCause() const
Get cause function.
static TypeId GetTypeId(void)
Get the type ID.
uint16_t m_criticalityDiagnostics
criticality diagnostics
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint16_t GetCriticalityDiagnostics() const
Get criticality diagnostics function.
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
uint32_t GetNumberOfIes() const
Get number of IEs function.
virtual void Print(std::ostream &os) const
virtual uint32_t Deserialize(Buffer::Iterator start)
EpcX2HandoverRequestAckHeader.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint16_t GetNewEnbUeX2apId() const
Get new ENB UE X2 AP ID function.
uint32_t m_headerLength
header length
uint32_t GetLengthOfIes() const
Get length of IEs function.
std::vector< EpcX2Sap::ErabNotAdmittedItem > GetNotAdmittedBearers() const
Get not admitted bearers function.
virtual void Serialize(Buffer::Iterator start) const
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
uint16_t m_newEnbUeX2apId
new ENB UE X2 AP ID
uint32_t m_numberOfIes
number of IEs
virtual void Print(std::ostream &os) const
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
std::vector< EpcX2Sap::ErabAdmittedItem > GetAdmittedBearers() const
Get admittied bearers function.
void SetNotAdmittedBearers(std::vector< EpcX2Sap::ErabNotAdmittedItem > bearers)
Set not admitted bearers function.
void SetNewEnbUeX2apId(uint16_t x2apId)
Set new ENB UE X2 AP ID function.
std::vector< EpcX2Sap::ErabAdmittedItem > m_erabsAdmittedList
ERABs admitted list.
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
static TypeId GetTypeId(void)
Get the type ID.
std::vector< EpcX2Sap::ErabNotAdmittedItem > m_erabsNotAdmittedList
ERABs not admitted list.
uint32_t GetNumberOfIes() const
Get number of IEs function.
void SetAdmittedBearers(std::vector< EpcX2Sap::ErabAdmittedItem > bearers)
Set admitted bearers function.
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start)
EpcX2HandoverRequestHeader.
uint16_t GetCause() const
Get cause function.
void SetCause(uint16_t cause)
Set cause function.
uint32_t m_mmeUeS1apId
MME UE S1 AP ID.
std::vector< EpcX2Sap::ErabToBeSetupItem > m_erabsToBeSetupList
ERAB to be setup list.
void SetMmeUeS1apId(uint32_t mmeUeS1apId)
Set MME UE S1 AP ID function.
uint32_t GetMmeUeS1apId() const
Get MME UE S1 AP ID function.
static TypeId GetTypeId(void)
Get the type ID.
void SetTargetCellId(uint16_t targetCellId)
Set target cell id function.
uint64_t m_ueAggregateMaxBitRateUplink
aggregate max bit rate uplink
virtual void Print(std::ostream &os) const
uint32_t m_headerLength
header length
void SetUeAggregateMaxBitRateUplink(uint64_t bitRate)
Set UE Aggregrate Max Bit Rate Uplik function.
uint64_t GetUeAggregateMaxBitRateUplink() const
Get UE Aggregrate Max Bit Rate Uplik function.
uint16_t GetTargetCellId() const
Get target cell id function.
void SetBearers(std::vector< EpcX2Sap::ErabToBeSetupItem > bearers)
Set bearers function.
uint64_t GetUeAggregateMaxBitRateDownlink() const
Get UE Aggregate Max Bit Rate Downlink function.
void SetUeAggregateMaxBitRateDownlink(uint64_t bitRate)
Set UE Aggregrate Max Bit Rate Downlink function.
uint32_t m_numberOfIes
number of IEs
virtual void Serialize(Buffer::Iterator start) const
virtual uint32_t GetSerializedSize(void) const
uint16_t m_targetCellId
target cell ID
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB X2 AP ID function.
uint32_t GetNumberOfIes() const
Get number of IEs.
uint16_t m_oldEnbUeX2apId
old ENB UE X1 AP ID
virtual uint32_t Deserialize(Buffer::Iterator start)
uint16_t GetOldEnbUeX2apId() const
Get old ENB X2 AP ID function.
uint32_t GetLengthOfIes() const
Get length of IEs.
std::vector< EpcX2Sap::ErabToBeSetupItem > GetBearers() const
Get bearers function.
uint64_t m_ueAggregateMaxBitRateDownlink
aggregate max bit rate downlink
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Introspection did not find any typical Config paths.
Definition: epc-x2-header.h:34
TypeOfMessage_t
Type of message enumeration.
Definition: epc-x2-header.h:95
void SetLengthOfIes(uint32_t lengthOfIes)
Set length of IEs function.
virtual void Print(std::ostream &os) const
uint8_t m_messageType
message type
virtual ~EpcX2Header()
void SetProcedureCode(uint8_t procedureCode)
Set procedure code function.
virtual uint32_t GetSerializedSize(void) const
uint8_t GetProcedureCode() const
Get procedure code function.
virtual uint32_t Deserialize(Buffer::Iterator start)
static TypeId GetTypeId(void)
Get the type ID.
uint32_t m_numberOfIes
number of IEs
uint8_t m_procedureCode
procedure code
void SetNumberOfIes(uint32_t numberOfIes)
Set number of IEs function.
virtual void Serialize(Buffer::Iterator start) const
uint32_t m_lengthOfIes
length of IEs
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint8_t GetMessageType() const
Get message type function.
void SetMessageType(uint8_t messageType)
Set message type function.
ProcedureCode_t
Procedure code enumeration.
Definition: epc-x2-header.h:86
EpcX2LoadInformationHeader.
uint32_t m_headerLength
length of IEs
std::vector< EpcX2Sap::CellInformationItem > GetCellInformationList() const
Get cell information list function.
virtual uint32_t GetSerializedSize(void) const
virtual void Print(std::ostream &os) const
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint32_t GetNumberOfIes() const
Get number of IEs function.
void SetCellInformationList(std::vector< EpcX2Sap::CellInformationItem > cellInformationList)
Set cell information list function.
virtual void Serialize(Buffer::Iterator start) const
virtual uint32_t Deserialize(Buffer::Iterator start)
std::vector< EpcX2Sap::CellInformationItem > m_cellInformationList
cell information list
uint32_t GetLengthOfIes() const
Get length of IEs function.
static TypeId GetTypeId(void)
Get the type ID.
uint32_t m_numberOfIes
number of IEs
EpcX2ResourceStatusUpdateHeader.
uint16_t m_enb1MeasurementId
ENB1 measurement.
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start)
uint16_t m_enb2MeasurementId
ENB2 measurement.
uint32_t m_headerLength
header length
void SetEnb2MeasurementId(uint16_t enb2MeasurementId)
Set ENB2 measurement ID function.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void SetEnb1MeasurementId(uint16_t enb1MeasurementId)
Set ENB1 measurement ID function.
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint32_t GetNumberOfIes() const
Get number of IEs function.
virtual void Print(std::ostream &os) const
static TypeId GetTypeId(void)
Get the type ID.
uint16_t GetEnb2MeasurementId() const
Get ENB2 measurement ID function.
std::vector< EpcX2Sap::CellMeasurementResultItem > GetCellMeasurementResultList() const
Get cell measurement results list function.
std::vector< EpcX2Sap::CellMeasurementResultItem > m_cellMeasurementResultList
cell measurement result list
void SetCellMeasurementResultList(std::vector< EpcX2Sap::CellMeasurementResultItem > cellMeasurementResultList)
Set cell measurement results list function.
virtual void Serialize(Buffer::Iterator start) const
uint16_t GetEnb1MeasurementId() const
Get ENB1 measurement ID function.
uint32_t m_numberOfIes
number of IEs
EpcX2SnStatusTransferHeader.
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint16_t GetNewEnbUeX2apId() const
Get new ENB UE X2 AP ID function.
virtual void Print(std::ostream &os) const
static TypeId GetTypeId(void)
Get the type ID.
virtual uint32_t GetSerializedSize(void) const
uint32_t GetNumberOfIes() const
Get number of IEs function.
void SetErabsSubjectToStatusTransferList(std::vector< EpcX2Sap::ErabsSubjectToStatusTransferItem > erabs)
Set ERABs subject to status transfer list function.
std::vector< EpcX2Sap::ErabsSubjectToStatusTransferItem > GetErabsSubjectToStatusTransferList() const
Get ERABs subject to status transfer list function.
virtual void Serialize(Buffer::Iterator start) const
virtual uint32_t Deserialize(Buffer::Iterator start)
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
void SetNewEnbUeX2apId(uint16_t x2apId)
Set new ENB UE X2 AP ID function.
std::vector< EpcX2Sap::ErabsSubjectToStatusTransferItem > m_erabsSubjectToStatusTransferList
ERABs subject to status transfer list.
uint32_t m_headerLength
header length
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
uint16_t m_newEnbUeX2apId
new ENB UE X2 AP ID
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint32_t m_numberOfIes
number of IEs
EpcX2UeContextReleaseHeader.
uint16_t m_newEnbUeX2apId
new ENB UE X2 AP ID
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint32_t m_headerLength
header length
void SetNewEnbUeX2apId(uint16_t x2apId)
Set new ENB UE X2 AP ID function.
uint16_t GetNewEnbUeX2apId() const
Get new ENB UE X2 AP ID function.
virtual void Serialize(Buffer::Iterator start) const
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
uint32_t GetLengthOfIes() const
Get length of IEs function.
virtual uint32_t GetSerializedSize(void) const
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
uint32_t GetNumberOfIes() const
Set length of IEs function.
static TypeId GetTypeId(void)
Get the type ID.
uint32_t m_numberOfIes
number of IEs
virtual void Print(std::ostream &os) const
virtual uint32_t Deserialize(Buffer::Iterator start)
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
Protocol header serialization and deserialization.
Definition: header.h:43
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.
def start()
Definition: core.py:1853