22 #include "ns3/epc-x2-header.h" 
   33   : m_messageType (0xfa),
 
   34     m_procedureCode (0xfa),
 
   53     .AddConstructor<EpcX2Header> ()
 
  151   : m_numberOfIes (1 + 1 + 1 + 1),
 
  152     m_headerLength (6 + 5 + 12 + (3 + 4 + 8 + 8 + 4)),
 
  153     m_oldEnbUeX2apId (0xfffa),
 
  155     m_targetCellId (0xfffa),
 
  156     m_mmeUeS1apId (0xfffffffa)
 
  175   static TypeId tid = 
TypeId (
"ns3::EpcX2HandoverRequestHeader")
 
  177     .AddConstructor<EpcX2HandoverRequestHeader> ()
 
  224   for (
int j = 0; j < (int) sz; j++)
 
  281   for (
int j = 0; j < sz; j++)
 
  323   for (
int j = 0; j < (int) sz; j++)
 
  326       if (j < (
int) sz - 1)
 
  385 std::vector <EpcX2Sap::ErabToBeSetupItem>
 
  439   : m_numberOfIes (1 + 1 + 1 + 1),
 
  440     m_headerLength (2 + 2 + 4 + 4),
 
  441     m_oldEnbUeX2apId (0xfffa),
 
  442     m_newEnbUeX2apId (0xfffa)
 
  459   static TypeId tid = 
TypeId (
"ns3::EpcX2HandoverRequestAckHeader")
 
  461     .AddConstructor<EpcX2HandoverRequestAckHeader> ()
 
  488   for (
int j = 0; j < (int) sz; j++)
 
  497   for (
int j = 0; j < (int) sz2; j++)
 
  521   for (
int j = 0; j < sz; j++)
 
  537   for (
int j = 0; j < sz; j++)
 
  563   for (
int j = 0; j < (int) sz; j++)
 
  566       if (j < (
int) sz - 1)
 
  582   for (
int j = 0; j < (int) sz2; j++)
 
  585       if (j < (
int) sz2 - 1)
 
  621 std::vector <EpcX2Sap::ErabAdmittedItem> 
 
  634 std::vector <EpcX2Sap::ErabNotAdmittedItem>
 
  664   : m_numberOfIes (1 + 1 + 1),
 
  665     m_headerLength (2 + 2 + 2),
 
  666     m_oldEnbUeX2apId (0xfffa),
 
  668     m_criticalityDiagnostics (0xfffa)
 
  684   static TypeId tid = 
TypeId (
"ns3::EpcX2HandoverPreparationFailureHeader")
 
  686     .AddConstructor<EpcX2HandoverPreparationFailureHeader> ()
 
  791     m_oldEnbUeX2apId (0xfffa),
 
  792     m_newEnbUeX2apId (0xfffa)
 
  809   static TypeId tid = 
TypeId (
"ns3::EpcX2SnStatusTransferHeader")
 
  811     .AddConstructor<EpcX2SnStatusTransferHeader> ()
 
  839   for (
int j = 0; j < (int) sz; j++)
 
  846       for (
int k = 0; k < bitsetSize; k++)
 
  848           uint64_t statusValue = 0;
 
  849           for (
int m = 0; m < 64; m++)
 
  875   for (
int j = 0; j < sz; j++)
 
  881       for (
int k = 0; k < bitsetSize; k++)
 
  884           for (
int m = 0; m < 64; m++)
 
  913   for (
int j = 0; j < (int) sz; j++)
 
  916       if (j < (
int) sz - 1)
 
  951 std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem>
 
  981   : m_numberOfIes (1 + 1),
 
  982     m_headerLength (2 + 2),
 
  983     m_oldEnbUeX2apId (0xfffa),
 
  984     m_newEnbUeX2apId (0xfffa)
 
  999   static TypeId tid = 
TypeId (
"ns3::EpcX2UeContextReleaseHeader")
 
 1001     .AddConstructor<EpcX2UeContextReleaseHeader> ()
 
 1088   : m_numberOfIes (1),
 
 1104   static TypeId tid = 
