ns3::NewChannelReq Class Reference

Implementation of the NewChannelReq LoRaWAN MAC command. More...

#include "lorawan-mac-command.h"

+ Inheritance diagram for ns3::NewChannelReq:
+ Collaboration diagram for ns3::NewChannelReq:

Public Member Functions

 NewChannelReq ()
 
 NewChannelReq (uint8_t chIndex, double frequency, uint8_t minDataRate, uint8_t maxDataRate)
 Constructor providing initialization of all parameters. More...
 
virtual uint8_t Deserialize (Buffer::Iterator &start)
 Deserialize the buffer into a MAC command. More...
 
uint8_t GetChannelIndex (void)
 
double GetFrequency (void)
 
uint8_t GetMaxDataRate (void)
 
uint8_t GetMinDataRate (void)
 
virtual void Print (std::ostream &os) const
 Print the contents of this MAC command in human-readable format. More...
 
virtual void Serialize (Buffer::Iterator &start) const
 Serialize the contents of this MAC command into a buffer, according to the LoRaWAN standard. More...
 
- Public Member Functions inherited from ns3::LorawanMacCommand
 LorawanMacCommand ()
 
virtual ~LorawanMacCommand ()
 
virtual enum MacCommandType GetCommandType (void) const
 Get the commandType of this MAC command. More...
 
virtual uint8_t GetSerializedSize (void) const
 Get serialized length of this MAC command. More...
 

Private Attributes

uint8_t m_chIndex
 
double m_frequency
 
uint8_t m_maxDataRate
 
uint8_t m_minDataRate
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::LorawanMacCommand
static uint8_t GetCIDFromLorawanMacCommand (enum MacCommandType commandType)
 Get the CID that corresponds to this MAC command. More...
 
static TypeId GetTypeId (void)
 
- Protected Attributes inherited from ns3::LorawanMacCommand
enum MacCommandType m_commandType
 The type of this command. More...
 
uint8_t m_serializedSize
 This MAC command's serialized size. More...
 

Detailed Description

Implementation of the NewChannelReq LoRaWAN MAC command.

Definition at line 467 of file lorawan-mac-command.h.

Constructor & Destructor Documentation

◆ NewChannelReq() [1/2]

ns3::NewChannelReq::NewChannelReq ( )

◆ NewChannelReq() [2/2]

ns3::NewChannelReq::NewChannelReq ( uint8_t  chIndex,
double  frequency,
uint8_t  minDataRate,
uint8_t  maxDataRate 
)

Constructor providing initialization of all parameters.

Parameters
chIndexThe index of the channel this command wants to operate on.
frequencyThe new frequency for this channel.
minDataRateThe minimum data rate allowed on this channel.
maxDataRateThe minimum data rate allowed on this channel.

Definition at line 845 of file lorawan-mac-command.cc.

References ns3::LorawanMacCommand::m_commandType, ns3::LorawanMacCommand::m_serializedSize, and ns3::NEW_CHANNEL_REQ.

Member Function Documentation

◆ Deserialize()

uint8_t ns3::NewChannelReq::Deserialize ( Buffer::Iterator &  start)
virtual

Deserialize the buffer into a MAC command.

Parameters
startA pointer to the buffer that contains the serialized command.
Returns
the number of bytes that were consumed.

Implements ns3::LorawanMacCommand.

Definition at line 877 of file lorawan-mac-command.cc.

References m_chIndex, m_frequency, m_maxDataRate, m_minDataRate, and ns3::LorawanMacCommand::m_serializedSize.

◆ GetChannelIndex()

uint8_t ns3::NewChannelReq::GetChannelIndex ( void  )

Definition at line 905 of file lorawan-mac-command.cc.

References m_chIndex.

◆ GetFrequency()

double ns3::NewChannelReq::GetFrequency ( void  )

Definition at line 913 of file lorawan-mac-command.cc.

References m_frequency.

◆ GetMaxDataRate()

uint8_t ns3::NewChannelReq::GetMaxDataRate ( void  )

Definition at line 929 of file lorawan-mac-command.cc.

References m_maxDataRate.

◆ GetMinDataRate()

uint8_t ns3::NewChannelReq::GetMinDataRate ( void  )

Definition at line 921 of file lorawan-mac-command.cc.

References m_minDataRate.

◆ Print()

void ns3::NewChannelReq::Print ( std::ostream &  os) const
virtual

Print the contents of this MAC command in human-readable format.

Parameters
osThe std::ostream instance on which to print the MAC command.

Implements ns3::LorawanMacCommand.

Definition at line 897 of file lorawan-mac-command.cc.

◆ Serialize()

void ns3::NewChannelReq::Serialize ( Buffer::Iterator &  start) const
virtual

Serialize the contents of this MAC command into a buffer, according to the LoRaWAN standard.

Parameters
startA pointer to the buffer into which to serialize the command.

Implements ns3::LorawanMacCommand.

Definition at line 861 of file lorawan-mac-command.cc.

References ns3::LorawanMacCommand::GetCIDFromLorawanMacCommand(), m_chIndex, ns3::LorawanMacCommand::m_commandType, m_frequency, m_maxDataRate, and m_minDataRate.

+ Here is the call graph for this function:

Member Data Documentation

◆ m_chIndex

uint8_t ns3::NewChannelReq::m_chIndex
private

Definition at line 492 of file lorawan-mac-command.h.

Referenced by Deserialize(), GetChannelIndex(), and Serialize().

◆ m_frequency

double ns3::NewChannelReq::m_frequency
private

Definition at line 493 of file lorawan-mac-command.h.

Referenced by Deserialize(), GetFrequency(), and Serialize().

◆ m_maxDataRate

uint8_t ns3::NewChannelReq::m_maxDataRate
private

Definition at line 495 of file lorawan-mac-command.h.

Referenced by Deserialize(), GetMaxDataRate(), and Serialize().

◆ m_minDataRate

uint8_t ns3::NewChannelReq::m_minDataRate
private

Definition at line 494 of file lorawan-mac-command.h.

Referenced by Deserialize(), GetMinDataRate(), and Serialize().


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