Implementation of the DutyCycleReq LoRaWAN MAC command. More...
#include "mac-command.h"
Public Member Functions | |
DutyCycleReq () | |
Default constructor. | |
DutyCycleReq (uint8_t maxDutyCycle) | |
Constructor providing initialization of all parameters. | |
uint8_t | Deserialize (Buffer::Iterator &start) override |
Deserialize the buffer into a MAC command. | |
uint8_t | GetMaxDutyCycle () const |
Get the maximum duty cycle prescribed by this Mac command, encoded in 4 bits. | |
void | Print (std::ostream &os) const override |
Print the contents of this MAC command in human-readable format. | |
void | Serialize (Buffer::Iterator &start) const override |
Serialize the contents of this MAC command into a buffer, according to the LoRaWAN standard. | |
Public Member Functions inherited from ns3::lorawan::MacCommand | |
MacCommand () | |
Default constructor. | |
virtual | ~MacCommand () |
Destructor. | |
virtual enum MacCommandType | GetCommandType () const |
Get the commandType of this MAC command. | |
virtual uint8_t | GetSerializedSize () const |
Get serialized length of this MAC command. | |
Public Member Functions inherited from ns3::SimpleRefCount< MacCommand > | |
SimpleRefCount () | |
Default constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. |
Private Attributes | |
uint8_t | m_maxDutyCycle |
The MaxDutyCycle field. |
Additional Inherited Members | |
Static Public Member Functions inherited from ns3::lorawan::MacCommand | |
static uint8_t | GetCIDFromMacCommand (enum MacCommandType commandType) |
Get the CID that corresponds to a type of MAC command. | |
Protected Attributes inherited from ns3::lorawan::MacCommand | |
enum MacCommandType | m_commandType |
The type of this command. | |
uint8_t | m_serializedSize |
This MAC command's serialized size. |
Implementation of the DutyCycleReq LoRaWAN MAC command.
With this command, the network server can limit the maximum aggregated transmit duty cycle of an end device. The aggregate duty cycle is computed as the duty cycle among all sub bands.
Definition at line 333 of file mac-command.h.
ns3::lorawan::DutyCycleReq::DutyCycleReq | ( | ) |
Default constructor.
Definition at line 374 of file mac-command.cc.
References ns3::lorawan::DUTY_CYCLE_REQ, ns3::lorawan::MacCommand::m_commandType, ns3::lorawan::MacCommand::m_serializedSize, and NS_LOG_FUNCTION.
ns3::lorawan::DutyCycleReq::DutyCycleReq | ( | uint8_t | maxDutyCycle | ) |
Constructor providing initialization of all parameters.
maxDutyCycle | The MaxDutyCycle field as a 8-bit unsigned integer. |
Definition at line 381 of file mac-command.cc.
References ns3::lorawan::DUTY_CYCLE_REQ, ns3::lorawan::MacCommand::m_commandType, m_maxDutyCycle, ns3::lorawan::MacCommand::m_serializedSize, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
|
overridevirtual |
Deserialize the buffer into a MAC command.
start | A pointer to the buffer that contains the serialized command. |
Implements ns3::lorawan::MacCommand.
Definition at line 399 of file mac-command.cc.
References m_maxDutyCycle, ns3::lorawan::MacCommand::m_serializedSize, and NS_LOG_FUNCTION.
uint8_t ns3::lorawan::DutyCycleReq::GetMaxDutyCycle | ( | ) | const |
Get the maximum duty cycle prescribed by this Mac command, encoded in 4 bits.
Definition at line 417 of file mac-command.cc.
References m_maxDutyCycle, and NS_LOG_FUNCTION.
|
overridevirtual |
Print the contents of this MAC command in human-readable format.
os | The std::ostream instance on which to print the MAC command. |
Implements ns3::lorawan::MacCommand.
Definition at line 408 of file mac-command.cc.
References m_maxDutyCycle, and NS_LOG_FUNCTION.
|
overridevirtual |
Serialize the contents of this MAC command into a buffer, according to the LoRaWAN standard.
start | A pointer to the buffer into which to serialize the command. |
Implements ns3::lorawan::MacCommand.
Definition at line 391 of file mac-command.cc.
References ns3::lorawan::MacCommand::GetCIDFromMacCommand(), ns3::lorawan::MacCommand::m_commandType, m_maxDutyCycle, and NS_LOG_FUNCTION.
|
private |
The MaxDutyCycle field.
Definition at line 357 of file mac-command.h.
Referenced by DutyCycleReq(), Deserialize(), GetMaxDutyCycle(), Print(), and Serialize().