42 pImplementor_{pImplementor},
43 pPlatformService_{pPlatformService}
52 pImplementor_->initialize(registrar);
57 pImplementor_->configure(update);
65 pImplementor_->start();
70 pImplementor_->postStart();
75 pImplementor_->stop();
84 pImplementor_->destroy();
89 pImplementor_->processConfiguration(update);
92 void EMANE::MACLayer::doProcessUpstreamPacket(
UpstreamPacket & pkt,
101 pImplementor_->processDownstreamPacket(pkt,ctrl);
104 void EMANE::MACLayer::doProcessUpstreamControl(
const ControlMessages & msg)
106 pImplementor_->processUpstreamControl(msg);
109 void EMANE::MACLayer::doProcessDownstreamControl(
const ControlMessages & msg)
111 pImplementor_->processDownstreamControl(msg);
116 pImplementor_->setUpstreamTransport(pUpstreamTransport);
121 pImplementor_->setDownstreamTransport(pDownstreamTransport);
124 void EMANE::MACLayer::doProcessEvent(
const EventId & eventId,
127 pImplementor_->processEvent(eventId,serialization);
131 void EMANE::MACLayer::doProcessTimedEvent(
TimerEventId eventId,
137 pImplementor_->processTimedEvent(eventId,requestExpireTime,scheduleTime,fireTime,arg);
void initialize(Registrar ®istrar) override
std::string Serialization
void postStart() override
A Packet class that allows upstream processing to strip layer headers as the packet travels up the st...
The Registrar interface provides access to all of the emulator registrars.
void setDownstreamTransport(DownstreamTransport *) override
MACLayer(NEMId id, NEMLayer *pImplementor, PlatformServiceProvider *pPlatformService)
std::list< const ControlMessage * > ControlMessages
Base class for NEMLayer containers. Builders construct NEMLayer objects to contain derived instances ...
void setUpstreamTransport(UpstreamTransport *) override
Specialized packet the allows downstream processing to add layer specific headers as the packet trave...
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...