#include "lora-network-scheduler.h"
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< LoraNetworkController > | m_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< LoraNetworkStatus > | m_status |
Definition at line 42 of file lora-network-scheduler.h.
| ns3::LoraNetworkScheduler::LoraNetworkScheduler | ( | ) |
Definition at line 60 of file lora-network-scheduler.cc.
Referenced by GetTypeId().
| ns3::LoraNetworkScheduler::LoraNetworkScheduler | ( | Ptr< LoraNetworkStatus > | status, |
| Ptr< LoraNetworkController > | controller ) |
Definition at line 64 of file lora-network-scheduler.cc.
References m_controller, m_firstWindowAnswerDelay, m_secondWindowAnswerDelay, and m_status.
|
virtual |
Definition at line 85 of file lora-network-scheduler.cc.
|
static |
Definition at line 35 of file lora-network-scheduler.cc.
References LoraNetworkScheduler(), m_firstWindowAnswerDelay, m_receiveWindowOpened, and m_secondWindowAnswerDelay.
|
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.
| 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().
| 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().
|
private |
Definition at line 78 of file lora-network-scheduler.h.
Referenced by LoraNetworkScheduler(), and OnReceiveWindowOpportunity().
|
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().
|
private |
Definition at line 76 of file lora-network-scheduler.h.
Referenced by GetTypeId().
|
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().
|
private |
Definition at line 77 of file lora-network-scheduler.h.
Referenced by LoraNetworkScheduler(), OnReceivedPacket(), and OnReceiveWindowOpportunity().