Loading...
Searching...
No Matches
ns3::LoraNetworkScheduler Class Reference

#include "lora-network-scheduler.h"

Inheritance diagram for ns3::LoraNetworkScheduler:
Collaboration diagram for ns3::LoraNetworkScheduler:

Public Member Functions

 LoraNetworkScheduler ()
 LoraNetworkScheduler (Ptr< LoraNetworkStatus > status, Ptr< LoraNetworkController > controller)
virtual ~LoraNetworkScheduler ()
virtual void NotifyConstructionCompleted () override
 Notifier called once the ObjectBase is fully constructed.
void OnReceivedPacket (Ptr< const Packet > packet)
 Method called by NetworkServer to inform the Scheduler of a newly arrived uplink packet.
void OnReceiveWindowOpportunity (LoraDeviceAddress deviceAddress, int window)
 Method that is scheduled after packet arrivals in order to act on receive windows 1 and 2 seconds later receptions.

Static Public Member Functions

static TypeId GetTypeId (void)

Private Attributes

Ptr< LoraNetworkControllerm_controller
Time m_firstWindowAnswerDelay
 Delay to wait between end of reception of paquet and sending of anwser, to be in first window opportunity.
TracedCallback< Ptr< const Packet > > m_receiveWindowOpened
Time m_secondWindowAnswerDelay
 Delay to wait between end of reception of paquet and sending of anwser, to be in second window opportunity.
Ptr< LoraNetworkStatusm_status

Detailed Description

Definition at line 42 of file lora-network-scheduler.h.

Constructor & Destructor Documentation

◆ LoraNetworkScheduler() [1/2]

ns3::LoraNetworkScheduler::LoraNetworkScheduler ( )

Definition at line 60 of file lora-network-scheduler.cc.

Referenced by GetTypeId().

Here is the caller graph for this function:

◆ LoraNetworkScheduler() [2/2]

ns3::LoraNetworkScheduler::LoraNetworkScheduler ( Ptr< LoraNetworkStatus > status,
Ptr< LoraNetworkController > controller )

◆ ~LoraNetworkScheduler()

ns3::LoraNetworkScheduler::~LoraNetworkScheduler ( )
virtual

Definition at line 85 of file lora-network-scheduler.cc.

Member Function Documentation

◆ GetTypeId()

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

Definition at line 35 of file lora-network-scheduler.cc.

References LoraNetworkScheduler(), m_firstWindowAnswerDelay, m_receiveWindowOpened, and m_secondWindowAnswerDelay.

Here is the call graph for this function:

◆ NotifyConstructionCompleted()

void ns3::LoraNetworkScheduler::NotifyConstructionCompleted ( )
overridevirtual

Notifier called once the ObjectBase is fully constructed.

This method is invoked once all member attributes have been initialized. Subclasses can override this method to be notified of this event but if they do this, they must chain up to their parent's NotifyConstructionCompleted method.

Definition at line 75 of file lora-network-scheduler.cc.

References m_firstWindowAnswerDelay, and m_secondWindowAnswerDelay.

◆ OnReceivedPacket()

void ns3::LoraNetworkScheduler::OnReceivedPacket ( Ptr< const Packet > packet)

Method called by NetworkServer to inform the Scheduler of a newly arrived uplink packet.

This function schedules the OnReceiveWindowOpportunity events 1 and 2 seconds later.

Definition at line 90 of file lora-network-scheduler.cc.

References ns3::LoraFrameHeader::GetAddress(), m_firstWindowAnswerDelay, m_status, OnReceiveWindowOpportunity(), and ns3::LoraFrameHeader::SetAsUplink().

Here is the call graph for this function:

◆ OnReceiveWindowOpportunity()

void ns3::LoraNetworkScheduler::OnReceiveWindowOpportunity ( LoraDeviceAddress deviceAddress,
int window )

Method that is scheduled after packet arrivals in order to act on receive windows 1 and 2 seconds later receptions.

Definition at line 119 of file lora-network-scheduler.cc.

References m_controller, m_secondWindowAnswerDelay, m_status, and OnReceiveWindowOpportunity().

Referenced by OnReceivedPacket(), and OnReceiveWindowOpportunity().

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

Member Data Documentation

◆ m_controller

Ptr<LoraNetworkController> ns3::LoraNetworkScheduler::m_controller
private

Definition at line 78 of file lora-network-scheduler.h.

Referenced by LoraNetworkScheduler(), and OnReceiveWindowOpportunity().

◆ m_firstWindowAnswerDelay

Time ns3::LoraNetworkScheduler::m_firstWindowAnswerDelay
private

Delay to wait between end of reception of paquet and sending of anwser, to be in first window opportunity.

Definition at line 84 of file lora-network-scheduler.h.

Referenced by LoraNetworkScheduler(), GetTypeId(), NotifyConstructionCompleted(), and OnReceivedPacket().

◆ m_receiveWindowOpened

TracedCallback<Ptr<const Packet> > ns3::LoraNetworkScheduler::m_receiveWindowOpened
private

Definition at line 76 of file lora-network-scheduler.h.

Referenced by GetTypeId().

◆ m_secondWindowAnswerDelay

Time ns3::LoraNetworkScheduler::m_secondWindowAnswerDelay
private

Delay to wait between end of reception of paquet and sending of anwser, to be in second window opportunity.

Definition at line 90 of file lora-network-scheduler.h.

Referenced by LoraNetworkScheduler(), GetTypeId(), NotifyConstructionCompleted(), and OnReceiveWindowOpportunity().

◆ m_status

Ptr<LoraNetworkStatus> ns3::LoraNetworkScheduler::m_status
private

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