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