A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::lorawan::GatewayLoraPhy::ReceptionPath Class Reference

This class represents a configurable reception path. More...

#include "gateway-lora-phy.h"

+ Inheritance diagram for ns3::lorawan::GatewayLoraPhy::ReceptionPath:
+ Collaboration diagram for ns3::lorawan::GatewayLoraPhy::ReceptionPath:

Public Member Functions

 ReceptionPath ()
 Constructor.
 
 ~ReceptionPath ()
 Destructor.
 
void Free ()
 Set this reception path as available.
 
EventId GetEndReceive ()
 Get the EventId of the EndReceive call associated to this ReceptionPath's packet.
 
Ptr< LoraInterferenceHelper::EventGetEvent ()
 Get the event this reception path is currently on.
 
bool IsAvailable () const
 Query whether this reception path is available to lock on a signal.
 
void LockOnEvent (Ptr< LoraInterferenceHelper::Event > event)
 Set this reception path as not available and lock it on the provided event.
 
void SetEndReceive (EventId endReceiveEventId)
 Set the EventId of the EndReceive call associated to this ReceptionPath's packet.
 
void SetEvent (Ptr< LoraInterferenceHelper::Event > event)
 Set the event this reception path is currently on.
 
- Public Member Functions inherited from ns3::SimpleRefCount< GatewayLoraPhy::ReceptionPath >
 SimpleRefCount ()
 Default constructor.
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor.
 
uint32_t GetReferenceCount () const
 Get the reference count of the object.
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator.
 
void Ref () const
 Increment the reference count.
 
void Unref () const
 Decrement the reference count.
 

Private Attributes

bool m_available
 Whether this reception path is available to lock on a signal or not.
 
EventId m_endReceiveEventId
 The EventId associated of the call to EndReceive that is scheduled to happen when the packet this ReceivePath is locked on finishes reception.
 
Ptr< LoraInterferenceHelper::Eventm_event
 The event this reception path is currently locked on.
 

Detailed Description

This class represents a configurable reception path.

Differently from EndDeviceLoraPhys, these do not need to be configured to listen for a certain spreading factor. ReceptionPaths be either locked on an event or free.

Definition at line 125 of file gateway-lora-phy.h.

Constructor & Destructor Documentation

◆ ReceptionPath()

ns3::lorawan::GatewayLoraPhy::ReceptionPath::ReceptionPath ( )

Constructor.

Definition at line 40 of file gateway-lora-phy.cc.

References NS_LOG_FUNCTION_NOARGS.

◆ ~ReceptionPath()

ns3::lorawan::GatewayLoraPhy::ReceptionPath::~ReceptionPath ( )

Destructor.

Definition at line 48 of file gateway-lora-phy.cc.

References NS_LOG_FUNCTION_NOARGS.

Member Function Documentation

◆ Free()

void ns3::lorawan::GatewayLoraPhy::ReceptionPath::Free ( )

Set this reception path as available.

This function sets the m_available variable as true, and deletes the LoraInterferenceHelper Event this ReceivePath was previously locked on.

Definition at line 60 of file gateway-lora-phy.cc.

◆ GetEndReceive()

EventId ns3::lorawan::GatewayLoraPhy::ReceptionPath::GetEndReceive ( )

Get the EventId of the EndReceive call associated to this ReceptionPath's packet.

Returns
The EventId instance.

Definition at line 87 of file gateway-lora-phy.cc.

◆ GetEvent()

Ptr< LoraInterferenceHelper::Event > ns3::lorawan::GatewayLoraPhy::ReceptionPath::GetEvent ( )

Get the event this reception path is currently on.

Returns
0 if no event is currently being received, a pointer to the event otherwise.

Definition at line 81 of file gateway-lora-phy.cc.

◆ IsAvailable()

bool ns3::lorawan::GatewayLoraPhy::ReceptionPath::IsAvailable ( ) const

Query whether this reception path is available to lock on a signal.

Returns
True if its current state is free, false if it's currently locked.

Definition at line 54 of file gateway-lora-phy.cc.

◆ LockOnEvent()

void ns3::lorawan::GatewayLoraPhy::ReceptionPath::LockOnEvent ( Ptr< LoraInterferenceHelper::Event event)

Set this reception path as not available and lock it on the provided event.

Parameters
eventThe LoraInterferenceHelper Event to lock on.

Definition at line 68 of file gateway-lora-phy.cc.

◆ SetEndReceive()

void ns3::lorawan::GatewayLoraPhy::ReceptionPath::SetEndReceive ( EventId  endReceiveEventId)

Set the EventId of the EndReceive call associated to this ReceptionPath's packet.

Parameters
endReceiveEventIdThe EventId instance.

Definition at line 93 of file gateway-lora-phy.cc.

◆ SetEvent()

void ns3::lorawan::GatewayLoraPhy::ReceptionPath::SetEvent ( Ptr< LoraInterferenceHelper::Event event)

Set the event this reception path is currently on.

Parameters
eventThe event to lock this ReceptionPath on.

Definition at line 75 of file gateway-lora-phy.cc.

Member Data Documentation

◆ m_available

bool ns3::lorawan::GatewayLoraPhy::ReceptionPath::m_available
private

Whether this reception path is available to lock on a signal or not.

Definition at line 189 of file gateway-lora-phy.h.

◆ m_endReceiveEventId

EventId ns3::lorawan::GatewayLoraPhy::ReceptionPath::m_endReceiveEventId
private

The EventId associated of the call to EndReceive that is scheduled to happen when the packet this ReceivePath is locked on finishes reception.

Definition at line 192 of file gateway-lora-phy.h.

◆ m_event

Ptr<LoraInterferenceHelper::Event> ns3::lorawan::GatewayLoraPhy::ReceptionPath::m_event
private

The event this reception path is currently locked on.

Definition at line 191 of file gateway-lora-phy.h.


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