ns3::SatMac Class Reference

Base MAC class for SatNetDevices. More...

#include "satellite-mac.h"

+ Inheritance diagram for ns3::SatMac:
+ Collaboration diagram for ns3::SatMac:

Public Types

typedef Callback< void, Ptr< const Packet > > LoraReceiveCallback
 Callback to receive packet by upper layer. More...
 
typedef Callback< Ptr< SatControlMessage >, uint32_t > ReadCtrlMsgCallback
 Callback to read control messages from container storing control messages. More...
 
typedef Callback< void, Ptr< Packet >, Mac48Address, Mac48Address > ReceiveCallback
 Callback to receive packet by upper layer. More...
 
typedef Callback< uint32_t, Ptr< SatControlMessage > > ReserveCtrlMsgCallback
 Callback to reserve an id and initially store the control message. More...
 
typedef Callback< void, Address, Address > RoutingUpdateCallback
 Callback to update routing and ARP tables after handover. More...
 
typedef Callback< uint32_t, uint32_t > SendCtrlMsgCallback
 Callback to send a control message and allocate a recv ID for it. More...
 
typedef Callback< void, SatPhy::PacketContainer_t, uint32_t, Time, SatSignalParameters::txInfo_sTransmitCallback
 Callback to send packet to lower layer. More...
 

Public Member Functions

 SatMac ()
 Construct a SatMac. More...
 
 SatMac (uint32_t satId, uint32_t beamId, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode)
 Construct a SatMac. More...
 
 ~SatMac ()
 Destroy a SatMac. More...
 
virtual void Disable ()
 Disable the MAC layer, i.e. More...
 
virtual void Enable ()
 Enable the MAC layer, i.e. More...
 
Address GetAddress () const
 Get MAC address. More...
 
uint32_t GetBeamId () const
 Get beam ID of the object. More...
 
uint32_t GetSatId () const
 Get sat ID of the object. More...
 
virtual void ReceiveQueueEvent (SatQueue::QueueEvent_t event, uint8_t flowIndex)
 Receive a queue event: More...
 
uint32_t ReserveIdAndStoreCtrlMsgToContainer (Ptr< SatControlMessage > msg)
 Reserve id and store the control message. More...
 
uint32_t SendCtrlMsgFromContainer (uint32_t sendId)
 Send the control message from the container. More...
 
void SetLoraReceiveCallback (SatMac::LoraReceiveCallback cb)
 Method to set receive callback. More...
 
virtual void SetNodeInfo (Ptr< SatNodeInfo > nodeInfo)
 Set the node info. More...
 
void SetReadCtrlCallback (SatMac::ReadCtrlMsgCallback cb)
 Method to set read control message callback. More...
 
void SetReceiveCallback (SatMac::ReceiveCallback cb)
 Method to set receive callback. More...
 
void SetReserveCtrlCallback (SatMac::ReserveCtrlMsgCallback cb)
 Method to set reserve control message id callback. More...
 
void SetRoutingUpdateCallback (SatMac::RoutingUpdateCallback cb)
 Method to set the routing update callback. More...
 
virtual void SetSatelliteAddress (Address satelliteAddress)
 Set the satellite MAC address on the other side of this link (if regenerative satellite). More...
 
void SetSendCtrlCallback (SatMac::SendCtrlMsgCallback cb)
 Method to set send control message callback. More...
 
void SetTransmitCallback (SatMac::TransmitCallback cb)
 Method to set transmit callback. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Derived from Object. More...
 

Protected Member Functions

void DoDispose (void)
 Dispose of SatMac. More...
 
void RxTraces (SatPhy::PacketContainer_t packets)
 Invoke the Rx trace source for each received packet. More...
 
virtual void SendPacket (SatPhy::PacketContainer_t packets, uint32_t carrierId, Time duration, SatSignalParameters::txInfo_s txInfo)
 Send packets to lower layer by using a callback. More...
 
