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