SatLorawanNetDevice to be utilized in the UT and GW nodes for IoT configuration. More...
#include "satellite-lorawan-net-device.h"
Public Types | |
typedef Callback< bool, Ptr< SatLorawanNetDevice >, Ptr< const Packet >, uint16_t, const Address & > | ReceiveCallback |
Public Member Functions | |
SatLorawanNetDevice () | |
Default constructor. More... | |
void | Receive (Ptr< const Packet > packet) |
virtual bool | Send (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber) |
bool | SendControlMsg (Ptr< SatControlMessage > msg, const Address &dest) |
void | SetReceiveNetworkServerCallback (SatLorawanNetDevice::ReceiveCallback cb) |
Public Member Functions inherited from ns3::SatNetDevice | |
SatNetDevice () | |
Default constructor. More... | |
virtual void | AddLinkChangeCallback (Callback< void > callback) |
virtual Address | GetAddress (void) const |
virtual Address | GetBroadcast (void) const |
virtual Ptr< Channel > | GetChannel (void) const |
virtual uint32_t | GetIfIndex (void) const |
Ptr< SatLlc > | GetLlc (void) const |
Get Llc pointer. More... | |
Ptr< SatMac > | GetMac (void) const |
Get a Mac pointer. More... | |
virtual uint16_t | GetMtu (void) const |
virtual Address | GetMulticast (Ipv4Address multicastGroup) const |
virtual Address | GetMulticast (Ipv6Address addr) const |
virtual Ptr< Node > | GetNode (void) const |
Ptr< SatPacketClassifier > | GetPacketClassifier () const |
Get a pointer to packet classifier class. More... | |
Ptr< SatPhy > | GetPhy (void) const |
Get a Phy pointer. More... | |
virtual bool | IsBridge (void) const |
virtual bool | IsBroadcast (void) const |
virtual bool | IsLinkUp (void) const |
virtual bool | IsMulticast (void) const |
virtual bool | IsPointToPoint (void) const |
virtual bool | NeedsArp (void) const |
bool | SendControlMsg (Ptr< SatControlMessage > msg, const Address &dest) |
virtual bool | SendFrom (Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber) |
virtual void | SetAddress (Address address) |
virtual void | SetIfIndex (const uint32_t index) |
void | SetLlc (Ptr< SatLlc > llc) |
Attach the SatLlc llc layer to this netdevice. More... | |
void | SetMac (Ptr< SatMac > mac) |
virtual bool | SetMtu (const uint16_t mtu) |
virtual void | SetNode (Ptr< Node > node) |
void | SetNodeInfo (Ptr< SatNodeInfo > nodeInfo) |
Set the node info. More... | |
void | SetPacketClassifier (Ptr< SatPacketClassifier > classifier) |
Set the packet classifier class. More... | |
void | SetPhy (Ptr< SatPhy > phy) |
virtual void | SetPromiscReceiveCallback (PromiscReceiveCallback cb) |
virtual void | SetReceiveCallback (NetDevice::ReceiveCallback cb) |
void | SetReceiveErrorModel (Ptr< ErrorModel > em) |
Attach a receive ErrorModel to the SatNetDevice. More... | |
virtual bool | SupportsSendFrom (void) const |
void | ToggleState (bool enabled) |
Toggle the state of the device. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::SatNetDevice | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Protected Member Functions | |
virtual void | DoDispose (void) |
Method called to inform the Scheduler of a newly arrived uplink packet. More... | |
Private Attributes | |
bool | m_isRegenerative |
ReceiveCallback | m_rxNetworkServerCallback |
Additional Inherited Members | |
Protected Attributes inherited from ns3::SatNetDevice | |
Mac48Address | m_address |
Ptr< SatPacketClassifier > | m_classifier |
uint32_t | m_ifIndex |
bool | m_isStatisticsTagsEnabled |
EnableStatisticsTags attribute. More... | |
Time | m_lastDelay |
Last delay measurement. More... | |
Time | m_lastLinkDelay |
Last link delay measurement. More... | |
Ptr< SatLlc > | m_llc |
Ptr< SatMac > | m_mac |
uint16_t | m_mtu |
Ptr< Node > | m_node |
Ptr< SatNodeInfo > | m_nodeInfo |
TracedCallback< Time, SatEnums::SatPacketEvent_t, SatEnums::SatNodeType_t, uint32_t, Mac48Address, SatEnums::SatLogLevel_t, SatEnums::SatLinkDir_t, std::string > | m_packetTrace |
Ptr< SatPhy > | m_phy |
NetDevice::PromiscReceiveCallback | m_promiscCallback |
Ptr< ErrorModel > | m_receiveErrorModel |
NetDevice::ReceiveCallback | m_rxCallback |
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... | |
TracedCallback< Ptr< const Packet >, const Address & > | m_rxTrace |
Traced callback for all received packets, including the address of the senders. More... | |
TracedCallback< Ptr< const Packet >, const Address & > | m_signallingTxTrace |
Traced callback for all signalling (control message) packets sent, including the destination address. More... | |
TracedCallback< Ptr< const Packet > > | m_txTrace |
Traced callback for all packets received to be transmitted. More... | |
SatLorawanNetDevice to be utilized in the UT and GW nodes for IoT configuration.
Definition at line 47 of file satellite-lorawan-net-device.h.
typedef Callback<bool, Ptr<SatLorawanNetDevice>, Ptr<const Packet>, uint16_t, const Address&> ns3::SatLorawanNetDevice::ReceiveCallback |
Definition at line 71 of file satellite-lorawan-net-device.h.
ns3::SatLorawanNetDevice::SatLorawanNetDevice | ( | ) |
Default constructor.
Definition at line 48 of file satellite-lorawan-net-device.cc.
References m_isRegenerative, ns3::SatEnums::REGENERATION_NETWORK, and ns3::SatEnums::TRANSPARENT.
|
protectedvirtual |
Method called to inform the Scheduler of a newly arrived uplink packet.
This function schedules the OnReceiveWindowOpportunity events 1 and 2 seconds later. Method that is scheduled after packet arrivals in order to act on receive windows 1 and 2 seconds later receptions. Dispose of this class instance
Reimplemented from ns3::SatNetDevice.
Definition at line 223 of file satellite-lorawan-net-device.cc.
References ns3::SatNetDevice::DoDispose().
|
static |
Get the type ID.
Definition at line 40 of file satellite-lorawan-net-device.cc.
|
virtual |
Reimplemented from ns3::SatNetDevice.
Definition at line 68 of file satellite-lorawan-net-device.cc.
References ns3::SatUtils::GetPacketInfo(), ns3::SatDevTimeTag::GetSenderTimestamp(), ns3::SatAddressTag::GetSourceAddress(), ns3::SatAddressTag::GetTypeId(), ns3::SatEnums::LD_FORWARD, ns3::SatEnums::LD_RETURN, ns3::SatEnums::LL_ND, ns3::SatNetDevice::m_isStatisticsTagsEnabled, ns3::SatNetDevice::m_lastDelay, ns3::SatNetDevice::m_nodeInfo, ns3::SatNetDevice::m_packetTrace, ns3::SatNetDevice::m_rxCallback, ns3::SatNetDevice::m_rxDelayTrace, ns3::SatNetDevice::m_rxJitterTrace, m_rxNetworkServerCallback, ns3::SatNetDevice::m_rxTrace, ns3::SatEnums::NT_GW, ns3::SatEnums::NT_UT, and ns3::SatEnums::PACKET_RECV.
Referenced by ns3::LorawanGroundMacGateway::Receive(), and ns3::LorawanMacGateway::Receive().
|
virtual |
Reimplemented from ns3::SatNetDevice.
Definition at line 149 of file satellite-lorawan-net-device.cc.
References ns3::SatUtils::GetPacketInfo(), ns3::SatAddressTag::GetSourceAddress(), ns3::SatAddressTag::GetTypeId(), ns3::SatEnums::LD_FORWARD, ns3::SatEnums::LD_RETURN, ns3::SatEnums::LL_ND, ns3::SatNetDevice::m_classifier, m_isRegenerative, ns3::SatNetDevice::m_llc, ns3::SatNetDevice::m_mac, ns3::SatNetDevice::m_nodeInfo, ns3::SatNetDevice::m_packetTrace, ns3::SatNetDevice::m_txTrace, ns3::SatEnums::NT_GW, ns3::SatEnums::NT_UT, and ns3::SatEnums::PACKET_SENT.
bool ns3::SatLorawanNetDevice::SendControlMsg | ( | Ptr< SatControlMessage > | msg, |
const Address & | dest | ||
) |
Definition at line 209 of file satellite-lorawan-net-device.cc.
Referenced by ns3::SatBeamHelper::InstallFeeder().
void ns3::SatLorawanNetDevice::SetReceiveNetworkServerCallback | ( | SatLorawanNetDevice::ReceiveCallback | cb | ) |
Definition at line 216 of file satellite-lorawan-net-device.cc.
References m_rxNetworkServerCallback.
|
private |
Definition at line 95 of file satellite-lorawan-net-device.h.
Referenced by SatLorawanNetDevice(), and Send().
|
private |
Definition at line 96 of file satellite-lorawan-net-device.h.
Referenced by Receive(), and SetReceiveNetworkServerCallback().