|
EMANE
1.2.1
|
Reference Scheduler implementation. More...
#include <eventscheduler.h>
Public Member Functions | |
| EventScheduler (NEMId id, PlatformServiceProvider *pPlatformServiceProvider, SchedulerUser *pSchedulerUser) | |
| ~EventScheduler () | |
| void | initialize (Registrar ®istrar) override |
| void | configure (const ConfigurationUpdate &update) override |
| void | start () override |
| void | postStart () override |
| void | stop () override |
| void | destroy () override throw () |
| void | processEvent (const EventId &eventId, const Serialization &serialization) override |
| std::pair< RxSlotInfo, bool > | getRxSlotInfo (const TimePoint &timePoint) const override |
| std::pair< TxSlotInfos, TimePoint > | getTxSlotInfo (const TimePoint &timePoint, int multiframes) const override |
| SlotInfo | getSlotInfo (std::uint64_t u64AbsoluteSlotIndex) const override |
| SlotInfo | getSlotInfo (const TimePoint &timePoint) const override |
| void | processSchedulerPacket (UpstreamPacket &pkt, const PacketMetaInfo &packetMetaInfo) override |
| void | processPacketMetaInfo (const PacketMetaInfo &packetMetaInfo) override |
| virtual void | processTimedEvent (TimerEventId eventId, const TimePoint &expireTime, const TimePoint &scheduleTime, const TimePoint &fireTime, const void *arg) |
| virtual void | processConfiguration (const ConfigurationUpdate &update) |
Protected Attributes | |
| SchedulerUser * | pSchedulerUser_ |
| NEMId | id_ |
| PlatformServiceProvider * | pPlatformService_ |
Reference Scheduler implementation.
Implementation receives a TDMA schdule via an event.
Definition at line 56 of file eventscheduler.h.
| EMANE::Models::TDMA::EventScheduler::EventScheduler | ( | NEMId | id, |
| PlatformServiceProvider * | pPlatformServiceProvider, | ||
| SchedulerUser * | pSchedulerUser | ||
| ) |
Definition at line 36 of file eventscheduler.cc.
| EMANE::Models::TDMA::EventScheduler::~EventScheduler | ( | ) |
Definition at line 49 of file eventscheduler.cc.
|
overridevirtual |
Configure the component.
| update | Configuration update values |
| ConfigureException | thrown when a unexpected configuration item is encountered or there is a problem with the specified item value |
Implements EMANE::Component.
Definition at line 103 of file eventscheduler.cc.
|
overridevirtual | |||||||||||||
Destroy the component.
Implements EMANE::Component.
Definition at line 139 of file eventscheduler.cc.
|
overridevirtual |
Gets the RxSlotInfo for a specified time.
| timePoint | Current time |
Implements EMANE::Models::TDMA::Scheduler.
Definition at line 399 of file eventscheduler.cc.
|
overridevirtual |
Gets the slot info for a specified absolute slot index
| u64AbsoluteSlotIndex | Absolute slot index |
Implements EMANE::Models::TDMA::Scheduler.
Definition at line 349 of file eventscheduler.cc.
|
overridevirtual |
Gets the slot info for a specified time
| timePoint | Time of desired slot info |
Implements EMANE::Models::TDMA::Scheduler.
Definition at line 379 of file eventscheduler.cc.
|
overridevirtual |
Gets the transmit slot info for a specified number of multiframes occurring on or after a specified time.
| timePoint | Start time of transmit opportunity search |
| multiframes | Number of mulitframes worth of transmit opportunities to return |
Implements EMANE::Models::TDMA::Scheduler.
Definition at line 444 of file eventscheduler.cc.
|
overridevirtual |
Initialize the component.
| InitializeException | thrown when an error is encountered during initialization |
Implements EMANE::Component.
Definition at line 52 of file eventscheduler.cc.
|
overridevirtual |
Hook to run any post start functionaililty. Called after all the components have been started.
Reimplemented from EMANE::Component.
Definition at line 121 of file eventscheduler.cc.
|
inlinevirtualinherited |
Process dynamic running-state configuration updates
| update | Configuration update |
Reimplemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Models::TDMA::BaseModel, EMANE::NEMStatefulLayer, EMANE::NEMQueuedLayer, and EMANE::FrameworkPHY.
Definition at line 63 of file runningstatemutable.h.
|
overridevirtual |
Process an event.
| eventId | event identifier corresponding to the serialized event |
| serialization | opaque event object data |
Reimplemented from EMANE::EventServiceUser.
Definition at line 148 of file eventscheduler.cc.
|
overridevirtual |
Process packet information for a received over-the-air data packet.
| packetMetaInfo | Meta information associated with received packet |
Implements EMANE::Models::TDMA::Scheduler.
Definition at line 524 of file eventscheduler.cc.
|
overridevirtual |
Process a Scheduler message received over-the-air.
| pkt | Received UpstreamPacket |
| packetMetaInfo | Meta information associated with received packet |
Implements EMANE::Models::TDMA::Scheduler.
Definition at line 514 of file eventscheduler.cc.
|
inlinevirtualinherited |
Process a timed event
| eventId | Identifier corresponding to the timer being processed |
| expireTime | The time the timer was scheduled to expire |
| scheduleTime | The Time the timer was scheduled |
| fireTime | Time time The time the timer actually fired |
| arg | Opaque timed event data |
Reimplemented in EMANE::NEMStatefulLayer, EMANE::Models::Bypass::PHYLayer, EMANE::NEMQueuedLayer, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Models::CommEffect::Shim, EMANE::Agents::GPSDLocation::Agent, EMANE::TimerServiceProxy, and EMANE::NEMTimerServiceProxy.
Definition at line 62 of file timerserviceuser.h.
|
overridevirtual |
Start the component.
| StartException | thrown when an error is encountered during start. |
Implements EMANE::Component.
Definition at line 112 of file eventscheduler.cc.
|
overridevirtual |
Stop the component.
| StopException | thrown when an error is encountered during stop |
Implements EMANE::Component.
Definition at line 130 of file eventscheduler.cc.
|
protectedinherited |
Definition at line 140 of file scheduler.h.
|
protectedinherited |
Definition at line 64 of file platformserviceuser.h.
|
protectedinherited |
Definition at line 139 of file scheduler.h.