void SetTimeTag (SatPhy::PacketContainer_t packets)
 Set SatMacTimeTag of packets. More...
 

Protected Attributes

Time m_beamEnabledTime
 Time of the last beam enable event. More...
 
uint32_t m_beamId
 The ID of the beam where mac belongs. More...
 
TracedCallback< Time > m_beamServiceTrace
 Traced callback for beam being disabled and including service time. More...
 
SatEnums::RegenerationMode_t m_forwardLinkRegenerationMode
 Regeneration mode on forward link. More...
 
bool m_isRegenerative
 Indicate if satellite is regeneration (at least LINK level) for TX. More...
 
bool m_isStatisticsTagsEnabled
 EnableStatisticsTags attribute. More...
 
Time m_lastDelay
 Last delay measurement. More...
 
Time m_lastLinkDelay
 Last delay measurement for link. More...
 
std::queue< Time > m_lastSOF
 Store last 3 SOF date for Forward messages, to insert in NCR packets. More...
 
std::queue< Ptr< SatNcrMessage > > m_ncrMessagesToSend
 List of NCR control messages created but not sent yet. More...
 
bool m_ncrV2
 Use of version 2 of NCR dates. More...
 
Ptr< SatNodeInfom_nodeInfo
 Node info containing node related information, such as node type, node id and MAC address (of the SatNetDevice) More...
 
TracedCallback< Time, SatEnums::SatPacketEvent_t, SatEnums::SatNodeType_t, uint32_t, Mac48Address, SatEnums::SatLogLevel_t, SatEnums::SatLinkDir_t, std::string > m_packetTrace
 Trace callback used for packet tracing. More...
 
SatMac::ReadCtrlMsgCallback m_readCtrlCallback
 The read control message callback. More...
 
SatMac::ReserveCtrlMsgCallback m_reserveCtrlCallback
 The reserve control message id callback. More...
 
SatEnums::RegenerationMode_t m_returnLinkRegenerationMode
 Regeneration mode on return link. More...
 
SatMac::RoutingUpdateCallback m_routingUpdateCallback
 Callback to update routing and ARP tables after a beam handover. More...
 
SatMac::ReceiveCallback m_rxCallback
 The upper layer package receive callback. More...
 
TracedCallback< const Time &, const Address & > m_rxDelayTrace
 Traced callback for all received packets, including delay information and the address of the senders. More...
 
TracedCallback< const Time &, const Address & > m_rxJitterTrace
 Traced callback for all received packets, including jitter information and the address of the senders. More...
 
TracedCallback< const Time &, const Address & > m_rxLinkDelayTrace
 Traced callback for all received packets, including link delay information and the address of the senders. More...
 
TracedCallback< const Time &, const Address & > m_rxLinkJitterTrace
 Traced callback for all received packets, including link jitter information and the address of the senders. More...
 
SatMac::LoraReceiveCallback m_rxLoraCallback
 The upper layer package receive callback. More...
 
TracedCallback< Ptr< const Packet >, const Address & > m_rxTrace
 Traced callback for all received packets, including the address of the senders. More...
 
Address m_satelliteAddress
 MAC address of satellite on other side of the link. More...
 
uint32_t m_satId
 The ID of the sat where mac belongs. More...
 
SatMac::SendCtrlMsgCallback m_sendCtrlCallback
 The send control message callback. More...
 
SatMac::TransmitCallback m_txCallback
 The lower layer packet transmit callback. More...
 
bool m_txEnabled
 Flag indicating whether the MAC is enabled, i.e. More...
 

Private Member Functions

 SatMac (const SatMac &)
 
SatMacoperator= (const SatMac &)
 

Detailed Description

Base MAC class for SatNetDevices.

SatMac implements the common MAC layer functionality for both UT and GW. More specialized implementations are located at the inherited classes. Satellite does not have a MAC sublayer at all.

Definition at line 51 of file satellite-mac.h.

