43 pPlatformServiceProvider,
44 pRadioServiceProvider,
59 pImpl_->initialize(registrar);
67 pImpl_->configure(update);
101 pImpl_->processUpstreamControl(msgs);
109 pImpl_->processUpstreamPacket(hdr,pkt,msgs);
114 pImpl_->processDownstreamControl(msgs);
121 pImpl_->processDownstreamPacket(pkt,msgs);
128 pImpl_->processEvent(eventId,serialization);
134 pImpl_->processConfiguration(update);
138 std::uint64_t u64BandwidthHz,
142 pImpl_->notifyScheduleChange(frequencies,u64BandwidthHz,slotDuration,slotOverhead);
148 pImpl_->processSchedulerPacket(pkt);
154 pImpl_->processSchedulerControl(msgs);
160 return pImpl_->getPacketQueueInfo();
void initialize(Registrar ®istrar) override
void processDownstreamControl(const ControlMessages &msgs) override
std::string Serialization
QueueInfos getPacketQueueInfo() const override
A Packet class that allows upstream processing to strip layer headers as the packet travels up the st...
void processConfiguration(const ConfigurationUpdate &update) override
The Registrar interface provides access to all of the emulator registrars.
std::list< const ControlMessage * > ControlMessages
void processUpstreamControl(const ControlMessages &msgs) override
void processEvent(const EventId &, const Serialization &) override
void configure(const ConfigurationUpdate &update) override
Implementation of BaseModel.
std::vector< QueueInfo > QueueInfos
Specialized packet the allows downstream processing to add layer specific headers as the packet trave...
std::set< std::uint64_t > Frequencies
std::chrono::microseconds Microseconds
void notifyScheduleChange(const Frequencies &frequencies, std::uint64_t u64BandwidthHz, const Microseconds &slotDuration, const Microseconds &slotOverhead) override
void postStart() override
void processSchedulerControl(const ControlMessages &msgs) override
The RadioServiceProvider interface provides access to radio (RF) model specific services.
Scheduler interface used by BaseModel to communicate with a scheduler module.
Queue management interface used by BaseModel
std::vector< ConfigurationNameAnyValues > ConfigurationUpdate
void processDownstreamPacket(DownstreamPacket &pkt, const ControlMessages &msgs) override
void processUpstreamPacket(const CommonMACHeader &hdr, UpstreamPacket &pkt, const ControlMessages &msgs) override
void processSchedulerPacket(DownstreamPacket &pkt) override
BaseModel(NEMId id, PlatformServiceProvider *pPlatformServiceProvider, RadioServiceProvider *pRadioServiceProvider, Scheduler *pScheduler, QueueManager *pQueueManager)
Interface used to create a MAC layer plugin implementation.