21 #ifndef EPC_X2_HEADER_H
22 #define EPC_X2_HEADER_H
24 #include "ns3/epc-x2-sap.h"
25 #include "ns3/header.h"
39 static TypeId GetTypeId (
void);
44 virtual void Print (std::ostream &os)
const;
47 uint8_t GetMessageType ()
const;
48 void SetMessageType (uint8_t messageType);
50 uint8_t GetProcedureCode ()
const;
51 void SetProcedureCode (uint8_t procedureCode);
53 void SetLengthOfIes (uint32_t lengthOfIes);
54 void SetNumberOfIes (uint32_t numberOfIes);
57 enum ProcedureCode_t {
58 HandoverPreparation = 0,
62 ResourceStatusReporting = 10
65 enum TypeOfMessage_t {
66 InitiatingMessage = 0,
67 SuccessfulOutcome = 1,
68 UnsuccessfulOutcome = 2
72 uint32_t m_headerLength;
74 uint8_t m_messageType;
75 uint8_t m_procedureCode;
77 uint32_t m_lengthOfIes;
78 uint32_t m_numberOfIes;
88 static TypeId GetTypeId (
void);
93 virtual void Print (std::ostream &os)
const;
96 uint16_t GetOldEnbUeX2apId ()
const;
97 void SetOldEnbUeX2apId (uint16_t x2apId);
99 uint16_t GetCause ()
const;
100 void SetCause (uint16_t cause);
102 uint16_t GetTargetCellId ()
const;
103 void SetTargetCellId (uint16_t targetCellId);
105 uint32_t GetMmeUeS1apId ()
const;
106 void SetMmeUeS1apId (uint32_t mmeUeS1apId);
108 std::vector <EpcX2Sap::ErabToBeSetupItem> GetBearers ()
const;
109 void SetBearers (std::vector <EpcX2Sap::ErabToBeSetupItem> bearers);
111 uint64_t GetUeAggregateMaxBitRateDownlink ()
const;
112 void SetUeAggregateMaxBitRateDownlink (uint64_t bitRate);
114 uint64_t GetUeAggregateMaxBitRateUplink ()
const;
115 void SetUeAggregateMaxBitRateUplink (uint64_t bitRate);
117 uint32_t GetLengthOfIes ()
const;
118 uint32_t GetNumberOfIes ()
const;
121 uint32_t m_numberOfIes;
122 uint32_t m_headerLength;
124 uint16_t m_oldEnbUeX2apId;
126 uint16_t m_targetCellId;
127 uint32_t m_mmeUeS1apId;
128 uint64_t m_ueAggregateMaxBitRateDownlink;
129 uint64_t m_ueAggregateMaxBitRateUplink;
130 std::vector <EpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList;
140 static TypeId GetTypeId (
void);
145 virtual void Print (std::ostream &os)
const;
148 uint16_t GetOldEnbUeX2apId ()
const;
149 void SetOldEnbUeX2apId (uint16_t x2apId);
151 uint16_t GetNewEnbUeX2apId ()
const;
152 void SetNewEnbUeX2apId (uint16_t x2apId);
154 std::vector <EpcX2Sap::ErabAdmittedItem> GetAdmittedBearers ()
const;
155 void SetAdmittedBearers (std::vector <EpcX2Sap::ErabAdmittedItem> bearers);
157 std::vector <EpcX2Sap::ErabNotAdmittedItem> GetNotAdmittedBearers ()
const;
158 void SetNotAdmittedBearers (std::vector <EpcX2Sap::ErabNotAdmittedItem> bearers);
160 uint32_t GetLengthOfIes ()
const;
161 uint32_t GetNumberOfIes ()
const;
164 uint32_t m_numberOfIes;
165 uint32_t m_headerLength;
167 uint16_t m_oldEnbUeX2apId;
168 uint16_t m_newEnbUeX2apId;
169 std::vector <EpcX2Sap::ErabAdmittedItem> m_erabsAdmittedList;
170 std::vector <EpcX2Sap::ErabNotAdmittedItem> m_erabsNotAdmittedList;
180 static TypeId GetTypeId (
void);
185 virtual void Print (std::ostream &os)
const;
188 uint16_t GetOldEnbUeX2apId ()
const;
189 void SetOldEnbUeX2apId (uint16_t x2apId);
191 uint16_t GetCause ()
const;
192 void SetCause (uint16_t cause);
194 uint16_t GetCriticalityDiagnostics ()
const;
195 void SetCriticalityDiagnostics (uint16_t criticalityDiagnostics);
197 uint32_t GetLengthOfIes ()
const;
198 uint32_t GetNumberOfIes ()
const;
201 uint32_t m_numberOfIes;
202 uint32_t m_headerLength;
204 uint16_t m_oldEnbUeX2apId;
206 uint16_t m_criticalityDiagnostics;
216 static TypeId GetTypeId (
void);
221 virtual void Print (std::ostream &os)
const;
224 uint16_t GetOldEnbUeX2apId ()
const;
225 void SetOldEnbUeX2apId (uint16_t x2apId);
227 uint16_t GetNewEnbUeX2apId ()
const;
228 void SetNewEnbUeX2apId (uint16_t x2apId);
230 std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem> GetErabsSubjectToStatusTransferList ()
const;
231 void SetErabsSubjectToStatusTransferList (std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem> erabs);
233 uint32_t GetLengthOfIes ()
const;
234 uint32_t GetNumberOfIes ()
const;
237 uint32_t m_numberOfIes;
238 uint32_t m_headerLength;
240 uint16_t m_oldEnbUeX2apId;
241 uint16_t m_newEnbUeX2apId;
242 std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem> m_erabsSubjectToStatusTransferList;
252 static TypeId GetTypeId (
void);
257 virtual void Print (std::ostream &os)
const;
260 uint16_t GetOldEnbUeX2apId ()
const;
261 void SetOldEnbUeX2apId (uint16_t x2apId);
263 uint16_t GetNewEnbUeX2apId ()
const;
264 void SetNewEnbUeX2apId (uint16_t x2apId);
266 uint32_t GetLengthOfIes ()
const;
267 uint32_t GetNumberOfIes ()
const;
270 uint32_t m_numberOfIes;
271 uint32_t m_headerLength;
273 uint16_t m_oldEnbUeX2apId;
274 uint16_t m_newEnbUeX2apId;
284 static TypeId GetTypeId (
void);
289 virtual void Print (std::ostream &os)
const;
292 std::vector <EpcX2Sap::CellInformationItem> GetCellInformationList ()
const;
293 void SetCellInformationList (std::vector <EpcX2Sap::CellInformationItem> cellInformationList);
295 uint32_t GetLengthOfIes ()
const;
296 uint32_t GetNumberOfIes ()
const;
299 uint32_t m_numberOfIes;
300 uint32_t m_headerLength;
302 std::vector <EpcX2Sap::CellInformationItem> m_cellInformationList;
312 static TypeId GetTypeId (
void);
317 virtual void Print (std::ostream &os)
const;
320 uint16_t GetEnb1MeasurementId ()
const;
321 void SetEnb1MeasurementId (uint16_t enb1MeasurementId);
323 uint16_t GetEnb2MeasurementId ()
const;
324 void SetEnb2MeasurementId (uint16_t enb2MeasurementId);
326 std::vector <EpcX2Sap::CellMeasurementResultItem> GetCellMeasurementResultList ()
const;
327 void SetCellMeasurementResultList (std::vector <EpcX2Sap::CellMeasurementResultItem> cellMeasurementResultList);
329 uint32_t GetLengthOfIes ()
const;
330 uint32_t GetNumberOfIes ()
const;
333 uint32_t m_numberOfIes;
334 uint32_t m_headerLength;
336 uint16_t m_enb1MeasurementId;
337 uint16_t m_enb2MeasurementId;
338 std::vector <EpcX2Sap::CellMeasurementResultItem> m_cellMeasurementResultList;
344 #endif // EPC_X2_HEADER_H
virtual void Serialize(Buffer::Iterator start) const
virtual void Print(std::ostream &os) const
virtual void Serialize(Buffer::Iterator start) const
iterator in a Buffer instance
virtual void Serialize(Buffer::Iterator start) const
virtual TypeId GetInstanceTypeId(void) const
virtual uint32_t GetSerializedSize(void) const
virtual TypeId GetInstanceTypeId(void) const
virtual TypeId GetInstanceTypeId(void) const
virtual uint32_t Deserialize(Buffer::Iterator start)
virtual void Print(std::ostream &os) const
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t GetSerializedSize(void) const
a unique identifier for an interface.
virtual uint32_t Deserialize(Buffer::Iterator start)
virtual uint32_t Deserialize(Buffer::Iterator start)
virtual void Print(std::ostream &os) const