Member Typedef Documentation

◆ LoraReceiveCallback

typedef Callback<void, Ptr<const Packet> > ns3::SatMac::LoraReceiveCallback

Callback to receive packet by upper layer.

Parameters
packetthe packet received

Definition at line 141 of file satellite-mac.h.

◆ ReadCtrlMsgCallback

typedef Callback<Ptr<SatControlMessage>, uint32_t> ns3::SatMac::ReadCtrlMsgCallback

Callback to read control messages from container storing control messages.

Real length of the control messages are simulated in a packet, but not structure.

Parameters
uint32_tID of the message to read.
Returns
Pointer to read packet. (NULL if not found).

Definition at line 163 of file satellite-mac.h.

◆ ReceiveCallback

typedef Callback<void, Ptr<Packet>, Mac48Address, Mac48Address> ns3::SatMac::ReceiveCallback

Callback to receive packet by upper layer.

Parameters
SourceMAC address
DestinationMAC address
packetthe packet received

Definition at line 135 of file satellite-mac.h.

◆ ReserveCtrlMsgCallback

typedef Callback<uint32_t, Ptr<SatControlMessage> > ns3::SatMac::ReserveCtrlMsgCallback

Callback to reserve an id and initially store the control message.

Parameters
Pointerto the message to be stored.
Returns
uint32_t ID of the stored message.

Definition at line 171 of file satellite-mac.h.

◆ RoutingUpdateCallback

typedef Callback<void, Address, Address> ns3::SatMac::RoutingUpdateCallback

Callback to update routing and ARP tables after handover.

Parameters
Addressthe address of this device
Addressthe address of the new gateway

Definition at line 204 of file satellite-mac.h.

◆ SendCtrlMsgCallback

typedef Callback<uint32_t, uint32_t> ns3::SatMac::SendCtrlMsgCallback

Callback to send a control message and allocate a recv ID for it.

Parameters
uint32_tInternal ID used for initial storing of the control msg.
Returns
uint32_t ID for the control message read operation.

Definition at line 178 of file satellite-mac.h.

◆ TransmitCallback

Callback to send packet to lower layer.

Parameters
Containerof the pointers to the packets received
uint32_tcarrierId
Timeduration

Definition at line 120 of file satellite-mac.h.

Constructor & Destructor Documentation

◆ SatMac() [1/3]

ns3::SatMac::SatMac ( )

Construct a SatMac.

This default constructor for the SatMac, which should not been used

Definition at line 93 of file satellite-mac.cc.

◆ SatMac() [2/3]

ns3::SatMac::SatMac ( uint32_t  satId,
uint32_t  beamId,
SatEnums::RegenerationMode_t  forwardLinkRegenerationMode,
SatEnums::RegenerationMode_t  returnLinkRegenerationMode 
)

Construct a SatMac.

Parameters
satIdID of sat for this MAC
beamIdID of beam for this MAC
forwardLinkRegenerationModeForward link regeneration model
returnLinkRegenerationModeReturn link regeneration model

Definition at line 111 of file satellite-mac.cc.

◆ ~SatMac()

ns3::SatMac::~SatMac ( )

Destroy a SatMac.

This is the destructor for the SatMac.

Definition at line 133 of file satellite-mac.cc.

◆ SatMac() [3/3]

ns3::SatMac::SatMac ( const SatMac )
private

Member Function Documentation

◆ Disable()

void ns3::SatMac::Disable ( )
virtual

Disable the MAC layer, i.e.

disallow it to send data to the PHY layer. This is used in beam hopping implementation.

Definition at line 216 of file satellite-mac.cc.

References m_beamEnabledTime, m_beamServiceTrace, and m_txEnabled.

◆ DoDispose()

void ns3::SatMac::DoDispose ( void  )
protected

◆ Enable()

void ns3::SatMac::Enable ( )
virtual

Enable the MAC layer, i.e.

allow it to send data to the PHY layer. This is used in beam hopping implementation.

