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);
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.