18 #ifndef CHANNEL_SCHEDULER_H
19 #define CHANNEL_SCHEDULER_H
35 #define EXTENDED_ALTERNATING 0x00
36 #define EXTENDED_CONTINUOUS 0xff
57 : channelNumber (
SCH1),
58 immediateAccess (false),
64 : channelNumber (channel),
65 immediateAccess (immediate),
66 extendedAccess (channelAccess)
70 SchInfo (uint32_t
channel,
bool immediate, uint32_t channelAccess, EdcaParameters edca)
71 : channelNumber (channel),
72 immediateAccess (immediate),
73 extendedAccess (channelAccess),
158 bool StopSch (uint32_t channelNumber);
186 virtual bool AssignExtendedAccess (uint32_t channelNumber, uint32_t extends,
bool immediate) = 0;
EdcaParameters edcaParameters
virtual bool AssignExtendedAccess(uint32_t channelNumber, uint32_t extends, bool immediate)=0
bool StartSch(const SchInfo &schInfo)
virtual bool AssignDefaultCchAccess(void)=0
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)
SchInfo(uint32_t channel, bool immediate, uint32_t channelAccess, EdcaParameters edca)
bool IsSchAccessAssigned(void) const
std::map< AcIndex, EdcaParameter >::const_iterator EdcaParametersI
#define EXTENDED_ALTERNATING
bool IsAlternatingAccessAssigned(uint32_t channelNumber) const
virtual bool AssignAlternatingAccess(uint32_t channelNumber, bool immediate)=0
virtual enum ChannelAccess GetAssignedAccessType(uint32_t channelNumber) const =0
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual bool AssignContinuousAccess(uint32_t channelNumber, bool immediate)=0
bool IsContinuousAccessAssigned(uint32_t channelNumber) const
bool StopSch(uint32_t channelNumber)
static TypeId GetTypeId(void)
std::map< AcIndex, EdcaParameter > EdcaParameters
Ptr< WaveNetDevice > m_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