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 114 of file gateway-lora-phy.h.

Constructor & Destructor Documentation

◆ ReceptionPath()

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

Constructor.

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

References m_available, m_endReceiveEventId, m_event, and NS_LOG_FUNCTION_NOARGS.

◆ ~ReceptionPath()

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

Destructor.

Definition at line 37 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 49 of file gateway-lora-phy.cc.

References m_available, m_endReceiveEventId, and m_event.

◆ 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 76 of file gateway-lora-phy.cc.

References m_endReceiveEventId.

◆ 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 70 of file gateway-lora-phy.cc.

References m_event.

◆ 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 43 of file gateway-lora-phy.cc.

References m_available.

◆ 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 57 of file gateway-lora-phy.cc.

References m_available, and m_event.

◆ 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 82 of file gateway-lora-phy.cc.

References m_endReceiveEventId.

◆ 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 64 of file gateway-lora-phy.cc.

References m_event.

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 178 of file gateway-lora-phy.h.

Referenced by ReceptionPath(), Free(), IsAvailable(), and LockOnEvent().

◆ 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 181 of file gateway-lora-phy.h.

Referenced by ReceptionPath(), Free(), GetEndReceive(), and SetEndReceive().

◆ m_event

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

The event this reception path is currently locked on.

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

Referenced by ReceptionPath(), Free(), GetEvent(), LockOnEvent(), and SetEvent().


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