EMANE
1.2.1
|
Base class for NEMLayer containers. Builders construct NEMLayer objects to contain derived instances of NEMLayer objects and track them through the system. Model implementors should derive from one of the layer implementor classes, not this class. More...
#include <nemlayer.h>
Public Member Functions | |
virtual | ~NEMLayer () |
NEMId | getNEMId () const |
virtual void | initialize (Registrar ®istrar)=0 |
virtual void | configure (const ConfigurationUpdate &update)=0 |
virtual void | start ()=0 |
virtual void | postStart () |
virtual void | stop ()=0 |
virtual void | destroy ()=0 throw () |
virtual void | processUpstreamPacket (UpstreamPacket &pkt, const ControlMessages &msgs=empty)=0 |
virtual void | processUpstreamControl (const ControlMessages &msgs)=0 |
virtual void | setDownstreamTransport (DownstreamTransport *pDownstreamTransport) |
void | sendDownstreamPacket (DownstreamPacket &pkt, const ControlMessages &msgs=empty) |
void | sendDownstreamControl (const ControlMessages &msgs) |
virtual void | processDownstreamPacket (DownstreamPacket &pkt, const ControlMessages &msgs=empty)=0 |
virtual void | processDownstreamControl (const ControlMessages &msgs)=0 |
virtual void | setUpstreamTransport (UpstreamTransport *pUpstreamTransport) |
void | sendUpstreamPacket (UpstreamPacket &pkt, const ControlMessages &msgs=empty) |
void | sendUpstreamControl (const ControlMessages &msgs) |
virtual void | processEvent (const EventId &eventId, const Serialization &serialization) |
virtual void | processTimedEvent (TimerEventId eventId, const TimePoint &expireTime, const TimePoint &scheduleTime, const TimePoint &fireTime, const void *arg) |
BuildId | getBuildId () const |
void | setBuildId (BuildId bid) |
virtual void | processConfiguration (const ConfigurationUpdate &update) |
Static Public Attributes | |
static const ControlMessages | empty |
static const ControlMessages | empty |
Protected Member Functions | |
NEMLayer (NEMId id, PlatformServiceProvider *p) | |
Protected Attributes | |
NEMId | id_ |
PlatformServiceProvider * | pPlatformService_ |
Base class for NEMLayer containers. Builders construct NEMLayer objects to contain derived instances of NEMLayer objects and track them through the system. Model implementors should derive from one of the layer implementor classes, not this class.
Definition at line 57 of file nemlayer.h.
|
inlinevirtual |
Definition at line 65 of file nemlayer.h.
|
inlineprotected |
Definition at line 75 of file nemlayer.h.
|
pure virtualinherited |
Configure the component.
update | Configuration update values |
ConfigureException | thrown when a unexpected configuration item is encountered or there is a problem with the specified item value |
Implemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::Application::NEMImpl, EMANE::NEMStatefulLayer, EMANE::NEMLayerStack, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Models::Bypass::MACLayer, EMANE::Models::Bypass::PHYLayer, EMANE::Transports::Virtual::VirtualTransport, EMANE::Transports::Raw::RawTransport, EMANE::Models::TDMA::EventScheduler, EMANE::Models::TDMA::BaseModel, EMANE::FrameworkPHY, EMANE::Application::NEMManagerImpl, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Application::EventAgentManagerImpl, EMANE::Application::EventGeneratorManagerImpl, EMANE::Agents::GPSDLocation::Agent, EMANE::Generators::EEL::Generator, EMANE::Models::CommEffect::Shim, EMANE::Models::TimingAnalysis::ShimLayer, EMANE::Application::TransportAdapterImpl, EMANE::MACLayer, EMANE::PHYLayer, EMANE::ShimLayer, EMANE::Application::TransportManagerImpl, EMANE::TransportLayer, and EMANE::Models::TDMA::BasicQueueManager.
|
pure virtualinherited |
Destroy the component.
Implemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::Application::NEMImpl, EMANE::NEMStatefulLayer, EMANE::NEMLayerStack, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Transports::Virtual::VirtualTransport, EMANE::Models::Bypass::MACLayer, EMANE::Models::Bypass::PHYLayer, EMANE::Models::TDMA::EventScheduler, EMANE::Transports::Raw::RawTransport, EMANE::Models::TDMA::BaseModel, EMANE::Application::NEMManagerImpl, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Application::EventAgentManagerImpl, EMANE::Application::EventGeneratorManagerImpl, EMANE::FrameworkPHY, EMANE::Application::TransportAdapterImpl, EMANE::Agents::GPSDLocation::Agent, EMANE::Generators::EEL::Generator, EMANE::MACLayer, EMANE::PHYLayer, EMANE::ShimLayer, EMANE::Models::CommEffect::Shim, EMANE::Models::TimingAnalysis::ShimLayer, EMANE::Application::TransportManagerImpl, EMANE::TransportLayer, and EMANE::Models::TDMA::BasicQueueManager.
|
inlineinherited |
Gets the application wide unique BuildId of this object.
Definition at line 34 of file buildable.inl.
|
inline |
|
pure virtualinherited |
Initialize the component.
InitializeException | thrown when an error is encountered during initialization |
Implemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::Application::NEMImpl, EMANE::NEMStatefulLayer, EMANE::NEMLayerStack, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Models::Bypass::MACLayer, EMANE::Models::Bypass::PHYLayer, EMANE::Transports::Virtual::VirtualTransport, EMANE::NEMQueuedLayer, EMANE::Transports::Raw::RawTransport, EMANE::Models::TDMA::EventScheduler, EMANE::Models::TDMA::BaseModel, EMANE::FrameworkPHY, EMANE::Application::NEMManagerImpl, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Application::EventAgentManagerImpl, EMANE::Application::EventGeneratorManagerImpl, EMANE::Agents::GPSDLocation::Agent, EMANE::Generators::EEL::Generator, EMANE::Models::CommEffect::Shim, EMANE::Models::TimingAnalysis::ShimLayer, EMANE::Application::TransportAdapterImpl, EMANE::MACLayer, EMANE::PHYLayer, EMANE::ShimLayer, EMANE::Application::TransportManagerImpl, EMANE::TransportLayer, and EMANE::Models::TDMA::BasicQueueManager.
|
inlinevirtualinherited |
Hook to run any post start functionaililty. Called after all the components have been started.
Reimplemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::Application::NEMImpl, EMANE::NEMStatefulLayer, EMANE::NEMLayerStack, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Transports::Virtual::VirtualTransport, EMANE::Models::TDMA::EventScheduler, EMANE::Models::TDMA::BaseModel, EMANE::Application::NEMManagerImpl, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Application::EventAgentManagerImpl, EMANE::Application::EventGeneratorManagerImpl, EMANE::ShimLayer, EMANE::Application::TransportAdapterImpl, EMANE::MACLayer, EMANE::PHYLayer, EMANE::TransportLayer, EMANE::Application::TransportManagerImpl, and EMANE::Models::TDMA::BasicQueueManager.
Definition at line 119 of file component.h.
|
inlinevirtualinherited |
Process dynamic running-state configuration updates
update | Configuration update |
Reimplemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Models::TDMA::BaseModel, EMANE::NEMStatefulLayer, EMANE::NEMQueuedLayer, and EMANE::FrameworkPHY.
Definition at line 63 of file runningstatemutable.h.
|
pure virtualinherited |
Process downstream control message
msgs | Reference to the ControlMessages |
Implemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::NEMStatefulLayer, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Models::Bypass::MACLayer, EMANE::FrameworkPHY, EMANE::Models::Bypass::PHYLayer, EMANE::Models::TDMA::BaseModel, EMANE::Models::PHYAPITest::ShimLayer, EMANE::NEMQueuedLayer, EMANE::Application::TransportAdapterImpl, EMANE::Models::CommEffect::Shim, and EMANE::Models::TimingAnalysis::ShimLayer.
|
pure virtualinherited |
Process downstream packet
pkt | Reference to the DownstreamPacket to process |
msgs | optional reference to the ControlMessages |
Implemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::NEMStatefulLayer, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Models::Bypass::MACLayer, EMANE::FrameworkPHY, EMANE::Models::Bypass::PHYLayer, EMANE::Models::TDMA::BaseModel, EMANE::Models::PHYAPITest::ShimLayer, EMANE::NEMOTAAdapter, EMANE::NEMQueuedLayer, EMANE::Models::CommEffect::Shim, EMANE::Models::TimingAnalysis::ShimLayer, and EMANE::Application::TransportAdapterImpl.
|
inlinevirtualinherited |
Process an event.
eventId | event identifier corresponding to the serialized event |
serialization | opaque event object data |
Reimplemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::NEMStatefulLayer, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Models::Bypass::MACLayer, EMANE::FrameworkPHY, EMANE::Models::TDMA::BaseModel, EMANE::Models::Bypass::PHYLayer, EMANE::NEMQueuedLayer, EMANE::Models::CommEffect::Shim, EMANE::Models::TDMA::EventScheduler, and EMANE::Agents::GPSDLocation::Agent.
Definition at line 58 of file eventserviceuser.h.
|
inlinevirtualinherited |
Process a timed event
eventId | Identifier corresponding to the timer being processed |
expireTime | The time the timer was scheduled to expire |
scheduleTime | The Time the timer was scheduled |
fireTime | Time time The time the timer actually fired |
arg | Opaque timed event data |
Reimplemented in EMANE::NEMStatefulLayer, EMANE::Models::Bypass::PHYLayer, EMANE::NEMQueuedLayer, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Models::CommEffect::Shim, EMANE::Agents::GPSDLocation::Agent, EMANE::TimerServiceProxy, and EMANE::NEMTimerServiceProxy.
Definition at line 62 of file timerserviceuser.h.
|
pure virtualinherited |
Process upstream control message
msgs | reference to the ControlMessages |
Implemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::NEMStatefulLayer, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Transports::Virtual::VirtualTransport, EMANE::NEMQueuedLayer, EMANE::Models::Bypass::MACLayer, EMANE::Transports::Raw::RawTransport, EMANE::Models::TDMA::BaseModel, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Models::CommEffect::Shim, EMANE::Models::TimingAnalysis::ShimLayer, and EMANE::NEMNetworkAdapter.
|
pure virtualinherited |
Process upstream packet
pkt | reference to the UpstreamPacket to process |
msgs | optional reference to the ControlMessages |
Implemented in EMANE::NEMStatefulLayer, EMANE::Transports::Virtual::VirtualTransport, EMANE::NEMQueuedLayer, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Transports::Raw::RawTransport, EMANE::Models::CommEffect::Shim, EMANE::Models::TimingAnalysis::ShimLayer, and EMANE::NEMNetworkAdapter.
|
inlineinherited |
Send downstream control message
msgs | reference to the ControlMessages |
Definition at line 44 of file upstreamtransport.inl.
|
inlineinherited |
Send downsteam packet
pkt | reference to the DownstreamPacket to process |
msgs | optional reference to the ControlMessages |
Definition at line 37 of file upstreamtransport.inl.
|
inlineinherited |
Send upstream control message
msgs | Reference to the ControlMessages |
Definition at line 44 of file downstreamtransport.inl.
|
inlineinherited |
Send upstream packet
pkt | Reference to the UpstreamPacket to process |
msgs | optional reference to the ControlMessages |
Definition at line 37 of file downstreamtransport.inl.
|
inlineinherited |
Sets the application wide unique BuildId of this object. Builders assign a BuildId to objects at instantiation.
bid | the BuildId |
Definition at line 40 of file buildable.inl.
|
inlinevirtualinherited |
Set the downstream transport.
pDownstreamTransport | Pointer to the downstream transport of this upstream transport. |
Reimplemented in EMANE::NEMStatefulLayer, EMANE::PHYLayer, EMANE::MACLayer, EMANE::ShimLayer, and EMANE::TransportLayer.
Definition at line 82 of file upstreamtransport.h.
|
inlinevirtualinherited |
Set the upstream transport.
pUpstreamTransport | Pointer to the upstream transport of this downstream transport. |
Reimplemented in EMANE::NEMStatefulLayer, EMANE::MACLayer, EMANE::ShimLayer, EMANE::PHYLayer, and EMANE::TransportLayer.
Definition at line 79 of file downstreamtransport.h.
|
pure virtualinherited |
Start the component.
StartException | thrown when an error is encountered during start. |
Implemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::Application::NEMImpl, EMANE::NEMStatefulLayer, EMANE::NEMLayerStack, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Models::Bypass::MACLayer, EMANE::Models::Bypass::PHYLayer, EMANE::Transports::Virtual::VirtualTransport, EMANE::NEMQueuedLayer, EMANE::Transports::Raw::RawTransport, EMANE::Models::TDMA::EventScheduler, EMANE::Models::TDMA::BaseModel, EMANE::FrameworkPHY, EMANE::Application::NEMManagerImpl, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Application::EventAgentManagerImpl, EMANE::Application::EventGeneratorManagerImpl, EMANE::Agents::GPSDLocation::Agent, EMANE::Generators::EEL::Generator, EMANE::Models::CommEffect::Shim, EMANE::Models::TimingAnalysis::ShimLayer, EMANE::Application::TransportAdapterImpl, EMANE::Application::TransportManagerImpl, EMANE::MACLayer, EMANE::PHYLayer, EMANE::ShimLayer, EMANE::TransportLayer, and EMANE::Models::TDMA::BasicQueueManager.
|
pure virtualinherited |
Stop the component.
StopException | thrown when an error is encountered during stop |
Implemented in EMANE::Models::IEEE80211ABG::MACLayer, EMANE::Models::RFPipe::MACLayer, EMANE::Application::NEMImpl, EMANE::NEMStatefulLayer, EMANE::NEMLayerStack, EMANE::Models::TDMA::BaseModel::Implementation, EMANE::Transports::Virtual::VirtualTransport, EMANE::Models::Bypass::MACLayer, EMANE::Models::Bypass::PHYLayer, EMANE::NEMQueuedLayer, EMANE::Models::TDMA::EventScheduler, EMANE::Transports::Raw::RawTransport, EMANE::Models::TDMA::BaseModel, EMANE::Application::NEMManagerImpl, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Application::EventAgentManagerImpl, EMANE::Application::EventGeneratorManagerImpl, EMANE::FrameworkPHY, EMANE::Application::TransportAdapterImpl, EMANE::Agents::GPSDLocation::Agent, EMANE::Generators::EEL::Generator, EMANE::MACLayer, EMANE::PHYLayer, EMANE::Models::CommEffect::Shim, EMANE::Models::TimingAnalysis::ShimLayer, EMANE::Application::TransportManagerImpl, EMANE::ShimLayer, EMANE::TransportLayer, and EMANE::Models::TDMA::BasicQueueManager.
|
staticinherited |
Definition at line 102 of file downstreamtransport.h.
|
staticinherited |
Definition at line 106 of file upstreamtransport.h.
|
protected |
Definition at line 81 of file nemlayer.h.
|
protectedinherited |
Definition at line 64 of file platformserviceuser.h.