ns3::SatUplinkInfoTag Class Reference

Tag to store uplink phy info that need to be forwarded to the downlink. More...

#include "satellite-uplink-info-tag.h"

+ Inheritance diagram for ns3::SatUplinkInfoTag:
+ Collaboration diagram for ns3::SatUplinkInfoTag:

Public Member Functions

 SatUplinkInfoTag ()
 Default constructor. More...
 
 SatUplinkInfoTag (Time satelliteReceptionTime, double sinr, double additionalInterference, uint32_t satId, uint32_t beamId, bool isControl)
 Constructor with initialization parameters. More...
 
virtual void Deserialize (TagBuffer i)
 Deserializes information from buffer to this instance of SatUplinkInfoTag. More...
 
double GetAdditionalInterference (void) const
 Get additional interference to add to compute final SINR. More...
 
uint32_t GetBeamId (void) const
 Get the UT beam ID. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the type ID of instance. More...
 
Time GetSatelliteReceptionTime (void) const
 Get satellite reception time of packet. More...
 
uint32_t GetSatId (void) const
 Get the UT sat ID. More...
 
virtual uint32_t GetSerializedSize () const
 Get serialized size of SatUplinkInfoTag. More...
 
double GetSinr (void) const
 Get uplink SINR. More...
 
bool IsControl (void) const
 Get if packet is a control packet. More...
 
bool IsSinrComputed (void) const
 Tell if SINR already computed. More...
 
virtual void Print (std::ostream &os) const
 Print time stamp of this instance of SatUplinkInfoTag. More...
 
virtual void Serialize (TagBuffer i) const
 Serializes information to buffer from this instance of SatUplinkInfoTag. More...
 
void SetBeamId (uint32_t beamId)
 Set the UT beam ID. More...
 
void SetIsControl (bool isControl)
 Set if packet is a control packet. More...
 
void SetSatelliteReceptionTime (Time satelliteReceptionTime)
 Set satellite reception time of packet. More...
 
void SetSatId (uint32_t satId)
 Set the UT sat ID. More...
 
void SetSinr (double sinr, double additionalInterference)
 Set uplink SINR. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Attributes

double m_additionalInterference
 
uint32_t m_beamId
 
bool m_isControl
 
Time m_satelliteReceptionTime
 
uint32_t m_satId
 
double m_sinr
 
bool m_sinrComputed
 

Detailed Description

Tag to store uplink phy info that need to be forwarded to the downlink.

Definition at line 34 of file satellite-uplink-info-tag.h.

Constructor & Destructor Documentation

◆ SatUplinkInfoTag() [1/2]

ns3::SatUplinkInfoTag::SatUplinkInfoTag ( )

Default constructor.

Definition at line 28 of file satellite-uplink-info-tag.cc.

◆ SatUplinkInfoTag() [2/2]

ns3::SatUplinkInfoTag::SatUplinkInfoTag ( Time  satelliteReceptionTime,
double  sinr,
double  additionalInterference,
uint32_t  satId,
uint32_t  beamId,
bool  isControl 
)

Constructor with initialization parameters.

Parameters
satelliteReceptionTime
sinr
additionalInterferenceadditional interference to add to compute final SINR
satIdSatellite ID of the UT
beamIdBeam ID of the UT
isControlThis is a control packet

Definition at line 40 of file satellite-uplink-info-tag.cc.

Member Function Documentation

◆ Deserialize()

void ns3::SatUplinkInfoTag::Deserialize ( TagBuffer  i)
virtual

Deserializes information from buffer to this instance of SatUplinkInfoTag.

Parameters
iBuffer from which the information is deserialized

Definition at line 92 of file satellite-uplink-info-tag.cc.

References m_additionalInterference, m_beamId, m_isControl, m_satelliteReceptionTime, m_satId, m_sinr, and m_sinrComputed.

◆ GetAdditionalInterference()

double ns3::SatUplinkInfoTag::GetAdditionalInterference ( void  ) const

Get additional interference to add to compute final SINR.

Returns
The interference to add

Definition at line 139 of file satellite-uplink-info-tag.cc.

References m_additionalInterference.

◆ GetBeamId()

uint32_t ns3::SatUplinkInfoTag::GetBeamId ( void  ) const

◆ GetInstanceTypeId()

TypeId ns3::SatUplinkInfoTag::GetInstanceTypeId ( void  ) const
virtual

Get the type ID of instance.

Returns
the object TypeId

Definition at line 66 of file satellite-uplink-info-tag.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetSatelliteReceptionTime()

Time ns3::SatUplinkInfoTag::GetSatelliteReceptionTime ( void  ) const

Get satellite reception time of packet.

Returns
Satellite reception time

Definition at line 114 of file satellite-uplink-info-tag.cc.

References m_satelliteReceptionTime.

Referenced by ns3::SatGwMac::Receive().

+ Here is the caller graph for this function:

◆ GetSatId()

uint32_t ns3::SatUplinkInfoTag::GetSatId ( void  ) const

Get the UT sat ID.

Returns
Sat ID

Definition at line 151 of file satellite-uplink-info-tag.cc.

References m_satId.

Referenced by ns3::SatGwMac::Receive(), and ns3::SatPhyRxCarrierPerSlot::ReceiveSlot().

+ Here is the caller graph for this function:

◆ GetSerializedSize()

uint32_t ns3::SatUplinkInfoTag::GetSerializedSize ( void  ) const
virtual

Get serialized size of SatUplinkInfoTag.

Returns
Serialized size in bytes

Definition at line 72 of file satellite-uplink-info-tag.cc.

◆ GetSinr()

double ns3::SatUplinkInfoTag::GetSinr ( void  ) const

Get uplink SINR.

Returns
Uplink SINR

Definition at line 126 of file satellite-uplink-info-tag.cc.

References m_sinr.

Referenced by ns3::SatPhyRxCarrierPerSlot::ReceiveSlot().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::SatUplinkInfoTag::GetTypeId ( void  )
static

Get the type ID.

Returns
the object TypeId

Definition at line 58 of file satellite-uplink-info-tag.cc.

Referenced by GetInstanceTypeId().

+ Here is the caller graph for this function:

◆ IsControl()

bool ns3::SatUplinkInfoTag::IsControl ( void  ) const

Get if packet is a control packet.

Returns
True if this is a control packet

Definition at line 175 of file satellite-uplink-info-tag.cc.

References m_isControl.

Referenced by ns3::SatGwMac::Receive().

+ Here is the caller graph for this function:

◆ IsSinrComputed()

bool ns3::SatUplinkInfoTag::IsSinrComputed ( void  ) const

Tell if SINR already computed.

Returns
true if already computed

Definition at line 145 of file satellite-uplink-info-tag.cc.

References m_sinrComputed.

◆ Print()

void ns3::SatUplinkInfoTag::Print ( std::ostream &  os) const
virtual

Print time stamp of this instance of SatUplinkInfoTag.

Parameters
&osOutput stream to which tag timestamp is printed.

Definition at line 107 of file satellite-uplink-info-tag.cc.

References m_beamId, m_isControl, m_satelliteReceptionTime, m_satId, and m_sinr.

◆ Serialize()

void ns3::SatUplinkInfoTag::Serialize ( TagBuffer  i) const
virtual

Serializes information to buffer from this instance of SatUplinkInfoTag.

Parameters
iBuffer in which the information is serialized

Definition at line 78 of file satellite-uplink-info-tag.cc.

References m_additionalInterference, m_beamId, m_isControl, m_satelliteReceptionTime, m_satId, m_sinr, and m_sinrComputed.

◆ SetBeamId()

void ns3::SatUplinkInfoTag::SetBeamId ( uint32_t  beamId)

Set the UT beam ID.

Parameters
beamIdBeam ID

