18 #ifndef CHANNEL_SCHEDULER_H
19 #define CHANNEL_SCHEDULER_H
49 #define EXTENDED_ALTERNATING 0x00
50 #define EXTENDED_CONTINUOUS 0xff
74 : channelNumber (
SCH1),
75 immediateAccess (false),
87 : channelNumber (channel),
88 immediateAccess (immediate),
89 extendedAccess (channelAccess)
100 SchInfo (uint32_t
channel,
bool immediate, uint32_t channelAccess, EdcaParameters edca)
101 : channelNumber (channel),
102 immediateAccess (immediate),
103 extendedAccess (channelAccess),
104 edcaParameters (edca)
194 bool StopSch (uint32_t channelNumber);
222 virtual bool AssignExtendedAccess (uint32_t channelNumber, uint32_t extends,
bool immediate) = 0;
uint8_t extendedAccess
extended access
EdcaParameters edcaParameters
EDCA parameters.
virtual bool AssignExtendedAccess(uint32_t channelNumber, uint32_t extends, bool immediate)=0
bool StartSch(const SchInfo &schInfo)
bool immediateAccess
immediate access
virtual bool AssignDefaultCchAccess(void)=0
This method will assign default CCH access for CCH.
bool IsDefaultCchAccessAssigned(void) const
virtual void DoInitialize(void)
Initialize() implementation.
virtual void SetWaveNetDevice(Ptr< WaveNetDevice > device)
SchInfo(uint32_t channel, bool immediate, uint32_t channelAccess)
Initializer.
SchInfo(uint32_t channel, bool immediate, uint32_t channelAccess, EdcaParameters edca)
Initializer.
bool IsSchAccessAssigned(void) const
#define EXTENDED_ALTERNATING
bool IsAlternatingAccessAssigned(uint32_t channelNumber) const
virtual bool AssignAlternatingAccess(uint32_t channelNumber, bool immediate)=0
std::map< AcIndex, EdcaParameter >::const_iterator EdcaParametersI
EDCA parameters iterator typedef.
virtual enum ChannelAccess GetAssignedAccessType(uint32_t channelNumber) const =0
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::map< AcIndex, EdcaParameter > EdcaParameters
EDCA parameters typedef.
uint32_t channelNumber
channel number
virtual bool AssignContinuousAccess(uint32_t channelNumber, bool immediate)=0
ChannelAccess
ChannelAccess enumeration.
bool IsContinuousAccessAssigned(uint32_t channelNumber) const
bool StopSch(uint32_t channelNumber)
static TypeId GetTypeId(void)
Get the type ID.
Ptr< WaveNetDevice > m_device
the device
virtual ~ChannelScheduler()
bool IsCchAccessAssigned(void) const
bool IsExtendedAccessAssigned(uint32_t channelNumber) const
bool IsChannelAccessAssigned(uint32_t channelNumber) const
A base class which provides memory management and object aggregation.
a unique identifier for an interface.
This class will assign channel access for requests from higher layers.
virtual bool ReleaseAccess(uint32_t channelNumber)=0