Definition at line 207 of file satellite-mac.cc.

References m_beamEnabledTime, and m_txEnabled.

◆ GetAddress()

Address ns3::SatMac::GetAddress ( void  ) const
inline

Get MAC address.

Returns
The MAC address

Definition at line 108 of file satellite-mac.h.

References m_nodeInfo.

◆ GetBeamId()

uint32_t ns3::SatMac::GetBeamId ( void  ) const
inline

Get beam ID of the object.

Returns
beam ID

Definition at line 99 of file satellite-mac.h.

References m_beamId.

◆ GetSatId()

uint32_t ns3::SatMac::GetSatId ( ) const
inline

Get sat ID of the object.

Returns
sat ID

Definition at line 90 of file satellite-mac.h.

References m_satId.

◆ GetTypeId()

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

◆ operator=()

SatMac& ns3::SatMac::operator= ( const SatMac )
private

◆ ReceiveQueueEvent()

void ns3::SatMac::ReceiveQueueEvent ( SatQueue::QueueEvent_t  event,
uint8_t  flowIndex 
)
virtual

Receive a queue event:

  • FIRST_BUFFER_RCVD
  • BUFFER_EMPTY
    Parameters
    eventQueue event from SatQueue
    flowIndexIdentifier of the queue

Reimplemented in ns3::SatUtMac.

Definition at line 201 of file satellite-mac.cc.

◆ ReserveIdAndStoreCtrlMsgToContainer()

uint32_t ns3::SatMac::ReserveIdAndStoreCtrlMsgToContainer ( Ptr< SatControlMessage msg)

Reserve id and store the control message.

Parameters
msgControl message to store to the container.
Returns
Id of the internally stored message (send ID).

Definition at line 166 of file satellite-mac.cc.

References m_reserveCtrlCallback.

◆ RxTraces()

void ns3::SatMac::RxTraces ( SatPhy::PacketContainer_t  packets)
protected

◆ SendCtrlMsgFromContainer()

uint32_t ns3::SatMac::SendCtrlMsgFromContainer ( uint32_t  sendId)

Send the control message from the container.

Parameters
sendIdId of the internally stored message.
Returns
ID to be used in the control packet reception (recv ID).

Definition at line 184 of file satellite-mac.cc.

References m_sendCtrlCallback.

Referenced by SendPacket().

+ Here is the caller graph for this function:

◆ SendPacket()

void ns3::SatMac::SendPacket ( SatPhy::PacketContainer_t  packets,
uint32_t  carrierId,
Time  duration,
SatSignalParameters::txInfo_s  txInfo 
)
protectedvirtual

Send packets to lower layer by using a callback.

Parameters
packetsPackets to be sent.
carrierIdID of the carrier used for transmission.
durationDuration of the physical layer transmission.
txInfoAdditional parameterization for burst transmission.

The transmitted packets are gone through to check whether the PHY transmission contains control packets. If a control packet is found, its control tag is peeked and the control message is added to the control message container with control message id. Only made if not on a satellite.

Reimplemented in ns3::SatGeoMac.

Definition at line 255 of file satellite-mac.cc.

References ns3::SatControlMsgTag::GetMsgId(), ns3::SatControlMsgTag::GetMsgType(), m_isRegenerative, m_lastSOF, m_ncrMessagesToSend, m_ncrV2, m_satelliteAddress, m_txCallback, ns3::SatControlMsgTag::SAT_NCR_CTRL_MSG, SendCtrlMsgFromContainer(), ns3::SatMacTag::SetDestAddress(), ns3::SatControlMsgTag::SetMsgId(), and SetTimeTag().

Referenced by ns3::SatGwMac::StartTransmission(), and ns3::SatUtMac::TransmitPackets().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetLoraReceiveCallback()

void ns3::SatMac::SetLoraReceiveCallback ( SatMac::LoraReceiveCallback  cb)

