108 pState_->
processEvent(
this,pLayer_.get(),id,serialization);
113 pLayer_->setUpstreamTransport(pUpstreamTransport);
118 pLayer_->setDownstreamTransport(pDownstreamTransport);
132 pState_->
processTimedEvent(
this, pLayer_.get(),eventId,expireTime,scheduleTime,fireTime,arg);
std::string Serialization
NEMStatefulLayer(NEMId id, NEMLayer *pLayer, PlatformServiceProvider *pPlatformService)
A Packet class that allows upstream processing to strip layer headers as the packet travels up the st...
virtual void processEvent(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer, const EventId &id, const Serialization &serialization)
virtual void processTimedEvent(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer, TimerEventId eventId, const TimePoint &expireTime, const TimePoint &scheduleTime, const TimePoint &fireTime, const void *arg)
The Registrar interface provides access to all of the emulator registrars.
void setDownstreamTransport(DownstreamTransport *pDownstreamTransport) override
virtual void handleStop(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer)
virtual void processDownstreamControl(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer, const ControlMessages &msgs)
virtual void handleConfigure(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer, const ConfigurationUpdate &update)
std::list< const ControlMessage * > ControlMessages
void changeState(NEMLayerState *pState)
Base class for NEMLayer containers. Builders construct NEMLayer objects to contain derived instances ...
void processConfiguration(const ConfigurationUpdate &update) override
Initial state for all NEMStatefulLayers. The only allowable transition is Component::initialize() ...
virtual void handleDestroy(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer)
void setUpstreamTransport(UpstreamTransport *pUpstreamTransport) override
void configure(const ConfigurationUpdate &update) override
void processUpstreamControl(const ControlMessages &msgs) override
void processDownstreamControl(const ControlMessages &msgs) override
Specialized packet the allows downstream processing to add layer specific headers as the packet trave...
virtual void handlePostStart(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer)
void initialize(Registrar ®istrar) override
initialize
virtual void processUpstreamPacket(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer, UpstreamPacket &pkt, const ControlMessages &msgs)
void postStart() override
void processUpstreamPacket(UpstreamPacket &pkt, const ControlMessages &msgs) override
void processDownstreamPacket(DownstreamPacket &pkt, const ControlMessages &msgs) override
Encapsulated behavior associated with an NEMLayer depending on the layer's current context...
std::vector< ConfigurationNameAnyValues > ConfigurationUpdate
UpstreamTransport allows for processing upstream data and control messages. Upstream packets and cont...
virtual void processConfiguration(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer, const ConfigurationUpdate &update)
Clock::time_point TimePoint
DownstreamTransport allows for processing downstream data and control messages.
void processTimedEvent(TimerEventId eventId, const TimePoint &expireTime, const TimePoint &scheduleTime, const TimePoint &fireTime, const void *arg) override
virtual void processDownstreamPacket(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer, DownstreamPacket &pkt, const ControlMessages &msgs)
virtual void processUpstreamControl(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer, const ControlMessages &msgs)
virtual void handleStart(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer)
void processEvent(const EventId &eventId, const Serialization &serialization) override
virtual void handleInitialize(NEMStatefulLayer *pStatefulLayer, NEMLayer *pLayer, Registrar ®istrar)