A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
epc-x2-header.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Manuel Requena <manuel.requena@cttc.es>
7 */
8
9#ifndef EPC_X2_HEADER_H
10#define EPC_X2_HEADER_H
11
12#include "epc-x2-sap.h"
13
14#include "ns3/header.h"
15
16#include <vector>
17
18namespace ns3
19{
20
21class EpcX2Header : public Header
22{
23 public:
25 ~EpcX2Header() override;
26
27 /**
28 * \brief Get the type ID.
29 * \return the object TypeId
30 */
31 static TypeId GetTypeId();
32 TypeId GetInstanceTypeId() const override;
33 uint32_t GetSerializedSize() const override;
34 void Serialize(Buffer::Iterator start) const override;
36 void Print(std::ostream& os) const override;
37
38 /**
39 * Get message type function
40 * \returns the message type
41 */
42 uint8_t GetMessageType() const;
43 /**
44 * Set message type function
45 * \param messageType the message type
46 */
47 void SetMessageType(uint8_t messageType);
48
49 /**
50 * Get procedure code function
51 * \returns the procedure code
52 */
53 uint8_t GetProcedureCode() const;
54 /**
55 * Set procedure code function
56 * \param procedureCode the procedure code
57 */
58 void SetProcedureCode(uint8_t procedureCode);
59
60 /**
61 * Set length of IEs function
62 * \param lengthOfIes the length of IEs
63 */
64 void SetLengthOfIes(uint32_t lengthOfIes);
65 /**
66 * Set number of IEs function
67 * \param numberOfIes the number of IEs
68 */
69 void SetNumberOfIes(uint32_t numberOfIes);
70
71 /// Procedure code enumeration 9.3.7
81
82 /// Type of message enumeration
89
90 private:
91 uint8_t m_messageType; ///< message type
92 uint8_t m_procedureCode; ///< procedure code
93
94 uint32_t m_lengthOfIes; ///< length of IEs
95 uint32_t m_numberOfIes; ///< number of IEs
96};
97
98/**
99 * EpcX2HandoverRequestHeader
100 */
102{
103 public:
106
107 /**
108 * \brief Get the type ID.
109 * \return the object TypeId
110 */
111 static TypeId GetTypeId();
112 TypeId GetInstanceTypeId() const override;
113 uint32_t GetSerializedSize() const override;
114 void Serialize(Buffer::Iterator start) const override;
115 uint32_t Deserialize(Buffer::Iterator start) override;
116 void Print(std::ostream& os) const override;
117
118 /**
119 * Get old ENB X2 AP ID function
120 * \returns the old ENB UE X2 AP ID
121 */
122 uint16_t GetOldEnbUeX2apId() const;
123 /**
124 * Set old ENB X2 AP ID function
125 * \param x2apId the X2 AP ID
126 */
127 void SetOldEnbUeX2apId(uint16_t x2apId);
128
129 /**
130 * Get cause function
131 * \returns the cause
132 */
133 uint16_t GetCause() const;
134 /**
135 * Set cause function
136 * \param cause
137 */
138 void SetCause(uint16_t cause);
139
140 /**
141 * Get target cell id function
142 * \returns the target cell ID
143 */
144 uint16_t GetTargetCellId() const;
145 /**
146 * Set target cell id function
147 * \param targetCellId the target cell ID
148 */
149 void SetTargetCellId(uint16_t targetCellId);
150
151 /**
152 * Get MME UE S1 AP ID function
153 * \returns the MME UE S1 AP ID
154 */
155 uint32_t GetMmeUeS1apId() const;
156 /**
157 * Set MME UE S1 AP ID function
158 * \param mmeUeS1apId the MME UE S1 AP ID
159 */
160 void SetMmeUeS1apId(uint32_t mmeUeS1apId);
161
162 /**
163 * Get bearers function
164 * \returns <EpcX2Sap::ErabToBeSetupItem>
165 */
166 std::vector<EpcX2Sap::ErabToBeSetupItem> GetBearers() const;
167 /**
168 * Set bearers function
169 * \param bearers std::vector <EpcX2Sap::ErabToBeSetupItem>
170 */
171 void SetBearers(std::vector<EpcX2Sap::ErabToBeSetupItem> bearers);
172
173 /**
174 * Get UE Aggregate Max Bit Rate Downlink function
175 * \returns the UE aggregate max bit rate downlink
176 */
177 uint64_t GetUeAggregateMaxBitRateDownlink() const;
178 /**
179 * Set UE Aggregate Max Bit Rate Downlink function
180 * \param bitRate the bit rate
181 */
182 void SetUeAggregateMaxBitRateDownlink(uint64_t bitRate);
183
184 /**
185 * Get UE Aggregate Max Bit Rate Uplik function
186 * \returns the UE aggregate max bit rate uplink
187 */
188 uint64_t GetUeAggregateMaxBitRateUplink() const;
189 /**
190 * Set UE Aggregate Max Bit Rate Uplik function
191 * \param bitRate the bit rate
192 */
193 void SetUeAggregateMaxBitRateUplink(uint64_t bitRate);
194
195 /**
196 * Get length of IEs
197 * \returns the length of IEs
198 */
199 uint32_t GetLengthOfIes() const;
200 /**
201 * Get number of IEs
202 * \returns the number of IEs
203 */
204 uint32_t GetNumberOfIes() const;
205
206 private:
207 uint32_t m_numberOfIes; ///< number of IEs
208 uint32_t m_headerLength; ///< header length
209
210 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X1 AP ID
211 uint16_t m_cause; ///< cause
212 uint16_t m_targetCellId; ///< target cell ID
213 uint32_t m_mmeUeS1apId; ///< MME UE S1 AP ID
214 uint64_t m_ueAggregateMaxBitRateDownlink; ///< aggregate max bit rate downlink
215 uint64_t m_ueAggregateMaxBitRateUplink; ///< aggregate max bit rate uplink
216 std::vector<EpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList; ///< ERAB to be setup list
217};
218
219/**
220 * EpcX2HandoverRequestAckHeader
221 */
223{
224 public:
227
228 /**
229 * \brief Get the type ID.
230 * \return the object TypeId
231 */
232 static TypeId GetTypeId();
233 TypeId GetInstanceTypeId() const override;
234 uint32_t GetSerializedSize() const override;
235 void Serialize(Buffer::Iterator start) const override;
236 uint32_t Deserialize(Buffer::Iterator start) override;
237 void Print(std::ostream& os) const override;
238
239 /**
240 * Get old ENB UE X2 AP ID function
241 * \returns the old ENB UE X2 AP ID
242 */
243 uint16_t GetOldEnbUeX2apId() const;
244 /**
245 * Set old ENB UE X2 AP ID function
246 * \param x2apId the old ENB UE X2 AP ID
247 */
248 void SetOldEnbUeX2apId(uint16_t x2apId);
249
250 /**
251 * Get new ENB UE X2 AP ID function
252 * \returns the new ENB UE X2 AP ID
253 */
254 uint16_t GetNewEnbUeX2apId() const;
255 /**
256 * Set new ENB UE X2 AP ID function
257 * \param x2apId the new ENB UE X2 AP ID
258 */
259 void SetNewEnbUeX2apId(uint16_t x2apId);
260
261 /**
262 * Get admittied bearers function
263 * \returns <EpcX2Sap::ErabAdmittedItem>
264 */
265 std::vector<EpcX2Sap::ErabAdmittedItem> GetAdmittedBearers() const;
266 /**
267 * Set admitted bearers function
268 * \param bearers the admitted bearers
269 */
270 void SetAdmittedBearers(std::vector<EpcX2Sap::ErabAdmittedItem> bearers);
271
272 /**
273 * Get not admitted bearers function
274 * \returns the not admitted bearers
275 */
276 std::vector<EpcX2Sap::ErabNotAdmittedItem> GetNotAdmittedBearers() const;
277 /**
278 * Set not admitted bearers function
279 * \param bearers the not admitted bearers
280 */
281 void SetNotAdmittedBearers(std::vector<EpcX2Sap::ErabNotAdmittedItem> bearers);
282
283 /**
284 * Get length of IEs function
285 * \returns the length of IEs
286 */
287 uint32_t GetLengthOfIes() const;
288 /**
289 * Get number of IEs function
290 * \returns the number of IEs
291 */
292 uint32_t GetNumberOfIes() const;
293
294 private:
295 uint32_t m_numberOfIes; ///< number of IEs
296 uint32_t m_headerLength; ///< header length
297
298 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID
299 uint16_t m_newEnbUeX2apId; ///< new ENB UE X2 AP ID
300 std::vector<EpcX2Sap::ErabAdmittedItem> m_erabsAdmittedList; ///< ERABs admitted list
301 std::vector<EpcX2Sap::ErabNotAdmittedItem> m_erabsNotAdmittedList; ///< ERABs not admitted list
302};
303
304/**
305 * EpcX2HandoverPreparationFailureHeader
306 */
308{
309 public:
312
313 /**
314 * \brief Get the type ID.
315 * \return the object TypeId
316 */
317 static TypeId GetTypeId();
318 TypeId GetInstanceTypeId() const override;
319 uint32_t GetSerializedSize() const override;
320 void Serialize(Buffer::Iterator start) const override;
321 uint32_t Deserialize(Buffer::Iterator start) override;
322 void Print(std::ostream& os) const override;
323
324 /**
325 * Get old ENB UE X2 AP ID function
326 * \returns the old ENB UE X2 AP ID
327 */
328 uint16_t GetOldEnbUeX2apId() const;
329 /**
330 * Set old ENB UE X2 AP ID function
331 * \param x2apId the old ENB UE X2 AP ID
332 */
333 void SetOldEnbUeX2apId(uint16_t x2apId);
334
335 /**
336 * Get cause function
337 * \returns the cause
338 */
339 uint16_t GetCause() const;
340 /**
341 * Set cause function
342 * \param cause
343 */
344 void SetCause(uint16_t cause);
345
346 /**
347 * Get criticality diagnostics function
348 * \returns the criticality diagnostics
349 */
350 uint16_t GetCriticalityDiagnostics() const;
351 /**
352 * Set criticality diagnostics function
353 * \param criticalityDiagnostics the criticality diagnostics
354 */
355 void SetCriticalityDiagnostics(uint16_t criticalityDiagnostics);
356
357 /**
358 * Get length of IEs function
359 * \returns the length of IEs
360 */
361 uint32_t GetLengthOfIes() const;
362 /**
363 * Get number of IEs function
364 * \returns the number of IEs
365 */
366 uint32_t GetNumberOfIes() const;
367
368 private:
369 uint32_t m_numberOfIes; ///< number of IEs
370 uint32_t m_headerLength; ///< header length
371
372 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID
373 uint16_t m_cause; ///< cause
374 uint16_t m_criticalityDiagnostics; ///< criticality diagnostics
375};
376
377/**
378 * EpcX2SnStatusTransferHeader
379 */
381{
382 public:
385
386 /**
387 * \brief Get the type ID.
388 * \return the object TypeId
389 */
390 static TypeId GetTypeId();
391 TypeId GetInstanceTypeId() const override;
392 uint32_t GetSerializedSize() const override;
393 void Serialize(Buffer::Iterator start) const override;
394 uint32_t Deserialize(Buffer::Iterator start) override;
395 void Print(std::ostream& os) const override;
396
397 /**
398 * Get old ENB UE X2 AP ID function
399 * \returns the old ENB UE X2 AP ID
400 */
401 uint16_t GetOldEnbUeX2apId() const;
402 /**
403 * Set old ENB UE X2 AP ID function
404 * \param x2apId the old ENB UE X2 AP ID
405 */
406 void SetOldEnbUeX2apId(uint16_t x2apId);
407
408 /**
409 * Get new ENB UE X2 AP ID function
410 * \returns the new ENB UE X2AP ID
411 */
412 uint16_t GetNewEnbUeX2apId() const;
413 /**
414 * Set new ENB UE X2 AP ID function
415 * \param x2apId the new ENB UE X2AP ID
416 */
417 void SetNewEnbUeX2apId(uint16_t x2apId);
418
419 /**
420 * Get ERABs subject to status transfer list function
421 * \returns std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem>
422 */
423 std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem> GetErabsSubjectToStatusTransferList()
424 const;
425 /**
426 * Set ERABs subject to status transfer list function
427 * \param erabs std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem>
428 */
430 std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem> erabs);
431
432 /**
433 * Get length of IEs function
434 * \returns the length of IEs
435 */
436 uint32_t GetLengthOfIes() const;
437 /**
438 * Get number of IEs function
439 * \returns the number of IEs
440 */
441 uint32_t GetNumberOfIes() const;
442
443 private:
444 uint32_t m_numberOfIes; ///< number of IEs
445 uint32_t m_headerLength; ///< header length
446
447 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID
448 uint16_t m_newEnbUeX2apId; ///< new ENB UE X2 AP ID
449 std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem>
450 m_erabsSubjectToStatusTransferList; ///< ERABs subject to status transfer list
451};
452
453/**
454 * EpcX2UeContextReleaseHeader
455 */
457{
458 public:
461
462 /**
463 * \brief Get the type ID.
464 * \return the object TypeId
465 */
466 static TypeId GetTypeId();
467 TypeId GetInstanceTypeId() const override;
468 uint32_t GetSerializedSize() const override;
469 void Serialize(Buffer::Iterator start) const override;
470 uint32_t Deserialize(Buffer::Iterator start) override;
471 void Print(std::ostream& os) const override;
472
473 /**
474 * Get old ENB UE X2 AP ID function
475 * \returns the old ENB UE X2 AP ID
476 */
477 uint16_t GetOldEnbUeX2apId() const;
478 /**
479 * Set old ENB UE X2 AP ID function
480 * \param x2apId the old ENB UE X2 AP ID
481 */
482 void SetOldEnbUeX2apId(uint16_t x2apId);
483
484 /**
485 * Get new ENB UE X2 AP ID function
486 * \returns the new ENB UE X2 AP ID
487 */
488 uint16_t GetNewEnbUeX2apId() const;
489 /**
490 * Set new ENB UE X2 AP ID function
491 * \param x2apId the new ENB UE X2 AP ID
492 */
493 void SetNewEnbUeX2apId(uint16_t x2apId);
494
495 /**
496 * Get length of IEs function
497 * \returns the length of IEs
498 */
499 uint32_t GetLengthOfIes() const;
500 /**
501 * Set length of IEs function
502 * \returns the number of IEs
503 */
504 uint32_t GetNumberOfIes() const;
505
506 private:
507 uint32_t m_numberOfIes; ///< number of IEs
508 uint32_t m_headerLength; ///< header length
509
510 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID
511 uint16_t m_newEnbUeX2apId; ///< new ENB UE X2 AP ID
512};
513
514/**
515 * EpcX2LoadInformationHeader
516 */
518{
519 public:
522
523 /**
524 * \brief Get the type ID.
525 * \return the object TypeId
526 */
527 static TypeId GetTypeId();
528 TypeId GetInstanceTypeId() const override;
529 uint32_t GetSerializedSize() const override;
530 void Serialize(Buffer::Iterator start) const override;
531 uint32_t Deserialize(Buffer::Iterator start) override;
532 void Print(std::ostream& os) const override;
533
534 /**
535 * Get cell information list function
536 * \returns std::vector <EpcX2Sap::CellInformationItem>
537 */
538 std::vector<EpcX2Sap::CellInformationItem> GetCellInformationList() const;
539 /**
540 * Set cell information list function
541 * \param cellInformationList std::vector <EpcX2Sap::CellInformationItem>
542 */
543 void SetCellInformationList(std::vector<EpcX2Sap::CellInformationItem> cellInformationList);
544
545 /**
546 * Get length of IEs function
547 * \returns the length of IEs
548 */
549 uint32_t GetLengthOfIes() const;
550 /**
551 * Get number of IEs function
552 * \returns the number of IEs
553 */
554 uint32_t GetNumberOfIes() const;
555
556 private:
557 uint32_t m_numberOfIes; ///< number of IEs
558 uint32_t m_headerLength; ///< length of IEs
559
560 std::vector<EpcX2Sap::CellInformationItem> m_cellInformationList; ///< cell information list
561};
562
563/**
564 * EpcX2ResourceStatusUpdateHeader
565 */
567{
568 public:
571
572 /**
573 * \brief Get the type ID.
574 * \return the object TypeId
575 */
576 static TypeId GetTypeId();
577 TypeId GetInstanceTypeId() const override;
578 uint32_t GetSerializedSize() const override;
579 void Serialize(Buffer::Iterator start) const override;
580 uint32_t Deserialize(Buffer::Iterator start) override;
581 void Print(std::ostream& os) const override;
582
583 /**
584 * Get ENB1 measurement ID function
585 * \returns the ENB1 measurement ID
586 */
587 uint16_t GetEnb1MeasurementId() const;
588 /**
589 * Set ENB1 measurement ID function
590 * \param enb1MeasurementId the ENB1 measurement ID
591 */
592 void SetEnb1MeasurementId(uint16_t enb1MeasurementId);
593
594 /**
595 * Get ENB2 measurement ID function
596 * \returns the ENB2 measurement ID
597 */
598 uint16_t GetEnb2MeasurementId() const;
599 /**
600 * Set ENB2 measurement ID function
601 * \param enb2MeasurementId ENB2 measruement ID
602 */
603 void SetEnb2MeasurementId(uint16_t enb2MeasurementId);
604
605 /**
606 * Get cell measurement results list function
607 * \returns the cell measurement results list
608 */
609 std::vector<EpcX2Sap::CellMeasurementResultItem> GetCellMeasurementResultList() const;
610 /**
611 * Set cell measurement results list function
612 * \param cellMeasurementResultList the cell measurement results list
613 */
615 std::vector<EpcX2Sap::CellMeasurementResultItem> cellMeasurementResultList);
616
617 /**
618 * Get length of IEs function
619 * \returns the length of IEs
620 */
621 uint32_t GetLengthOfIes() const;
622 /**
623 * Get number of IEs function
624 * \returns the number of IEs
625 */
626 uint32_t GetNumberOfIes() const;
627
628 private:
629 uint32_t m_numberOfIes; ///< number of IEs
630 uint32_t m_headerLength; ///< header length
631
632 uint16_t m_enb1MeasurementId; ///< ENB1 measurement
633 uint16_t m_enb2MeasurementId; ///< ENB2 measurement
634 std::vector<EpcX2Sap::CellMeasurementResultItem>
635 m_cellMeasurementResultList; ///< cell measurement result list
636};
637
638/**
639 * EpcX2HandoverCancelHeader
640 */
642{
643 public:
646
647 /**
648 * \brief Get the type ID.
649 * \return the object TypeId
650 */
651 static TypeId GetTypeId();
652 TypeId GetInstanceTypeId() const override;
653 uint32_t GetSerializedSize() const override;
654 void Serialize(Buffer::Iterator start) const override;
655 uint32_t Deserialize(Buffer::Iterator start) override;
656 void Print(std::ostream& os) const override;
657
658 /**
659 * \brief Get old ENB UE X2 AP ID function
660 * \returns the old ENB UE X2 AP ID
661 */
662 uint16_t GetOldEnbUeX2apId() const;
663 /**
664 * \brief Set old ENB UE X2 AP ID function
665 * \param x2apId the old ENB UE X2 AP ID
666 */
667 void SetOldEnbUeX2apId(uint16_t x2apId);
668
669 /**
670 * \brief Get new ENB UE X2 AP ID function
671 * \returns the new ENB UE X2 AP ID
672 */
673 uint16_t GetNewEnbUeX2apId() const;
674 /**
675 * \brief Set new ENB UE X2 AP ID function
676 * \param x2apId the new ENB UE X2 AP ID
677 */
678 void SetNewEnbUeX2apId(uint16_t x2apId);
679
680 /**
681 * \brief Get cause function
682 * \returns the cause
683 */
684 uint16_t GetCause() const;
685 /**
686 * \brief Set cause function
687 * \param cause
688 */
689 void SetCause(uint16_t cause);
690
691 /**
692 * \brief Get length of IEs function
693 * \returns the length of IEs
694 */
695 uint32_t GetLengthOfIes() const;
696 /**
697 * \brief Get number of IEs function
698 * \returns the number of IEs
699 */
700 uint32_t GetNumberOfIes() const;
701
702 private:
703 uint32_t m_numberOfIes; ///< number of IEs
704 uint32_t m_headerLength; ///< header length
705
706 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID
707 uint16_t m_newEnbUeX2apId; ///< new ENB UE X2 AP ID
708 uint16_t m_cause; ///< cause
709};
710
711} // namespace ns3
712
713#endif // EPC_X2_HEADER_H
iterator in a Buffer instance
Definition buffer.h:89
EpcX2HandoverCancelHeader.
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
uint16_t GetNewEnbUeX2apId() const
Get new ENB UE X2 AP ID function.
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint16_t m_newEnbUeX2apId
new ENB UE X2 AP ID
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
uint32_t Deserialize(Buffer::Iterator start) override
uint32_t m_headerLength
header length
void SetCause(uint16_t cause)
Set cause function.
void Serialize(Buffer::Iterator start) const override
uint16_t GetCause() const
Get cause function.
uint32_t GetNumberOfIes() const
Get number of IEs function.
void Print(std::ostream &os) const override
uint32_t GetSerializedSize() const override
uint32_t m_numberOfIes
number of IEs
static TypeId GetTypeId()
Get the type ID.
void SetNewEnbUeX2apId(uint16_t x2apId)
Set new ENB UE X2 AP ID function.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
EpcX2HandoverPreparationFailureHeader.
void SetCriticalityDiagnostics(uint16_t criticalityDiagnostics)
Set criticality diagnostics function.
uint32_t Deserialize(Buffer::Iterator start) override
void SetCause(uint16_t cause)
Set cause function.
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
void Serialize(Buffer::Iterator start) const override
static TypeId GetTypeId()
Get the type ID.
uint16_t GetCause() const
Get cause function.
uint16_t m_criticalityDiagnostics
criticality diagnostics
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint16_t GetCriticalityDiagnostics() const
Get criticality diagnostics function.
void Print(std::ostream &os) const override
uint32_t GetSerializedSize() const override
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.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
EpcX2HandoverRequestAckHeader.
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.
uint32_t Deserialize(Buffer::Iterator start) override
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
static TypeId GetTypeId()
Get the type ID.
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.
uint32_t GetSerializedSize() const override
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.
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.
void Print(std::ostream &os) const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void Serialize(Buffer::Iterator start) const override
EpcX2HandoverRequestHeader.
uint16_t GetCause() const
Get cause function.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
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.
void Serialize(Buffer::Iterator start) const override
void SetTargetCellId(uint16_t targetCellId)
Set target cell id function.
void Print(std::ostream &os) const override
uint64_t m_ueAggregateMaxBitRateUplink
aggregate max bit rate uplink
uint32_t m_headerLength
header length
void SetUeAggregateMaxBitRateUplink(uint64_t bitRate)
Set UE Aggregate Max Bit Rate Uplik function.
uint64_t GetUeAggregateMaxBitRateUplink() const
Get UE Aggregate 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 Aggregate Max Bit Rate Downlink function.
uint32_t m_numberOfIes
number of IEs
static TypeId GetTypeId()
Get the type ID.
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
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.
uint32_t GetSerializedSize() const override
uint64_t m_ueAggregateMaxBitRateDownlink
aggregate max bit rate downlink
uint32_t Deserialize(Buffer::Iterator start) override
TypeOfMessage_t
Type of message enumeration.
static TypeId GetTypeId()
Get the type ID.
void SetLengthOfIes(uint32_t lengthOfIes)
Set length of IEs function.
void Print(std::ostream &os) const override
uint8_t m_messageType
message type
uint32_t Deserialize(Buffer::Iterator start) override
void SetProcedureCode(uint8_t procedureCode)
Set procedure code function.
uint8_t GetProcedureCode() const
Get procedure code function.
uint32_t GetSerializedSize() const override
void Serialize(Buffer::Iterator start) const override
uint32_t m_numberOfIes
number of IEs
uint8_t m_procedureCode
procedure code
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void SetNumberOfIes(uint32_t numberOfIes)
Set number of IEs function.
uint32_t m_lengthOfIes
length of IEs
uint8_t GetMessageType() const
Get message type function.
~EpcX2Header() override
void SetMessageType(uint8_t messageType)
Set message type function.
ProcedureCode_t
Procedure code enumeration 9.3.7.
EpcX2LoadInformationHeader.
uint32_t m_headerLength
length of IEs
void Print(std::ostream &os) const override
std::vector< EpcX2Sap::CellInformationItem > GetCellInformationList() const
Get cell information list function.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void Serialize(Buffer::Iterator start) const override
uint32_t GetNumberOfIes() const
Get number of IEs function.
void SetCellInformationList(std::vector< EpcX2Sap::CellInformationItem > cellInformationList)
Set cell information list function.
std::vector< EpcX2Sap::CellInformationItem > m_cellInformationList
cell information list
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint32_t GetSerializedSize() const override
uint32_t Deserialize(Buffer::Iterator start) override
uint32_t m_numberOfIes
number of IEs
static TypeId GetTypeId()
Get the type ID.
EpcX2ResourceStatusUpdateHeader.
uint16_t m_enb1MeasurementId
ENB1 measurement.
uint32_t Deserialize(Buffer::Iterator start) override
uint16_t m_enb2MeasurementId
ENB2 measurement.
void SetEnb2MeasurementId(uint16_t enb2MeasurementId)
Set ENB2 measurement ID function.
void SetEnb1MeasurementId(uint16_t enb1MeasurementId)
Set ENB1 measurement ID function.
uint32_t GetLengthOfIes() const
Get length of IEs function.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint32_t GetNumberOfIes() const
Get number of IEs function.
void Print(std::ostream &os) const override
uint16_t GetEnb2MeasurementId() const
Get ENB2 measurement ID function.
std::vector< EpcX2Sap::CellMeasurementResultItem > GetCellMeasurementResultList() const
Get cell measurement results list function.
static TypeId GetTypeId()
Get the type ID.
std::vector< EpcX2Sap::CellMeasurementResultItem > m_cellMeasurementResultList
cell measurement result list
void SetCellMeasurementResultList(std::vector< EpcX2Sap::CellMeasurementResultItem > cellMeasurementResultList)
Set cell measurement results list function.
uint16_t GetEnb1MeasurementId() const
Get ENB1 measurement ID function.
void Serialize(Buffer::Iterator start) const override
uint32_t GetSerializedSize() const override
EpcX2SnStatusTransferHeader.
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
uint16_t GetNewEnbUeX2apId() const
Get new ENB UE X2 AP ID function.
static TypeId GetTypeId()
Get the type ID.
uint32_t Deserialize(Buffer::Iterator start) override
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.
void Serialize(Buffer::Iterator start) const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
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.
uint32_t GetSerializedSize() const override
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
void Print(std::ostream &os) const override
EpcX2UeContextReleaseHeader.
uint16_t m_newEnbUeX2apId
new ENB UE X2 AP ID
uint32_t Deserialize(Buffer::Iterator start) override
static TypeId GetTypeId()
Get the type ID.
uint32_t m_headerLength
header length
void SetNewEnbUeX2apId(uint16_t x2apId)
Set new ENB UE X2 AP ID function.
void Serialize(Buffer::Iterator start) const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint16_t GetNewEnbUeX2apId() const
Get new ENB UE X2 AP ID function.
uint32_t GetSerializedSize() const override
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
uint32_t GetNumberOfIes() const
Set length of IEs function.
void Print(std::ostream &os) const override
uint32_t m_numberOfIes
number of IEs
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
Protocol header serialization and deserialization.
Definition header.h:33
a unique identifier for an interface.
Definition type-id.h:48
Every class exported by the ns3 library is enclosed in the ns3 namespace.