A Discrete-Event Network Simulator
API
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 "ns3/epc-x2-sap.h"
24 #include "ns3/header.h"
25 
26 #include <vector>
27 
28 namespace ns3
29 {
30 
31 class EpcX2Header : public Header
32 {
33  public:
34  EpcX2Header();
35  ~EpcX2Header() override;
36 
41  static TypeId GetTypeId();
42  TypeId GetInstanceTypeId() const override;
43  uint32_t GetSerializedSize() const override;
44  void Serialize(Buffer::Iterator start) const override;
45  uint32_t Deserialize(Buffer::Iterator start) override;
46  void Print(std::ostream& os) const override;
47 
52  uint8_t GetMessageType() const;
57  void SetMessageType(uint8_t messageType);
58 
63  uint8_t GetProcedureCode() const;
68  void SetProcedureCode(uint8_t procedureCode);
69 
74  void SetLengthOfIes(uint32_t lengthOfIes);
79  void SetNumberOfIes(uint32_t numberOfIes);
80 
83  {
90  };
91 
94  {
98  };
99 
100  private:
101  uint8_t m_messageType;
102  uint8_t m_procedureCode;
103 
104  uint32_t m_lengthOfIes;
105  uint32_t m_numberOfIes;
106 };
107 
112 {
113  public:
115  ~EpcX2HandoverRequestHeader() override;
116 
121  static TypeId GetTypeId();
122  TypeId GetInstanceTypeId() const override;
123  uint32_t GetSerializedSize() const override;
124  void Serialize(Buffer::Iterator start) const override;
125  uint32_t Deserialize(Buffer::Iterator start) override;
126  void Print(std::ostream& os) const override;
127 
132  uint16_t GetOldEnbUeX2apId() const;
137  void SetOldEnbUeX2apId(uint16_t x2apId);
138 
143  uint16_t GetCause() const;
148  void SetCause(uint16_t cause);
149 
154  uint16_t GetTargetCellId() const;
159  void SetTargetCellId(uint16_t targetCellId);
160 
165  uint32_t GetMmeUeS1apId() const;
170  void SetMmeUeS1apId(uint32_t mmeUeS1apId);
171 
176  std::vector<EpcX2Sap::ErabToBeSetupItem> GetBearers() const;
181  void SetBearers(std::vector<EpcX2Sap::ErabToBeSetupItem> bearers);
182 
187  uint64_t GetUeAggregateMaxBitRateDownlink() const;
192  void SetUeAggregateMaxBitRateDownlink(uint64_t bitRate);
193 
198  uint64_t GetUeAggregateMaxBitRateUplink() const;
203  void SetUeAggregateMaxBitRateUplink(uint64_t bitRate);
204 
209  uint32_t GetLengthOfIes() const;
214  uint32_t GetNumberOfIes() const;
215 
216  private:
217  uint32_t m_numberOfIes;
218  uint32_t m_headerLength;
219 
220  uint16_t m_oldEnbUeX2apId;
221  uint16_t m_cause;
222  uint16_t m_targetCellId;
223  uint32_t m_mmeUeS1apId;
226  std::vector<EpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList;
227 };
228 
233 {
234  public:
237 
242  static TypeId GetTypeId();
243  TypeId GetInstanceTypeId() const override;
244  uint32_t GetSerializedSize() const override;
245  void Serialize(Buffer::Iterator start) const override;
246  uint32_t Deserialize(Buffer::Iterator start) override;
247  void Print(std::ostream& os) const override;
248 
253  uint16_t GetOldEnbUeX2apId() const;
258  void SetOldEnbUeX2apId(uint16_t x2apId);
259 
264  uint16_t GetNewEnbUeX2apId() const;
269  void SetNewEnbUeX2apId(uint16_t x2apId);
270 
275  std::vector<EpcX2Sap::ErabAdmittedItem> GetAdmittedBearers() const;
280  void SetAdmittedBearers(std::vector<EpcX2Sap::ErabAdmittedItem> bearers);
281 
286  std::vector<EpcX2Sap::ErabNotAdmittedItem> GetNotAdmittedBearers() const;
291  void SetNotAdmittedBearers(std::vector<EpcX2Sap::ErabNotAdmittedItem> bearers);
292 
297  uint32_t GetLengthOfIes() const;
302  uint32_t GetNumberOfIes() const;
303 
304  private:
305  uint32_t m_numberOfIes;
306  uint32_t m_headerLength;
307 
308  uint16_t m_oldEnbUeX2apId;
309  uint16_t m_newEnbUeX2apId;
310  std::vector<EpcX2Sap::ErabAdmittedItem> m_erabsAdmittedList;
311  std::vector<EpcX2Sap::ErabNotAdmittedItem> m_erabsNotAdmittedList;
312 };
313 
318 {
319  public:
322 
327  static TypeId GetTypeId();
328  TypeId GetInstanceTypeId() const override;
329  uint32_t GetSerializedSize() const override;
330  void Serialize(Buffer::Iterator start) const override;
331  uint32_t Deserialize(Buffer::Iterator start) override;
332  void Print(std::ostream& os) const override;
333 
338  uint16_t GetOldEnbUeX2apId() const;
343  void SetOldEnbUeX2apId(uint16_t x2apId);
344 
349  uint16_t GetCause() const;
354  void SetCause(uint16_t cause);
355 
360  uint16_t GetCriticalityDiagnostics() const;
365  void SetCriticalityDiagnostics(uint16_t criticalityDiagnostics);
366 
371  uint32_t GetLengthOfIes() const;
376  uint32_t GetNumberOfIes() const;
377 
378  private:
379  uint32_t m_numberOfIes;
380  uint32_t m_headerLength;
381 
382  uint16_t m_oldEnbUeX2apId;
383  uint16_t m_cause;
385 };
386 
391 {
392  public:
394  ~EpcX2SnStatusTransferHeader() override;
395 
400  static TypeId GetTypeId();
401  TypeId GetInstanceTypeId() const override;
402  uint32_t GetSerializedSize() const override;
403  void Serialize(Buffer::Iterator start) const override;
404  uint32_t Deserialize(Buffer::Iterator start) override;
405  void Print(std::ostream& os) const override;
406 
411  uint16_t GetOldEnbUeX2apId() const;
416  void SetOldEnbUeX2apId(uint16_t x2apId);
417 
422  uint16_t GetNewEnbUeX2apId() const;
427  void SetNewEnbUeX2apId(uint16_t x2apId);
428 
433  std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem> GetErabsSubjectToStatusTransferList()
434  const;
440  std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem> erabs);
441 
446  uint32_t GetLengthOfIes() const;
451  uint32_t GetNumberOfIes() const;
452 
453  private:
454  uint32_t m_numberOfIes;
455  uint32_t m_headerLength;
456 
457  uint16_t m_oldEnbUeX2apId;
458  uint16_t m_newEnbUeX2apId;
459  std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem>
461 };
462 
467 {
468  public:
470  ~EpcX2UeContextReleaseHeader() override;
471 
476  static TypeId GetTypeId();
477  TypeId GetInstanceTypeId() const override;
478  uint32_t GetSerializedSize() const override;
479  void Serialize(Buffer::Iterator start) const override;
480  uint32_t Deserialize(Buffer::Iterator start) override;
481  void Print(std::ostream& os) const override;
482 
487  uint16_t GetOldEnbUeX2apId() const;
492  void SetOldEnbUeX2apId(uint16_t x2apId);
493 
498  uint16_t GetNewEnbUeX2apId() const;
503  void SetNewEnbUeX2apId(uint16_t x2apId);
504 
509  uint32_t GetLengthOfIes() const;
514  uint32_t GetNumberOfIes() const;
515 
516  private:
517  uint32_t m_numberOfIes;
518  uint32_t m_headerLength;
519 
520  uint16_t m_oldEnbUeX2apId;
521  uint16_t m_newEnbUeX2apId;
522 };
523 
528 {
529  public:
531  ~EpcX2LoadInformationHeader() override;
532 
537  static TypeId GetTypeId();
538  TypeId GetInstanceTypeId() const override;
539  uint32_t GetSerializedSize() const override;
540  void Serialize(Buffer::Iterator start) const override;
541  uint32_t Deserialize(Buffer::Iterator start) override;
542  void Print(std::ostream& os) const override;
543 
548  std::vector<EpcX2Sap::CellInformationItem> GetCellInformationList() const;
553  void SetCellInformationList(std::vector<EpcX2Sap::CellInformationItem> cellInformationList);
554 
559  uint32_t GetLengthOfIes() const;
564  uint32_t GetNumberOfIes() const;
565 
566  private:
567  uint32_t m_numberOfIes;
568  uint32_t m_headerLength;
569 
570  std::vector<EpcX2Sap::CellInformationItem> m_cellInformationList;
571 };
572 
577 {
578  public:
581 
586  static TypeId GetTypeId();
587  TypeId GetInstanceTypeId() const override;
588  uint32_t GetSerializedSize() const override;
589  void Serialize(Buffer::Iterator start) const override;
590  uint32_t Deserialize(Buffer::Iterator start) override;
591  void Print(std::ostream& os) const override;
592 
597  uint16_t GetEnb1MeasurementId() const;
602  void SetEnb1MeasurementId(uint16_t enb1MeasurementId);
603 
608  uint16_t GetEnb2MeasurementId() const;
613  void SetEnb2MeasurementId(uint16_t enb2MeasurementId);
614 
619  std::vector<EpcX2Sap::CellMeasurementResultItem> GetCellMeasurementResultList() const;
625  std::vector<EpcX2Sap::CellMeasurementResultItem> cellMeasurementResultList);
626 
631  uint32_t GetLengthOfIes() const;
636  uint32_t GetNumberOfIes() const;
637 
638  private:
639  uint32_t m_numberOfIes;
640  uint32_t m_headerLength;
641 
644  std::vector<EpcX2Sap::CellMeasurementResultItem>
646 };
647 
652 {
653  public:
655  ~EpcX2HandoverCancelHeader() override;
656 
661  static TypeId GetTypeId();
662  TypeId GetInstanceTypeId() const override;
663  uint32_t GetSerializedSize() const override;
664  void Serialize(Buffer::Iterator start) const override;
665  uint32_t Deserialize(Buffer::Iterator start) override;
666  void Print(std::ostream& os) const override;
667 
672  uint16_t GetOldEnbUeX2apId() const;
677  void SetOldEnbUeX2apId(uint16_t x2apId);
678 
683  uint16_t GetNewEnbUeX2apId() const;
688  void SetNewEnbUeX2apId(uint16_t x2apId);
689 
694  uint16_t GetCause() const;
699  void SetCause(uint16_t cause);
700 
705  uint32_t GetLengthOfIes() const;
710  uint32_t GetNumberOfIes() const;
711 
712  private:
713  uint32_t m_numberOfIes;
714  uint32_t m_headerLength;
715 
716  uint16_t m_oldEnbUeX2apId;
717  uint16_t m_newEnbUeX2apId;
718  uint16_t m_cause;
719 };
720 
721 } // namespace ns3
722 
723 #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 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.
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.
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
Introspection did not find any typical Config paths.
Definition: epc-x2-header.h:32
TypeOfMessage_t
Type of message enumeration.
Definition: epc-x2-header.h:94
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
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:83
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 m_numberOfIes
number of IEs
static TypeId GetTypeId()
Get the type ID.
EpcX2ResourceStatusUpdateHeader.
uint16_t m_enb1MeasurementId
ENB1 measurement.
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 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
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
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
a unique identifier for an interface.
Definition: type-id.h:60
Every class exported by the ns3 library is enclosed in the ns3 namespace.