123 NS_LOG_DEBUG(
"the channel access requirement for CCH is not allowed.");
155 NS_LOG_DEBUG(
"the channel access for CCH is not allowed to be released.");
160 NS_LOG_DEBUG(
"the channel access for channel " << channelNumber
161 <<
" has already been released.");
#define EXTENDED_ALTERNATING
#define EXTENDED_CONTINUOUS
static bool IsCch(uint32_t channelNumber)
bool StopSch(uint32_t channelNumber)
bool StartSch(const SchInfo &schInfo)
bool IsAlternatingAccessAssigned(uint32_t channelNumber) const
bool IsCchAccessAssigned() const
void DoDispose() override
Destructor implementation.
bool IsSchAccessAssigned() const
bool IsContinuousAccessAssigned(uint32_t channelNumber) const
virtual ChannelAccess GetAssignedAccessType(uint32_t channelNumber) const =0
virtual void SetWaveNetDevice(Ptr< WaveNetDevice > device)
~ChannelScheduler() override
bool IsChannelAccessAssigned(uint32_t channelNumber) const
static TypeId GetTypeId()
Get the type ID.
Ptr< WaveNetDevice > m_device
the device
bool IsDefaultCchAccessAssigned() const
virtual bool ReleaseAccess(uint32_t channelNumber)=0
void DoInitialize() override
Initialize() implementation.
virtual bool AssignContinuousAccess(uint32_t channelNumber, bool immediate)=0
virtual bool AssignDefaultCchAccess()=0
This method will assign default CCH access for CCH.
virtual bool AssignExtendedAccess(uint32_t channelNumber, uint32_t extends, bool immediate)=0
bool IsExtendedAccessAssigned(uint32_t channelNumber) const
virtual bool AssignAlternatingAccess(uint32_t channelNumber, bool immediate)=0
A base class which provides memory management and object aggregation.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Ptr< OcbWifiMac > GetMac(uint32_t channelNumber) const
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
std::map< AcIndex, EdcaParameter >::const_iterator EdcaParametersI
EDCA parameters iterator typedef.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t extendedAccess
extended access
EdcaParameters edcaParameters
EDCA parameters.
uint32_t channelNumber
channel number
bool immediateAccess
immediate access