41 pImplementor_{pImplementor},
42 pPlatformService_{pPlatformService}
52 pImplementor_->initialize(registrar);
58 pImplementor_->configure(update);
67 pImplementor_->start();
73 pImplementor_->postStart();
79 pImplementor_->stop();
88 pImplementor_->destroy();
94 pImplementor_->setUpstreamTransport(pUpstreamTransport);
100 pImplementor_->setDownstreamTransport(pDownstreamTransport);
105 pImplementor_->processConfiguration(update);
111 pImplementor_->processDownstreamPacket(pkt,msgs);
115 void EMANE::PHYLayer::doProcessDownstreamControl(
const ControlMessages & msgs)
117 pImplementor_->processDownstreamControl(msgs);
121 void EMANE::PHYLayer::doProcessUpstreamPacket(
UpstreamPacket & pkt,
128 void EMANE::PHYLayer::doProcessUpstreamControl(
const ControlMessages &)
132 void EMANE::PHYLayer::doProcessEvent(
const EventId & eventId,
135 pImplementor_->processEvent(eventId,serialization);
140 void EMANE::PHYLayer::doProcessTimedEvent(
TimerEventId eventId,
146 pImplementor_->processTimedEvent(eventId,expireTime,scheduleTime,fireTime,arg);
std::string Serialization
A Packet class that allows upstream processing to strip layer headers as the packet travels up the st...
PHYLayer(NEMId id, NEMLayer *pImplementor, PlatformServiceProvider *pPlatformService)
The Registrar interface provides access to all of the emulator registrars.
std::list< const ControlMessage * > ControlMessages
void postStart() override
Base class for NEMLayer containers. Builders construct NEMLayer objects to contain derived instances ...
Specialized packet the allows downstream processing to add layer specific headers as the packet trave...
void initialize(Registrar ®istrar) override
void setUpstreamTransport(UpstreamTransport *) override
void configure(const ConfigurationUpdate &update) override
void initialize(Registrar ®istrar) override
std::vector< ConfigurationNameAnyValues > ConfigurationUpdate
UpstreamTransport allows for processing upstream data and control messages. Upstream packets and cont...
Clock::time_point TimePoint
DownstreamTransport allows for processing downstream data and control messages.
void processUpstreamPacket(UpstreamPacket &pkt, const ControlMessages &msgs) override
A layer stack with a porcessing queue between each layer to decouple to intra queue processing...
void setDownstreamTransport(DownstreamTransport *) override