TypeId (
"ns3::EpcX2LoadInformationHeader")
 
 1106     .AddConstructor<EpcX2LoadInformationHeader> ()
 
 1135   for (
int j = 0; j < (int) sz; j++)
 
 1139       std::vector <EpcX2Sap::UlInterferenceOverloadIndicationItem>::size_type sz2;
 
 1143       for (
int k = 0; k < (int) sz2; k++)
 
 1148       std::vector <EpcX2Sap::UlHighInterferenceInformationItem>::size_type sz3;
 
 1152       for (
int k = 0; k < (int) sz3; k++)
 
 1156           std::vector <bool>::size_type sz4;
 
 1157           sz4 = 
m_cellInformationList [j].ulHighInterferenceInformationList [k].ulHighInterferenceIndicationList.size ();
 
 1160           for (
int m = 0; m < (int) sz4; m++)
 
 1166       std::vector <bool>::size_type sz5;
 
 1170       for (
int k = 0; k < (int) sz5; k++)
 
 1197   for (
int j = 0; j < sz; j++)
 
 1205       for (
int k = 0; k < sz2; k++)
 
 1214       for (
int k = 0; k < sz3; k++)
 
 1222           for (
int m = 0; m < sz4; m++)
 
 1233       for (
int k = 0; k < sz5; k++)
 
 1257 std::vector <EpcX2Sap::CellInformationItem>
 
 1270   for (
int j = 0; j < (int) sz; j++)
 
 1274       std::vector <EpcX2Sap::UlInterferenceOverloadIndicationItem>::size_type sz2;
 
 1278       std::vector <EpcX2Sap::UlHighInterferenceInformationItem>::size_type sz3;
 
 1282       for (
int k = 0; k < (int) sz3; k++)
 
 1284           std::vector <bool>::size_type sz4;
 
 1285           sz4 = 
m_cellInformationList [j].ulHighInterferenceInformationList [k].ulHighInterferenceIndicationList.size ();
 
 1289       std::vector <bool>::size_type sz5;
 
 1312   : m_numberOfIes (3),
 
 1314     m_enb1MeasurementId (0xfffa),
 
 1315     m_enb2MeasurementId (0xfffa)
 
 1332   static TypeId tid = 
TypeId (
"ns3::EpcX2ResourceStatusUpdateHeader")
 
 1334     .AddConstructor<EpcX2ResourceStatusUpdateHeader> ()
 
 1362   for (
int j = 0; j < (int) sz; j++)
 
 1395   for (
int j = 0; j < sz; j++)
 
 1458 std::vector <EpcX2Sap::CellMeasurementResultItem>
 
void WriteHtonU64(uint64_t data)
 
static TypeId GetTypeId(void)
 
virtual void Serialize(Buffer::Iterator start) const 
 
uint16_t GetOldEnbUeX2apId() const 
 
uint32_t GetLengthOfIes() const 
 
EpcX2HandoverPreparationFailureHeader()
 
std::vector< EpcX2Sap::ErabNotAdmittedItem > GetNotAdmittedBearers() const 
 
virtual ~EpcX2HandoverPreparationFailureHeader()
 
uint32_t GetLengthOfIes() const 
 
void SetCause(uint16_t cause)
 
uint64_t ReadNtohU64(void)
 
uint16_t cellCapacityClassValue
 
#define NS_LOG_COMPONENT_DEFINE(name)
 
virtual void Print(std::ostream &os) const 
 
uint16_t m_oldEnbUeX2apId
 
virtual void Serialize(Buffer::Iterator start) const 
 
Ipv4Address transportLayerAddress
 
LoadIndicator dlHardwareLoadIndicator
 
virtual ~EpcX2HandoverRequestHeader()
 
uint16_t GetNewEnbUeX2apId() const 
 
uint32_t GetMmeUeS1apId() const 
 
uint32_t ReadNtohU32(void)
 
uint16_t pdcchInterferenceImpact
 
CompositeAvailCapacity dlCompositeAvailableCapacity
 
iterator in a Buffer instance 
 
uint16_t GetCriticalityDiagnostics() const 
 
uint64_t GetUeAggregateMaxBitRateUplink() const 
 
LoadIndicator ulS1TnlLoadIndicator
 
uint16_t GetTargetCellId() const 
 
std::vector< EpcX2Sap::ErabToBeSetupItem > GetBearers() const 
 
virtual void Serialize(Buffer::Iterator start) const 
 
uint16_t GetOldEnbUeX2apId() const 
 
