18 #ifndef CHANNEL_COORDINATOR_H 19 #define CHANNEL_COORDINATOR_H 20 #include "ns3/nstime.h" 21 #include "ns3/object.h" 22 #include "ns3/event-id.h" 244 typedef std::vector<Ptr<ChannelCoordinationListener> >
Listeners;
246 typedef std::vector<Ptr<ChannelCoordinationListener> >::iterator
ListenersI;
Simulation virtual time values and global simulation resolution.
Time GetIntervalTime(Time duration=Seconds(0.0)) const
ChannelCoordinator deals with channel coordination in data plane (see 1609.4 chapter 5...
Time NeedTimeToCchInterval(Time duration=Seconds(0.0)) const
bool IsCchInterval(Time duration=Seconds(0.0)) const
void NotifySchSlot(void)
notify listeners of a SCH slot start
EventId m_coordination
coordination event
Listeners m_listeners
listeners
Time GetSchSlot(void) const
virtual ~ChannelCoordinationListener(void)
bool IsValidConfig(void) const
Time NeedTimeToGuardInterval(Time duration=Seconds(0.0)) const
uint32_t m_guardCount
guard count
void SetCchInterval(Time cchi)
bool IsGuardInterval(Time duration=Seconds(0.0)) const
virtual void NotifyGuardSlotStart(Time duration, bool cchi)=0
void NotifyGuardSlot(void)
notify listeners of a guard slot start
static Time GetDefaultGuardInterval(void)
void UnregisterAllListeners(void)
Remove all listeners.
static Time GetDefaultSchInterval(void)
void StartChannelCoordination(void)
start to make channel coordination events
void RegisterListener(Ptr< ChannelCoordinationListener > listener)
Time GetCchSlot(void) const
void UnregisterListener(Ptr< ChannelCoordinationListener > listener)
virtual void NotifyCchSlotStart(Time duration)=0
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Time GetCchInterval(void) const
virtual void DoInitialize(void)
Initialize() implementation.
std::vector< Ptr< ChannelCoordinationListener > >::iterator ListenersI
Listeners iterator typedef.
Time GetSchInterval(void) const
static Time GetDefaultCchInterval(void)
void NotifyCchSlot(void)
notify listeners of a CCH slot start
void StopChannelCoordination(void)
stop channel coordination events
virtual void DoDispose(void)
Destructor implementation.
virtual ~ChannelCoordinator()
bool IsSchInterval(Time duration=Seconds(0.0)) const
Time GetRemainTime(Time duration=Seconds(0.0)) const
virtual void NotifySchSlotStart(Time duration)=0
An identifier for simulation events.
receive notifications about channel coordination events.
Time Seconds(double value)
Construct a Time in the indicated unit.
void SetSchInterval(Time schi)
Time NeedTimeToSchInterval(Time duration=Seconds(0.0)) const
static TypeId GetTypeId(void)
Get the type ID.
A base class which provides memory management and object aggregation.
Time GetSyncInterval(void) const
A template-based reference counting class.
a unique identifier for an interface.
std::vector< Ptr< ChannelCoordinationListener > > Listeners
Listeners typdef.
Time GetGuardInterval(void) const
void SetGuardInterval(Time guardi)
static Time GetDefaultSyncInterval(void)