34 #ifndef EMANENEMSTATEFULLAYER_HEADER_ 35 #define EMANENEMSTATEFULLAYER_HEADER_ 80 void start()
override;
86 void destroy()
throw()
override;
109 const void * arg)
override;
125 std::unique_ptr<NEMLayer> pLayer_;
130 #endif // EMANENEMSTATEFULLAYER_HEADER_ 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...
The Registrar interface provides access to all of the emulator registrars.
void setDownstreamTransport(DownstreamTransport *pDownstreamTransport) override
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
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...
void initialize(Registrar ®istrar) override
initialize
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...
A layer stack that enforces component state transition rules. The stateful layer is not a fully funct...
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
void processEvent(const EventId &eventId, const Serialization &serialization) override