virtual TypeId GetInstanceTypeId(void) const 
 
virtual uint32_t GetSerializedSize(void) const 
 
void SetTargetCellId(uint16_t targetCellId)
 
UlInterferenceOverloadIndicationItem
 
uint16_t m_oldEnbUeX2apId
 
void SetUeAggregateMaxBitRateUplink(uint64_t bitRate)
 
LoadIndicator ulHardwareLoadIndicator
 
static const uint16_t m_maxPdcpSn
 
GbrQosInformation gbrQosInfo
 
uint32_t GetNumberOfIes() const 
 
NS_OBJECT_ENSURE_REGISTERED(AntennaModel)
 
virtual TypeId GetInstanceTypeId(void) const 
 
void WriteHtonU16(uint16_t data)
 
uint16_t m_newEnbUeX2apId
 
uint16_t m_oldEnbUeX2apId
 
void SetOldEnbUeX2apId(uint16_t x2apId)
 
uint32_t GetNumberOfIes() const 
 
uint32_t GetNumberOfIes() const 
 
void SetUeAggregateMaxBitRateDownlink(uint64_t bitRate)
 
bool preemptionVulnerability
 
virtual TypeId GetInstanceTypeId(void) const 
 
std::bitset< m_maxPdcpSn > receiveStatusOfUlPdcpSdus
 
EpcX2HandoverRequestHeader()
 
virtual uint32_t Deserialize(Buffer::Iterator start)
 
void SetNotAdmittedBearers(std::vector< EpcX2Sap::ErabNotAdmittedItem > bearers)
 
virtual ~EpcX2HandoverRequestAckHeader()
 
EpsBearer erabLevelQosParameters
 
uint16_t m_criticalityDiagnostics
 
void WriteHtonU32(uint32_t data)
 
bool preemptionCapability
 
std::vector< bool > rntpPerPrbList
 
LoadIndicator dlS1TnlLoadIndicator
 
uint64_t m_ueAggregateMaxBitRateUplink
 
uint16_t GetCause() const 
 
Ipv4 addresses are stored in host order in this class. 
 
uint32_t GetLengthOfIes() const 
 
virtual void Print(std::ostream &os) const 
 
static TypeId GetTypeId(void)
 
uint16_t dlNonGbrPrbUsage
 
void WriteU8(uint8_t data)
 
virtual uint32_t GetSerializedSize(void) const 
 
EpcX2HandoverRequestAckHeader()
 
std::vector< EpcX2Sap::ErabNotAdmittedItem > m_erabsNotAdmittedList
 
static TypeId GetTypeId(void)
 
void SetNewEnbUeX2apId(uint16_t x2apId)
 
std::vector< EpcX2Sap::ErabAdmittedItem > m_erabsAdmittedList
 
uint16_t GetOldEnbUeX2apId() const 
 
void SetAdmittedBearers(std::vector< EpcX2Sap::ErabAdmittedItem > bearers)
 
uint16_t GetCause() const 
 
void SetBearers(std::vector< EpcX2Sap::ErabToBeSetupItem > bearers)
 
std::vector< EpcX2Sap::ErabAdmittedItem > GetAdmittedBearers() const 
 
uint64_t GetUeAggregateMaxBitRateDownlink() const 
 
void SetOldEnbUeX2apId(uint16_t x2apId)
 
void SetOldEnbUeX2apId(uint16_t x2apId)
 
uint16_t ReadNtohU16(void)
 
std::vector< EpcX2Sap::ErabToBeSetupItem > m_erabsToBeSetupList
 
void SetCause(uint16_t cause)
 
virtual uint32_t GetSerializedSize(void) const 
 
uint64_t m_ueAggregateMaxBitRateDownlink
 
a unique identifier for an interface. 
 
void SetCriticalityDiagnostics(uint16_t criticalityDiagnostics)
 
uint16_t ulNonGbrPrbUsage
 
TypeId SetParent(TypeId tid)
 
virtual uint32_t Deserialize(Buffer::Iterator start)
 
AllocationRetentionPriority arp
 
virtual uint32_t Deserialize(Buffer::Iterator start)
 
CompositeAvailCapacity ulCompositeAvailableCapacity
 
virtual void Print(std::ostream &os) const 
 
void SetMmeUeS1apId(uint32_t mmeUeS1apId)