Base MAC class for SatNetDevices. More...
#include "satellite-mac.h"
Public Types | |
typedef Callback< Ptr< SatBeamScheduler >, uint32_t, uint32_t > | BeamSchedulerCallback |
Callback to get the SatBeamScheduler from the beam ID for handover. More... | |
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_s > | TransmitCallback |
Callback to send packet to lower layer. More... | |
typedef Callback< void > | UpdateIslCallback |
Callback to update ISL routes when handovers are performed. More... | |
Public Member Functions | |
SatMac () | |
Construct a SatMac. More... | |
SatMac (uint32_t satId, uint32_t beamId) | |
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 | SetBeamId (uint32_t beamId) |
Set beam ID of the object. More... | |
void | SetBeamSchedulerCallback (SatMac::BeamSchedulerCallback cb) |
Set the beam scheduler callback. More... | |
void | SetHandoverModule (Ptr< SatHandoverModule > handoverModule) |
Set the handover module. 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 | SetSatId (uint32_t satId) |
Set sat ID of the object. 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... | |
void | SetUpdateIslCallback (SatMac::UpdateIslCallback cb) |
Method to set update ISL 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... | |
SatMac::BeamSchedulerCallback | m_beamSchedulerCallback |
Callback to get the SatBeamScheduler linked to a beam ID. 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... | |
Ptr< SatHandoverModule > | m_handoverModule |
Module used to perform handovers. 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< SatNodeInfo > | m_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... | |
SatMac::UpdateIslCallback | m_updateIslCallback |
The update ISL routes callback. More... | |
Private Member Functions | |
SatMac (const SatMac &) | |
SatMac & | operator= (const SatMac &) |
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 56 of file satellite-mac.h.
typedef Callback<Ptr<SatBeamScheduler>, uint32_t, uint32_t> ns3::SatMac::BeamSchedulerCallback |
Callback to get the SatBeamScheduler from the beam ID for handover.
Definition at line 208 of file satellite-mac.h.
typedef Callback<void, Ptr<const Packet> > ns3::SatMac::LoraReceiveCallback |
Callback to receive packet by upper layer.
packet | the packet received |
Definition at line 166 of file satellite-mac.h.
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.
uint32_t | ID of the message to read. |
Definition at line 188 of file satellite-mac.h.
typedef Callback<void, Ptr<Packet>, Mac48Address, Mac48Address> ns3::SatMac::ReceiveCallback |
Callback to receive packet by upper layer.
Source | MAC address |
Destination | MAC address |
packet | the packet received |
Definition at line 160 of file satellite-mac.h.
typedef Callback<uint32_t, Ptr<SatControlMessage> > ns3::SatMac::ReserveCtrlMsgCallback |
Callback to reserve an id and initially store the control message.
Pointer | to the message to be stored. |
Definition at line 196 of file satellite-mac.h.
typedef Callback<void, Address, Address> ns3::SatMac::RoutingUpdateCallback |
Callback to update routing and ARP tables after handover.
Address | the address of this device |
Address | the address of the new gateway |
Definition at line 251 of file satellite-mac.h.
typedef Callback<uint32_t, uint32_t> ns3::SatMac::SendCtrlMsgCallback |
Callback to send a control message and allocate a recv ID for it.
uint32_t | Internal ID used for initial storing of the control msg. |
Definition at line 203 of file satellite-mac.h.
typedef Callback<void, SatPhy::PacketContainer_t, uint32_t, Time, SatSignalParameters::txInfo_s> ns3::SatMac::TransmitCallback |
Callback to send packet to lower layer.
Container | of the pointers to the packets received |
uint32_t | carrierId |
Time | duration |
Definition at line 145 of file satellite-mac.h.
typedef Callback<void> ns3::SatMac::UpdateIslCallback |
Callback to update ISL routes when handovers are performed.
Definition at line 213 of file satellite-mac.h.
ns3::SatMac::SatMac | ( | ) |
Construct a SatMac.
This default constructor for the SatMac, which should not been used
Definition at line 95 of file satellite-mac.cc.
ns3::SatMac::SatMac | ( | uint32_t | satId, |
uint32_t | beamId | ||
) |
Construct a SatMac.
satId | ID of sat for this MAC |
beamId | ID of beam for this MAC |
Definition at line 115 of file satellite-mac.cc.
ns3::SatMac::~SatMac | ( | ) |
Destroy a SatMac.
This is the destructor for the SatMac.
Definition at line 136 of file satellite-mac.cc.
|
private |
|
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 222 of file satellite-mac.cc.
References m_beamEnabledTime, m_beamServiceTrace, and m_txEnabled.
|
protected |
Dispose of SatMac.
Definition at line 142 of file satellite-mac.cc.
References m_beamEnabledTime, m_beamSchedulerCallback, m_beamServiceTrace, m_readCtrlCallback, m_reserveCtrlCallback, m_routingUpdateCallback, m_rxCallback, m_sendCtrlCallback, m_txCallback, and m_txEnabled.
Referenced by ns3::SatGwMac::DoDispose(), and ns3::SatUtMac::DoDispose().
|
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 213 of file satellite-mac.cc.
References m_beamEnabledTime, and m_txEnabled.
|
inline |
Get MAC address.
Definition at line 126 of file satellite-mac.h.
References m_nodeInfo.
|
inline |
Get beam ID of the object.
Definition at line 99 of file satellite-mac.h.
References m_beamId.
Referenced by ns3::LorawanGroundMacGateway::Receive(), and ns3::LorawanOrbiterMacGateway::Receive().
|
inline |
Get sat ID of the object.
Definition at line 90 of file satellite-mac.h.
References m_satId.
|
static |
Derived from Object.
Definition at line 47 of file satellite-mac.cc.
References m_beamServiceTrace, m_isStatisticsTagsEnabled, m_ncrV2, m_packetTrace, m_rxDelayTrace, m_rxJitterTrace, m_rxLinkDelayTrace, m_rxLinkJitterTrace, and m_rxTrace.
|
virtual |
Receive a queue event:
event | Queue event from SatQueue |
flowIndex | Identifier of the queue |
Reimplemented in ns3::SatUtMac.
Definition at line 207 of file satellite-mac.cc.
uint32_t ns3::SatMac::ReserveIdAndStoreCtrlMsgToContainer | ( | Ptr< SatControlMessage > | msg | ) |
Reserve id and store the control message.
msg | Control message to store to the container. |
Definition at line 172 of file satellite-mac.cc.
References m_reserveCtrlCallback.
|
protected |
Invoke the Rx
trace source for each received packet.
packets | Container of the pointers to the packets received. |
Definition at line 329 of file satellite-mac.cc.
References ns3::SatMacTag::GetDestAddress(), ns3::SatMacLinkTimeTag::GetSenderLinkTimestamp(), ns3::SatMacTimeTag::GetSenderTimestamp(), ns3::SatAddressTag::GetSourceAddress(), ns3::SatAddressTag::GetTypeId(), m_isStatisticsTagsEnabled, m_lastDelay, m_lastLinkDelay, m_nodeInfo, m_rxDelayTrace, m_rxJitterTrace, m_rxLinkDelayTrace, m_rxLinkJitterTrace, and m_rxTrace.
Referenced by ns3::LorawanMacEndDeviceClassA::Receive(), ns3::LorawanGroundMacGateway::Receive(), ns3::LorawanOrbiterMacGateway::Receive(), ns3::SatGwMac::Receive(), ns3::SatUtMac::Receive(), and ns3::LorawanMacGateway::Receive().
uint32_t ns3::SatMac::SendCtrlMsgFromContainer | ( | uint32_t | sendId | ) |
Send the control message from the container.
sendId | Id of the internally stored message. |
Definition at line 190 of file satellite-mac.cc.
References m_sendCtrlCallback.
Referenced by SendPacket().
|
protectedvirtual |
Send packets to lower layer by using a callback.
packets | Packets to be sent. |
carrierId | ID of the carrier used for transmission. |
duration | Duration of the physical layer transmission. |
txInfo | Additional 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::SatOrbiterMac.
Definition at line 261 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().
|
inline |
Set beam ID of the object.
beamId | beam ID |
Definition at line 117 of file satellite-mac.h.
References m_beamId.
Referenced by ns3::SatUtMac::DoFrameStart().
void ns3::SatMac::SetBeamSchedulerCallback | ( | SatMac::BeamSchedulerCallback | cb | ) |
Set the beam scheduler callback.
cb | Callback to get the SatBeamScheduler |
Definition at line 464 of file satellite-mac.cc.
References m_beamSchedulerCallback.
void ns3::SatMac::SetHandoverModule | ( | Ptr< SatHandoverModule > | handoverModule | ) |
Set the handover module.
handoverModule | The handover module |
Definition at line 407 of file satellite-mac.cc.
References m_handoverModule.
void ns3::SatMac::SetLoraReceiveCallback | ( | SatMac::LoraReceiveCallback | cb | ) |
Method to set receive callback.
cb | callback to invoke whenever a packet has been received and must be forwarded to the higher layers. |
Definition at line 429 of file satellite-mac.cc.
References m_rxLoraCallback.
|
virtual |
Set the node info.
nodeInfo | containing node specific information |
Reimplemented in ns3::SatUtMac.
Definition at line 162 of file satellite-mac.cc.
References m_nodeInfo.
Referenced by ns3::SatUtMac::SetNodeInfo().
void ns3::SatMac::SetReadCtrlCallback | ( | SatMac::ReadCtrlMsgCallback | cb | ) |
Method to set read control message callback.
cb | callback to invoke whenever a control message is wanted to read. |
Definition at line 436 of file satellite-mac.cc.
References m_readCtrlCallback.
void ns3::SatMac::SetReceiveCallback | ( | SatMac::ReceiveCallback | cb | ) |
Method to set receive callback.
cb | callback to invoke whenever a packet has been received and must be forwarded to the higher layers. |
Definition at line 422 of file satellite-mac.cc.
References m_rxCallback.
void ns3::SatMac::SetReserveCtrlCallback | ( | SatMac::ReserveCtrlMsgCallback | cb | ) |
Method to set reserve control message id callback.
cb | callback to invoke whenever an id is wanted to be reserved for a control message. |
Definition at line 443 of file satellite-mac.cc.
References m_reserveCtrlCallback.
void ns3::SatMac::SetRoutingUpdateCallback | ( | SatMac::RoutingUpdateCallback | cb | ) |
Method to set the routing update callback.
cb | callback to invoke to update routing |
Definition at line 457 of file satellite-mac.cc.
References m_routingUpdateCallback.
|
virtual |
Set the satellite MAC address on the other side of this link (if regenerative satellite).
Reimplemented in ns3::SatUtMac.
Definition at line 231 of file satellite-mac.cc.
References m_isRegenerative, and m_satelliteAddress.
Referenced by ns3::LorawanMacEndDevice::CheckHandovers(), and ns3::SatGwMac::StartTransmission().
|
inline |
Set sat ID of the object.
satId | sat ID |
Definition at line 108 of file satellite-mac.h.
References m_satId.
Referenced by ns3::SatUtMac::DoFrameStart().
void ns3::SatMac::SetSendCtrlCallback | ( | SatMac::SendCtrlMsgCallback | cb | ) |
Method to set send control message callback.
cb | callback to invoke whenever a control message is wanted to sent. |
Definition at line 450 of file satellite-mac.cc.
References m_sendCtrlCallback.
|
protected |
Set SatMacTimeTag of packets.
packets | Container of the pointers to the packets to tag. |
Definition at line 238 of file satellite-mac.cc.
References m_isStatisticsTagsEnabled.
Referenced by SendPacket(), and ns3::SatOrbiterMac::SendPacket().
void ns3::SatMac::SetTransmitCallback | ( | SatMac::TransmitCallback | cb | ) |
Method to set transmit callback.
cb | callback to invoke whenever a packet needs to be sent to lower layer (PHY) |
Definition at line 415 of file satellite-mac.cc.
References m_txCallback.
void ns3::SatMac::SetUpdateIslCallback | ( | SatMac::UpdateIslCallback | cb | ) |
Method to set update ISL callback.
cb | callback to invoke whenever ISL routes need to be updated. |
Definition at line 472 of file satellite-mac.cc.
References m_updateIslCallback.
|
protected |
Time of the last beam enable event.
Definition at line 477 of file satellite-mac.h.
Referenced by Disable(), DoDispose(), and Enable().
|
protected |
The ID of the beam where mac belongs.
Definition at line 460 of file satellite-mac.h.
Referenced by ns3::SatGwMac::ConnectUt(), ns3::SatGwMac::DisconnectUt(), GetBeamId(), SetBeamId(), ns3::SatGwMac::StartPeriodicTransmissions(), and ns3::SatGwMac::StartTransmission().
|
protected |
Callback to get the SatBeamScheduler linked to a beam ID.
Definition at line 374 of file satellite-mac.h.
Referenced by ns3::LorawanMacEndDevice::CheckHandovers(), DoDispose(), ns3::SatUtMac::DoFrameStart(), SetBeamSchedulerCallback(), and ns3::SatGwMac::StartTransmission().
|
protected |
Traced callback for beam being disabled and including service time.
Definition at line 439 of file satellite-mac.h.
Referenced by Disable(), DoDispose(), and GetTypeId().
|
protected |
Regeneration mode on forward link.
Definition at line 497 of file satellite-mac.h.
Referenced by ns3::SatOrbiterUserMac::EnquePacket(), ns3::SatOrbiterFeederMac::Receive(), and ns3::SatGwMac::ReceiveSignalingPacket().
|
protected |
Module used to perform handovers.
Definition at line 465 of file satellite-mac.h.
Referenced by ns3::LorawanMacEndDevice::CheckHandovers(), ns3::SatUtMac::DoFrameStart(), SetHandoverModule(), and ns3::SatGwMac::StartTransmission().
|
protected |
Indicate if satellite is regeneration (at least LINK level) for TX.
Definition at line 507 of file satellite-mac.h.
Referenced by SendPacket(), SetSatelliteAddress(), and ns3::SatUtMac::SetSatelliteAddress().
|
protected |
EnableStatisticsTags
attribute.
Definition at line 384 of file satellite-mac.h.
Referenced by GetTypeId(), RxTraces(), ns3::SatOrbiterMac::RxTraces(), ns3::LorawanGroundMacGateway::Send(), ns3::LorawanOrbiterMacGateway::Send(), ns3::LorawanMacGateway::Send(), ns3::LorawanMacEndDeviceClassA::SendToPhy(), and SetTimeTag().
|
protected |
Last delay measurement.
Used to compute jitter.
Definition at line 482 of file satellite-mac.h.
Referenced by RxTraces().
|
protected |
Last delay measurement for link.
Used to compute link jitter.
Definition at line 517 of file satellite-mac.h.
Referenced by RxTraces(), and ns3::SatOrbiterMac::RxTraces().
|
protected |
Store last 3 SOF date for Forward messages, to insert in NCR packets.
Definition at line 492 of file satellite-mac.h.
Referenced by SendPacket(), and ns3::SatGwMac::StartTransmission().
|
protected |
List of NCR control messages created but not sent yet.
Definition at line 487 of file satellite-mac.h.
Referenced by ns3::SatGwMac::SendNcrMessage(), and SendPacket().
|
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 391 of file satellite-mac.h.
Referenced by GetTypeId(), ns3::SatUtMac::ReceiveSignalingPacket(), SendPacket(), ns3::SatGwMac::SetFwdScheduler(), and ns3::SatGwMac::StartTransmission().
|
protected |
Node info containing node related information, such as node type, node id and MAC address (of the SatNetDevice)
Definition at line 450 of file satellite-mac.h.
Referenced by ns3::LorawanMacEndDevice::CheckHandovers(), ns3::SatUtMac::CreateCrdsaPacketInstances(), ns3::SatUtMac::DoEssaTransmit(), ns3::SatUtMac::DoFrameStart(), ns3::SatUtMac::DoRandomAccess(), ns3::SatUtMac::DoSlottedAlohaTransmit(), ns3::SatUtMac::DoTransmit(), ns3::SatOrbiterFeederMac::EnquePacket(), ns3::SatOrbiterUserMac::EnquePacket(), ns3::SatUtMac::FetchPackets(), ns3::SatUtMac::FindNextAvailableRandomAccessSlot(), GetAddress(), ns3::SatUtMac::GetNextRandomAccessAllocationChannel(), ns3::SatUtMac::PrintUsedRandomAccessSlots(), ns3::LorawanMacEndDeviceClassA::Receive(), ns3::SatOrbiterFeederMac::Receive(), ns3::SatOrbiterUserMac::Receive(), ns3::LorawanOrbiterMacGateway::Receive(), ns3::SatGwMac::Receive(), ns3::SatUtMac::Receive(), ns3::SatUtMac::ReceiveQueueEvent(), ns3::SatUtMac::ReceiveQueueEventEssa(), ns3::SatUtMac::ReceiveSignalingPacket(), ns3::SatUtMac::RemovePastRandomAccessSlots(), RxTraces(), ns3::SatOrbiterMac::RxTraces(), ns3::SatUtMac::ScheduleCrdsaTransmission(), ns3::SatUtMac::ScheduleEssaTransmission(), ns3::SatUtMac::ScheduleSlottedAlohaTransmission(), ns3::SatUtMac::ScheduleTimeSlots(), ns3::SatUtMac::SearchFrameForAvailableSlot(), ns3::LorawanGroundMacGateway::Send(), ns3::LorawanOrbiterMacGateway::Send(), ns3::LorawanMacGateway::Send(), ns3::SatOrbiterMac::SendPacket(), ns3::LorawanMacEndDeviceClassA::SendToPhy(), SetNodeInfo(), ns3::SatGwMac::StartTransmission(), ns3::SatUtMac::TransmitPackets(), and ns3::SatUtMac::UpdateUsedRandomAccessSlots().
|
protected |
Trace callback used for packet tracing.
Definition at line 404 of file satellite-mac.h.
Referenced by ns3::SatUtMac::DoEssaTransmit(), ns3::SatUtMac::DoSlottedAlohaTransmit(), ns3::SatUtMac::FetchPackets(), GetTypeId(), ns3::SatOrbiterFeederMac::Receive(), ns3::SatOrbiterUserMac::Receive(), ns3::SatGwMac::Receive(), ns3::SatUtMac::Receive(), ns3::SatOrbiterMac::SendPacket(), and ns3::SatGwMac::StartTransmission().
|
protected |
The read control message callback.
Definition at line 359 of file satellite-mac.h.
Referenced by DoDispose(), ns3::SatOrbiterFeederMac::ReceiveSignalingPacket(), ns3::SatOrbiterUserMac::ReceiveSignalingPacket(), ns3::SatUtMac::ReceiveSignalingPacket(), ns3::SatGwMac::ReceiveSignalingPacket(), and SetReadCtrlCallback().
|
protected |
The reserve control message id callback.
Definition at line 364 of file satellite-mac.h.
Referenced by DoDispose(), ReserveIdAndStoreCtrlMsgToContainer(), and SetReserveCtrlCallback().
|
protected |
Regeneration mode on return link.
Definition at line 502 of file satellite-mac.h.
Referenced by ns3::SatUtMac::DoTransmit(), ns3::SatOrbiterFeederMac::EnquePacket(), ns3::SatOrbiterUserMac::Receive(), and ns3::SatGwMac::Receive().
|
protected |
Callback to update routing and ARP tables after a beam handover.
Definition at line 444 of file satellite-mac.h.
Referenced by ns3::LorawanMacEndDevice::CheckHandovers(), DoDispose(), ns3::SatUtMac::DoFrameStart(), and SetRoutingUpdateCallback().
|
protected |
The upper layer package receive callback.
Definition at line 349 of file satellite-mac.h.
Referenced by DoDispose(), ns3::SatOrbiterFeederMac::Receive(), ns3::SatOrbiterUserMac::Receive(), ns3::SatGwMac::Receive(), ns3::SatUtMac::Receive(), ns3::SatUtMac::ReceiveSignalingPacket(), ns3::SatGwMac::ReceiveSignalingPacket(), and SetReceiveCallback().
|
protected |
Traced callback for all received packets, including delay information and the address of the senders.
Definition at line 416 of file satellite-mac.h.
Referenced by GetTypeId(), and RxTraces().
|
protected |
Traced callback for all received packets, including jitter information and the address of the senders.
Definition at line 428 of file satellite-mac.h.
Referenced by GetTypeId(), and RxTraces().
|
protected |
Traced callback for all received packets, including link delay information and the address of the senders.
Definition at line 422 of file satellite-mac.h.
Referenced by GetTypeId(), RxTraces(), and ns3::SatOrbiterMac::RxTraces().
|
protected |
Traced callback for all received packets, including link jitter information and the address of the senders.
Definition at line 434 of file satellite-mac.h.
Referenced by GetTypeId(), RxTraces(), and ns3::SatOrbiterMac::RxTraces().
|
protected |
The upper layer package receive callback.
Definition at line 354 of file satellite-mac.h.
Referenced by SetLoraReceiveCallback().
|
protected |
Traced callback for all received packets, including the address of the senders.
Definition at line 410 of file satellite-mac.h.
Referenced by GetTypeId(), RxTraces(), and ns3::SatOrbiterMac::RxTraces().
|
protected |
MAC address of satellite on other side of the link.
Use in regenerative cases.
Definition at line 512 of file satellite-mac.h.
Referenced by ns3::LorawanMacEndDevice::CheckHandovers(), ns3::SatUtMac::DoFrameStart(), ns3::SatUtMac::DoTransmit(), ns3::SatGwMac::ReceiveSignalingPacket(), SendPacket(), ns3::LorawanMacEndDeviceClassA::SendToPhy(), ns3::LorawanMacEndDevice::SetSatAddress(), SetSatelliteAddress(), and ns3::SatUtMac::SetSatelliteAddress().
|
protected |
The ID of the sat where mac belongs.
Definition at line 455 of file satellite-mac.h.
Referenced by ns3::LorawanMacEndDevice::CheckHandovers(), GetSatId(), SetSatId(), and ns3::SatGwMac::StartTransmission().
|
protected |
The send control message callback.
Definition at line 369 of file satellite-mac.h.
Referenced by DoDispose(), SendCtrlMsgFromContainer(), and SetSendCtrlCallback().
|
protected |
The lower layer packet transmit callback.
Definition at line 344 of file satellite-mac.h.
Referenced by DoDispose(), SendPacket(), and SetTransmitCallback().
|
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 472 of file satellite-mac.h.
Referenced by Disable(), DoDispose(), Enable(), ns3::SatGwMac::StartTransmission(), and ns3::SatOrbiterMac::StartTransmission().
|
protected |
The update ISL routes callback.
Definition at line 379 of file satellite-mac.h.
Referenced by ns3::LorawanMacEndDevice::CheckHandovers(), ns3::SatUtMac::DoFrameStart(), SetUpdateIslCallback(), and ns3::SatGwMac::StartTransmission().