Method to set receive callback.

Parameters
cbcallback to invoke whenever a packet has been received and must be forwarded to the higher layers.

Definition at line 415 of file satellite-mac.cc.

References m_rxLoraCallback.

◆ SetNodeInfo()

void ns3::SatMac::SetNodeInfo ( Ptr< SatNodeInfo nodeInfo)
virtual

Set the node info.

Parameters
nodeInfocontaining node specific information

Reimplemented in ns3::SatUtMac.

Definition at line 156 of file satellite-mac.cc.

References m_nodeInfo.

Referenced by ns3::SatUtMac::SetNodeInfo().

+ Here is the caller graph for this function:

◆ SetReadCtrlCallback()

void ns3::SatMac::SetReadCtrlCallback ( SatMac::ReadCtrlMsgCallback  cb)

Method to set read control message callback.

Parameters
cbcallback to invoke whenever a control message is wanted to read.

Definition at line 422 of file satellite-mac.cc.

References m_readCtrlCallback.

◆ SetReceiveCallback()

void ns3::SatMac::SetReceiveCallback ( SatMac::ReceiveCallback  cb)

Method to set receive callback.

Parameters
cbcallback to invoke whenever a packet has been received and must be forwarded to the higher layers.

Definition at line 408 of file satellite-mac.cc.

References m_rxCallback.

◆ SetReserveCtrlCallback()

void ns3::SatMac::SetReserveCtrlCallback ( SatMac::ReserveCtrlMsgCallback  cb)

Method to set reserve control message id callback.

Parameters
cbcallback to invoke whenever an id is wanted to be reserved for a control message.

Definition at line 429 of file satellite-mac.cc.

References m_reserveCtrlCallback.

◆ SetRoutingUpdateCallback()

void ns3::SatMac::SetRoutingUpdateCallback ( SatMac::RoutingUpdateCallback  cb)

Method to set the routing update callback.

Parameters
cbcallback to invoke to update routing

Definition at line 443 of file satellite-mac.cc.

References m_routingUpdateCallback.

◆ SetSatelliteAddress()

void ns3::SatMac::SetSatelliteAddress ( Address  satelliteAddress)
virtual

Set the satellite MAC address on the other side of this link (if regenerative satellite).

Reimplemented in ns3::SatUtMac.

Definition at line 225 of file satellite-mac.cc.

References m_isRegenerative, and m_satelliteAddress.

◆ SetSendCtrlCallback()

void ns3::SatMac::SetSendCtrlCallback ( SatMac::SendCtrlMsgCallback  cb)

Method to set send control message callback.

Parameters
cbcallback to invoke whenever a control message is wanted to sent.

Definition at line 436 of file satellite-mac.cc.

References m_sendCtrlCallback.

◆ SetTimeTag()

void ns3::SatMac::SetTimeTag ( SatPhy::PacketContainer_t  packets)
protected

Set SatMacTimeTag of packets.

Parameters
packetsContainer of the pointers to the packets to tag.

Definition at line 232 of file satellite-mac.cc.

References m_isStatisticsTagsEnabled.

Referenced by ns3::SatGeoMac::SendPacket(), and SendPacket().

+ Here is the caller graph for this function:

◆ SetTransmitCallback()

void ns3::SatMac::SetTransmitCallback ( SatMac::TransmitCallback  cb)

Method to set transmit callback.

Parameters
cbcallback to invoke whenever a packet needs to be sent to lower layer (PHY)

Definition at line 401 of file satellite-mac.cc.

References m_txCallback.

Member Data Documentation

◆ m_beamEnabledTime

Time ns3::SatMac::m_beamEnabledTime
protected

Time of the last beam enable event.

Definition at line 415 of file satellite-mac.h.

Referenced by Disable(), DoDispose(), and Enable().

◆ m_beamId

uint32_t ns3::SatMac::m_beamId
protected

The ID of the beam where mac belongs.

Definition at line 403 of file satellite-mac.h.

Referenced by GetBeamId().

◆ m_beamServiceTrace

TracedCallback<Time> ns3::SatMac::m_beamServiceTrace
protected

Traced callback for beam being disabled and including service time.

Definition at line 382 of file satellite-mac.h.

Referenced by Disable(), DoDispose(), and GetTypeId().

◆ m_forwardLinkRegenerationMode

SatEnums::RegenerationMode_t ns3::SatMac::m_forwardLinkRegenerationMode
protected

Regeneration mode on forward link.

Definition at line 435 of file satellite-mac.h.

Referenced by ns3::SatGeoUserMac::EnquePacket(), ns3::SatGeoFeederMac::Receive(), and ns3::SatGwMac::ReceiveSignalingPacket().

◆ m_isRegenerative

bool ns3::SatMac::m_isRegenerative
protected

Indicate if satellite is regeneration (at least LINK level) for TX.

Definition at line 445 of file satellite-mac.h.

Referenced by SendPacket(), SetSatelliteAddress(), and ns3::SatUtMac::SetSatelliteAddress().

◆ m_isStatisticsTagsEnabled

bool ns3::SatMac::m_isStatisticsTagsEnabled
protected

◆ m_lastDelay

Time ns3::SatMac::m_lastDelay
protected

Last delay measurement.

Used to compute jitter.

Definition at line 420 of file satellite-mac.h.

Referenced by RxTraces().

◆ m_lastLinkDelay

Time ns3::SatMac::m_lastLinkDelay
protected

Last delay measurement for link.

Used to compute link jitter.

Definition at line 455 of file satellite-mac.h.

Referenced by ns3::SatGeoMac::RxTraces(), and RxTraces().

◆ m_lastSOF

std::queue<Time> ns3::SatMac::m_lastSOF
protected

Store last 3 SOF date for Forward messages, to insert in NCR packets.

Definition at line 430 of file satellite-mac.h.

Referenced by SendPacket(), and ns3::SatGwMac::StartTransmission().

◆ m_ncrMessagesToSend

std::queue<Ptr<SatNcrMessage> > ns3::SatMac::m_ncrMessagesToSend
protected

List of NCR control messages created but not sent yet.

Definition at line 425 of file satellite-mac.h.

Referenced by ns3::SatGwMac::SendNcrMessage(), and SendPacket().

◆ m_ncrV2

bool ns3::SatMac::m_ncrV2
protected

Use of version 2 of NCR dates.

Version 1 use date of frame N-2. Version 2 use date of frame N.

Definition at line 334 of file satellite-mac.h.

Referenced by GetTypeId(), ns3::SatUtMac::ReceiveSignalingPacket(), SendPacket(), ns3::SatGwMac::SetFwdScheduler(), and ns3::SatGwMac::StartTransmission().

◆ m_nodeInfo

Ptr<SatNodeInfo> ns3::SatMac::m_nodeInfo
protected

◆ m_packetTrace

◆ m_readCtrlCallback

◆ m_reserveCtrlCallback

SatMac::ReserveCtrlMsgCallback ns3::SatMac::m_reserveCtrlCallback
protected

The reserve control message id callback.

Definition at line 317 of file satellite-mac.h.

Referenced by DoDispose(), ReserveIdAndStoreCtrlMsgToContainer(), and SetReserveCtrlCallback().

◆ m_returnLinkRegenerationMode

SatEnums::RegenerationMode_t ns3::SatMac::m_returnLinkRegenerationMode
protected

Regeneration mode on return link.

Definition at line 440 of file satellite-mac.h.

Referenced by ns3::SatUtMac::DoTransmit(), ns3::SatGeoFeederMac::EnquePacket(), ns3::SatGeoUserMac::Receive(), and ns3::SatGwMac::Receive().

◆ m_routingUpdateCallback

SatMac::RoutingUpdateCallback ns3::SatMac::m_routingUpdateCallback
protected

Callback to update routing and ARP tables after a beam handover.

Definition at line 387 of file satellite-mac.h.

Referenced by DoDispose(), ns3::SatUtMac::DoFrameStart(), and SetRoutingUpdateCallback().

◆ m_rxCallback

◆ m_rxDelayTrace

TracedCallback<const Time&, const Address&> ns3::SatMac::m_rxDelayTrace
protected

Traced callback for all received packets, including delay information and the address of the senders.

Definition at line 359 of file satellite-mac.h.

Referenced by GetTypeId(), and RxTraces().

◆ m_rxJitterTrace

TracedCallback<const Time&, const Address&> ns3::SatMac::m_rxJitterTrace
protected

Traced callback for all received packets, including jitter information and the address of the senders.

Definition at line 371 of file satellite-mac.h.

Referenced by GetTypeId(), and RxTraces().

◆ m_rxLinkDelayTrace

TracedCallback<const Time&, const Address&> ns3::SatMac::m_rxLinkDelayTrace
protected

Traced callback for all received packets, including link delay information and the address of the senders.

Definition at line 365 of file satellite-mac.h.

Referenced by GetTypeId(), ns3::SatGeoMac::RxTraces(), and RxTraces().

◆ m_rxLinkJitterTrace

TracedCallback<const Time&, const Address&> ns3::SatMac::m_rxLinkJitterTrace
protected

Traced callback for all received packets, including link jitter information and the address of the senders.

Definition at line 377 of file satellite-mac.h.

Referenced by GetTypeId(), ns3::SatGeoMac::RxTraces(), and RxTraces().

◆ m_rxLoraCallback

SatMac::LoraReceiveCallback ns3::SatMac::m_rxLoraCallback
protected

The upper layer package receive callback.

Definition at line 307 of file satellite-mac.h.

Referenced by SetLoraReceiveCallback().

◆ m_rxTrace

TracedCallback<Ptr<const Packet>, const Address&> ns3::SatMac::m_rxTrace
protected

Traced callback for all received packets, including the address of the senders.

Definition at line 353 of file satellite-mac.h.

Referenced by GetTypeId(), ns3::SatGeoMac::RxTraces(), and RxTraces().

◆ m_satelliteAddress

Address ns3::SatMac::m_satelliteAddress
protected

MAC address of satellite on other side of the link.

Use in regenerative cases.

Definition at line 450 of file satellite-mac.h.

Referenced by ns3::SatUtMac::DoTransmit(), ns3::SatGwMac::ReceiveSignalingPacket(), SendPacket(), SetSatelliteAddress(), and ns3::SatUtMac::SetSatelliteAddress().

◆ m_satId

uint32_t ns3::SatMac::m_satId
protected

The ID of the sat where mac belongs.

Definition at line 398 of file satellite-mac.h.

Referenced by GetSatId().

◆ m_sendCtrlCallback

SatMac::SendCtrlMsgCallback ns3::SatMac::m_sendCtrlCallback
protected

The send control message callback.

Definition at line 322 of file satellite-mac.h.

Referenced by DoDispose(), SendCtrlMsgFromContainer(), and SetSendCtrlCallback().

◆ m_txCallback

SatMac::TransmitCallback ns3::SatMac::m_txCallback
protected

The lower layer packet transmit callback.

Definition at line 297 of file satellite-mac.h.

Referenced by DoDispose(), SendPacket(), and SetTransmitCallback().

◆ m_txEnabled

bool ns3::SatMac::m_txEnabled
protected

Flag indicating whether the MAC is enabled, i.e.

it is capable/allowed to transmit data to PHY layer. This is used for beam hopping, where forward link is only supported currently, thus, it is set to true by default.

Definition at line 410 of file satellite-mac.h.

Referenced by Disable(), DoDispose(), Enable(), ns3::SatGeoMac::StartTransmission(), and ns3::SatGwMac::StartTransmission().


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