41 pImplementor_{pImplementor},
42 pPlatformService_{pPlatformService}
53 pImplementor_->initialize(registrar);
59 pImplementor_->configure(update);
68 pImplementor_->start();
74 pImplementor_->postStart();
80 pImplementor_->stop();
89 pImplementor_->destroy();
95 pImplementor_->processConfiguration(update);
99 void EMANE::ShimLayer::doProcessUpstreamPacket(
UpstreamPacket & pkt,
102 pImplementor_->processUpstreamPacket(pkt,msgs);
109 pImplementor_->processDownstreamPacket(pkt,msgs);
113 void EMANE::ShimLayer::doProcessUpstreamControl(
const ControlMessages & msgs)
115 pImplementor_->processUpstreamControl(msgs);
119 void EMANE::ShimLayer::doProcessDownstreamControl(
const ControlMessages & msgs)
121 pImplementor_->processDownstreamControl(msgs);
127 pImplementor_->setUpstreamTransport(pUpstreamTransport);
133 pImplementor_->setDownstreamTransport(pDownstreamTransport);
137 void EMANE::ShimLayer::doProcessEvent(
const EventId & eventId,
140 pImplementor_->processEvent(eventId,serialization);
144 void EMANE::ShimLayer::doProcessTimedEvent(
TimerEventId eventId,
150 pImplementor_->processTimedEvent(eventId,expireTime,scheduleTime,fireTime,arg);
void setDownstreamTransport(DownstreamTransport *) override
std::string Serialization
A Packet class that allows upstream processing to strip layer headers as the packet travels up the st...
void setUpstreamTransport(UpstreamTransport *) override
void postStart() override
The Registrar interface provides access to all of the emulator registrars.
std::list< const ControlMessage * > ControlMessages
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
ShimLayer(NEMId id, NEMLayer *pImplementor, PlatformServiceProvider *pPlatformService)
void initialize(Registrar ®istrar) override
std::vector< ConfigurationNameAnyValues > ConfigurationUpdate
UpstreamTransport allows for processing upstream data and control messages. Upstream packets and cont...
void configure(const ConfigurationUpdate &update) override
Clock::time_point TimePoint
DownstreamTransport allows for processing downstream data and control messages.
A layer stack with a porcessing queue between each layer to decouple to intra queue processing...