24 #ifndef LORA_NETWORK_SERVER_H
25 #define LORA_NETWORK_SERVER_H
34 #include <ns3/application.h>
35 #include <ns3/net-device.h>
36 #include <ns3/node-container.h>
37 #include <ns3/object.h>
38 #include <ns3/packet.h>
39 #include <ns3/point-to-point-net-device.h>
90 void AddGateway(Ptr<Node> gateway, Ptr<NetDevice> netDevice);
95 void AddComponent(Ptr<LoraNetworkControllerComponent> component);
101 bool Receive(Ptr<NetDevice> device,
102 Ptr<const Packet> packet,
104 const Address& address);
The LoraNetworkServer is an application standing on top of a node equipped with links that connect it...
bool Receive(Ptr< NetDevice > device, Ptr< const Packet > packet, uint16_t protocol, const Address &address)
Receive a packet from a gateway.
TracedCallback< Ptr< const Packet > > m_receivedPacket
static TypeId GetTypeId(void)
virtual ~LoraNetworkServer()
void StartApplication(void)
Start the NS application.
void AddGateway(Ptr< Node > gateway, Ptr< NetDevice > netDevice)
Add this gateway to the list of gateways connected to this NS.
Ptr< LoraNetworkStatus > m_status
void AddNodes(NodeContainer nodes)
Inform the LoraNetworkServer that these nodes are connected to the network.
Ptr< LoraNetworkScheduler > m_scheduler
void AddNode(Ptr< Node > node)
Inform the LoraNetworkServer that this node is connected to the network.
void StopApplication(void)
Stop the NS application.
void AddComponent(Ptr< LoraNetworkControllerComponent > component)
A NetworkControllerComponent to this LoraNetworkServer instance.
Ptr< LoraNetworkController > m_controller
Ptr< LoraNetworkStatus > GetNetworkStatus(void)
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.