Definition at line 169 of file satellite-uplink-info-tag.cc.

References m_beamId.

Referenced by ns3::SatGeoFeederPhy::Receive(), ns3::SatGeoUserPhy::Receive(), and ns3::SatGeoNetDevice::SendControlMsgToFeeder().

+ Here is the caller graph for this function:

◆ SetIsControl()

void ns3::SatUplinkInfoTag::SetIsControl ( bool  isControl)

Set if packet is a control packet.

Parameters
isControlTrue if this is a control packet

Definition at line 181 of file satellite-uplink-info-tag.cc.

References m_isControl.

Referenced by ns3::SatGeoUserPhy::Receive().

+ Here is the caller graph for this function:

◆ SetSatelliteReceptionTime()

void ns3::SatUplinkInfoTag::SetSatelliteReceptionTime ( Time  satelliteReceptionTime)

Set satellite reception time of packet.

Parameters
satelliteReceptionTimeSatellite reception time

Definition at line 120 of file satellite-uplink-info-tag.cc.

References m_satelliteReceptionTime.

Referenced by ns3::SatGeoUserPhy::Receive().

+ Here is the caller graph for this function:

◆ SetSatId()

void ns3::SatUplinkInfoTag::SetSatId ( uint32_t  satId)

Set the UT sat ID.

Parameters
satIdSat ID

Definition at line 157 of file satellite-uplink-info-tag.cc.

References m_satId.

Referenced by ns3::SatGeoFeederPhy::Receive(), ns3::SatGeoUserPhy::Receive(), and ns3::SatGeoNetDevice::SendControlMsgToFeeder().

+ Here is the caller graph for this function:

◆ SetSinr()

void ns3::SatUplinkInfoTag::SetSinr ( double  sinr,
double  additionalInterference 
)

Set uplink SINR.

Parameters
sinrUplink SINR
additionalInterferenceadditional interference to add to compute final SINR

Definition at line 132 of file satellite-uplink-info-tag.cc.

References m_additionalInterference, and m_sinr.

Referenced by ns3::SatPhyRxCarrierPerWindow::CalculatePacketInterferenceVectors(), ns3::SatPhyRxCarrierMarsala::PerformMarsala(), ns3::SatPhyRxCarrierPerFrame::ProcessReceivedCrdsaPacket(), ns3::SatPhyRxCarrierPerSlot::ReceiveSlot(), and ns3::SatGeoNetDevice::SendControlMsgToFeeder().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_additionalInterference

double ns3::SatUplinkInfoTag::m_additionalInterference
private

◆ m_beamId

uint32_t ns3::SatUplinkInfoTag::m_beamId
private

Definition at line 173 of file satellite-uplink-info-tag.h.

Referenced by Deserialize(), GetBeamId(), Print(), Serialize(), and SetBeamId().

◆ m_isControl

bool ns3::SatUplinkInfoTag::m_isControl
private

Definition at line 174 of file satellite-uplink-info-tag.h.

Referenced by Deserialize(), IsControl(), Print(), Serialize(), and SetIsControl().

◆ m_satelliteReceptionTime

Time ns3::SatUplinkInfoTag::m_satelliteReceptionTime
private

◆ m_satId

uint32_t ns3::SatUplinkInfoTag::m_satId
private

Definition at line 172 of file satellite-uplink-info-tag.h.

Referenced by Deserialize(), GetSatId(), Print(), Serialize(), and SetSatId().

◆ m_sinr

double ns3::SatUplinkInfoTag::m_sinr
private

Definition at line 169 of file satellite-uplink-info-tag.h.

Referenced by Deserialize(), GetSinr(), Print(), Serialize(), and SetSinr().

◆ m_sinrComputed

bool ns3::SatUplinkInfoTag::m_sinrComputed
private

Definition at line 171 of file satellite-uplink-info-tag.h.

Referenced by Deserialize(), IsSinrComputed(), and Serialize().


The documentation for this class was generated from the following files: