EMANE
1.2.1
|
Transport Adapter interface. A Transport Adapter combines with a Transport to connect with its respective NEM stack. A TransportAdapter implementation passes traffic between the associated Transport and the Tranport's NEM. More...
#include <transportadapter.h>
Public Member Functions | |
virtual | ~TransportAdapter () |
virtual void | setTransport (std::unique_ptr< NEMLayer > &pTransport)=0 |
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 | 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) |
BuildId | getBuildId () const |
void | setBuildId (BuildId bid) |
Static Public Attributes | |
static const ControlMessages | empty |
Protected Member Functions | |
TransportAdapter (NEMId id) | |
Protected Attributes | |
const NEMId | id_ |
Transport Adapter interface. A Transport Adapter combines with a Transport to connect with its respective NEM stack. A TransportAdapter implementation passes traffic between the associated Transport and the Tranport's NEM.
Definition at line 57 of file transportadapter.h.
|
inlinevirtual |
Destroys an instance
Definition at line 65 of file transportadapter.h.
|
inlineprotected |
Definition at line 83 of file transportadapter.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.
|
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.
|
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.
|
pure virtual |
Set the Transport
pTransport | pointer to the Transport instance to be |
Implemented in EMANE::Application::TransportAdapterImpl.
|
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.
|
protected |
Definition at line 86 of file transportadapter.h.