Implementation of the bypass MAC layer.
More...
#include <maclayer.h>
|
| MACLayer (NEMId id, PlatformServiceProvider *pPlatformService, RadioServiceProvider *pRadioServiceProvider) |
| constructor More...
|
|
| ~MACLayer () |
| destructor More...
|
|
void | initialize (EMANE::Registrar ®istrar) override |
|
void | configure (const EMANE::ConfigurationUpdate &update) override |
|
void | start () override |
|
void | stop () override |
|
void | destroy () override throw () |
|
void | processUpstreamControl (const EMANE::ControlMessages &msgs) |
|
void | processUpstreamPacket (const EMANE::CommonMACHeader &hdr, EMANE::UpstreamPacket &pkt, const EMANE::ControlMessages &msgs) |
|
void | processDownstreamControl (const EMANE::ControlMessages &msgs) |
|
void | processDownstreamPacket (EMANE::DownstreamPacket &pkt, const EMANE::ControlMessages &msgs) |
|
void | processEvent (const EMANE::EventId &id, const EMANE::Serialization &serialization) |
|
void | processTimedEvent (EMANE::TimerEventId eventId, const EMANE::TimePoint &timePoint, const void *arg) |
|
void | sendDownstreamPacket (const CommonMACHeader &hdr, DownstreamPacket &pkt, const ControlMessages &msgs=DownstreamTransport::empty) |
|
NEMId | getNEMId () const |
|
virtual void | postStart () |
|
virtual void | setDownstreamTransport (DownstreamTransport *pDownstreamTransport) |
|
void | sendDownstreamControl (const ControlMessages &msgs) |
|
virtual void | setUpstreamTransport (UpstreamTransport *pUpstreamTransport) |
|
void | sendUpstreamPacket (UpstreamPacket &pkt, const ControlMessages &msgs=empty) |
|
void | sendUpstreamControl (const ControlMessages &msgs) |
|
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) |
|
Implementation of the bypass MAC layer.
Definition at line 52 of file models/mac/bypass/maclayer.h.
◆ MACLayer()
◆ ~MACLayer()
EMANE::Models::Bypass::MACLayer::~MACLayer |
( |
| ) |
|
◆ configure()
◆ destroy()
void EMANE::Models::Bypass::MACLayer::destroy |
( |
| ) |
|
throw | ( | |
| ) | | |
|
overridevirtual |
◆ getBuildId()
Gets the application wide unique BuildId of this object.
- Returns
- the BuildId
Definition at line 34 of file buildable.inl.
◆ getNEMId()
NEMId EMANE::NEMLayer::getNEMId |
( |
| ) |
const |
|
inlineinherited |
Get the NEM identifier.
- Returns
- NEM identifier
Definition at line 72 of file nemlayer.h.
◆ initialize()
void EMANE::Models::Bypass::MACLayer::initialize |
( |
EMANE::Registrar & |
registrar | ) |
|
|
overridevirtual |
◆ postStart()
virtual void EMANE::Component::postStart |
( |
| ) |
|
|
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.
◆ processConfiguration()
virtual void EMANE::RunningStateMutable::processConfiguration |
( |
const ConfigurationUpdate & |
update | ) |
|
|
inlinevirtualinherited |
◆ processDownstreamControl()
◆ processDownstreamPacket()
◆ processEvent()
◆ processTimedEvent() [1/2]
◆ processTimedEvent() [2/2]
◆ processUpstreamControl()
◆ processUpstreamPacket()
Process an upstream packet
- Parameters
-
hdr | MAC message header |
pkt | Upstream packet reference |
msgs | Optional control messages |
- Note
- Control message ownership is transferred with this call. Control messages should not be accessed after this point.
Implements EMANE::MACLayerImplementor.
Definition at line 73 of file models/mac/bypass/maclayer.cc.
◆ sendDownstreamControl()
void EMANE::UpstreamTransport::sendDownstreamControl |
( |
const ControlMessages & |
msgs | ) |
|
|
inlineinherited |
Send downstream control message
- Parameters
-
msgs | reference to the ControlMessages |
Definition at line 44 of file upstreamtransport.inl.
◆ sendDownstreamPacket()
Sends a downstream packet
- Parameters
-
hdr | MAC message header |
pkt | Downstream packet reference |
msgs | Optional control messages |
- Note
- Control message ownership is transferred with this call. Control messages should not be accessed after this point.
Definition at line 37 of file maclayerimpl.inl.
◆ sendUpstreamControl()
void EMANE::DownstreamTransport::sendUpstreamControl |
( |
const ControlMessages & |
msgs | ) |
|
|
inlineinherited |
Send upstream control message
- Parameters
-
msgs | Reference to the ControlMessages |
Definition at line 44 of file downstreamtransport.inl.
◆ sendUpstreamPacket()
◆ setBuildId()
void EMANE::Buildable::setBuildId |
( |
BuildId |
bid | ) |
|
|
inlineinherited |
Sets the application wide unique BuildId of this object. Builders assign a BuildId to objects at instantiation.
- Parameters
-
- Note
- : This method is for internal framework use only.
Definition at line 40 of file buildable.inl.
◆ setDownstreamTransport()
virtual void EMANE::UpstreamTransport::setDownstreamTransport |
( |
DownstreamTransport * |
pDownstreamTransport | ) |
|
|
inlinevirtualinherited |
◆ setUpstreamTransport()
virtual void EMANE::DownstreamTransport::setUpstreamTransport |
( |
UpstreamTransport * |
pUpstreamTransport | ) |
|
|
inlinevirtualinherited |
◆ start()
void EMANE::Models::Bypass::MACLayer::start |
( |
| ) |
|
|
overridevirtual |
◆ stop()
void EMANE::Models::Bypass::MACLayer::stop |
( |
| ) |
|
|
overridevirtual |
◆ empty [1/2]
◆ empty [2/2]
◆ id_
NEMId EMANE::NEMLayer::id_ |
|
protectedinherited |
◆ pPlatformService_
◆ pRadioService_
The documentation for this class was generated from the following files: