EMANE  1.2.1
EMANE::Transports::Ethernet::EthernetTransport Class Referenceabstract

EMANE Ethernet Transport. More...

#include <ethernettransport.h>

Inheritance diagram for EMANE::Transports::Ethernet::EthernetTransport:
EMANE::Transport EMANE::NEMLayer EMANE::Component EMANE::UpstreamTransport EMANE::DownstreamTransport EMANE::PlatformServiceUser EMANE::Buildable EMANE::RunningStateMutable EMANE::EventServiceUser EMANE::TimerServiceUser EMANE::Transports::Raw::RawTransport EMANE::Transports::Virtual::VirtualTransport

Public Member Functions

 EthernetTransport (EMANE::NEMId id, EMANE::PlatformServiceProvider *pPlatformService)
 
 ~EthernetTransport ()
 
NEMId getNEMId () const
 
virtual void initialize (Registrar &registrar)=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)
 
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

virtual int parseFrame (const Utils::EtherHeader *pEthHeader, EMANE::NEMId &dst, std::uint8_t &dscp)
 
virtual int verifyFrame (const void *buf, size_t len)
 
void updateArpCache (const Utils::EtherHeader *pEthHeader, EMANE::NEMId nemId)
 
void addEntry (const Utils::EtherAddr &addr, EMANE::NEMId nemId)
 
EMANE::NEMId lookupArpCache (const Utils::EtherAddr *pEthAddr)
 

Protected Attributes

bool bBroadcastMode_
 
bool bArpCacheMode_
 
NEMId id_
 
PlatformServiceProviderpPlatformService_
 

Detailed Description

EMANE Ethernet Transport.

Definition at line 55 of file ethernettransport.h.

Constructor & Destructor Documentation

◆ EthernetTransport()

EMANE::Transports::Ethernet::EthernetTransport::EthernetTransport ( EMANE::NEMId  id,
EMANE::PlatformServiceProvider pPlatformService 
)

Definition at line 38 of file ethernettransport.cc.

◆ ~EthernetTransport()

EMANE::Transports::Ethernet::EthernetTransport::~EthernetTransport ( )

Definition at line 46 of file ethernettransport.cc.

Member Function Documentation

◆ addEntry()

void EMANE::Transports::Ethernet::EthernetTransport::addEntry ( const Utils::EtherAddr addr,
EMANE::NEMId  nemId 
)
protected

Definition at line 352 of file ethernettransport.cc.

◆ configure()

◆ destroy()

◆ getBuildId()

EMANE::BuildId EMANE::Buildable::getBuildId ( ) const
inlineinherited

Gets the application wide unique BuildId of this object.

Returns
the BuildId

Definition at line 34 of file buildable.inl.

◆ getNEMId()

NEMId EMANE::Transport::getNEMId ( ) const
inlineinherited

Gets the NEM identifier.

Returns
NEM identifier

Definition at line 62 of file transport.h.

◆ initialize()

◆ lookupArpCache()

EMANE::NEMId EMANE::Transports::Ethernet::EthernetTransport::lookupArpCache ( const Utils::EtherAddr pEthAddr)
protected

Definition at line 390 of file ethernettransport.cc.

◆ parseFrame()

int EMANE::Transports::Ethernet::EthernetTransport::parseFrame ( const Utils::EtherHeader pEthHeader,
EMANE::NEMId dst,
std::uint8_t &  dscp 
)
protectedvirtual

Definition at line 166 of file ethernettransport.cc.

◆ postStart()

◆ processConfiguration()

virtual void EMANE::RunningStateMutable::processConfiguration ( const ConfigurationUpdate update)
inlinevirtualinherited

Process dynamic running-state configuration updates

Parameters
updateConfiguration update
Note
Running state configuration errors are indicated using a validator. Validators can be registered using the ConfigurationRegistrar.

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.

◆ processEvent()

virtual void EMANE::EventServiceUser::processEvent ( const EventId eventId,
const Serialization serialization 
)
inlinevirtualinherited

◆ processTimedEvent()

virtual void EMANE::TimerServiceUser::processTimedEvent ( TimerEventId  eventId,
const TimePoint expireTime,
const TimePoint scheduleTime,
const TimePoint fireTime,
const void *  arg 
)
inlinevirtualinherited

Process a timed event

Parameters
eventIdIdentifier corresponding to the timer being processed
expireTimeThe time the timer was scheduled to expire
scheduleTimeThe Time the timer was scheduled
fireTimeTime time The time the timer actually fired
argOpaque timed event data
Note
All times are abosulte using CLOCK_REALTIME

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.

◆ processUpstreamControl()

◆ processUpstreamPacket()

virtual void EMANE::UpstreamTransport::processUpstreamPacket ( UpstreamPacket pkt,
const ControlMessages msgs = empty 
)
pure virtualinherited

◆ sendDownstreamControl()

void EMANE::UpstreamTransport::sendDownstreamControl ( const ControlMessages msgs)
inlineinherited

Send downstream control message

Parameters
msgsreference to the ControlMessages

Definition at line 44 of file upstreamtransport.inl.

◆ sendDownstreamPacket()

void EMANE::UpstreamTransport::sendDownstreamPacket ( DownstreamPacket pkt,
const ControlMessages msgs = empty 
)
inlineinherited

Send downsteam packet

Parameters
pktreference to the DownstreamPacket to process
msgsoptional reference to the ControlMessages

Definition at line 37 of file upstreamtransport.inl.

◆ sendUpstreamControl()

void EMANE::DownstreamTransport::sendUpstreamControl ( const ControlMessages msgs)
inlineinherited

Send upstream control message

Parameters
msgsReference to the ControlMessages

Definition at line 44 of file downstreamtransport.inl.

◆ 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
bidthe BuildId
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

Set the downstream transport.

Parameters
pDownstreamTransportPointer to the downstream transport of this upstream transport.
Note
: This method is for internal framework use only.

Reimplemented in EMANE::NEMStatefulLayer, EMANE::PHYLayer, EMANE::MACLayer, EMANE::ShimLayer, and EMANE::TransportLayer.

Definition at line 82 of file upstreamtransport.h.

◆ start()

◆ stop()

◆ updateArpCache()

void EMANE::Transports::Ethernet::EthernetTransport::updateArpCache ( const Utils::EtherHeader pEthHeader,
EMANE::NEMId  nemId 
)
protected

Definition at line 294 of file ethernettransport.cc.

◆ verifyFrame()

int EMANE::Transports::Ethernet::EthernetTransport::verifyFrame ( const void *  buf,
size_t  len 
)
protectedvirtual

Definition at line 50 of file ethernettransport.cc.

Member Data Documentation

◆ bArpCacheMode_

bool EMANE::Transports::Ethernet::EthernetTransport::bArpCacheMode_
protected

Definition at line 76 of file ethernettransport.h.

◆ bBroadcastMode_

bool EMANE::Transports::Ethernet::EthernetTransport::bBroadcastMode_
protected

Definition at line 75 of file ethernettransport.h.

◆ empty [1/2]

const EMANE::ControlMessages EMANE::DownstreamTransport::empty
staticinherited

Definition at line 102 of file downstreamtransport.h.

◆ empty [2/2]

const EMANE::ControlMessages EMANE::UpstreamTransport::empty
staticinherited

Definition at line 106 of file upstreamtransport.h.

◆ id_

NEMId EMANE::NEMLayer::id_
protectedinherited

Definition at line 81 of file nemlayer.h.

◆ pPlatformService_

PlatformServiceProvider* EMANE::PlatformServiceUser::pPlatformService_
protectedinherited

Definition at line 64 of file platformserviceuser.h.


The documentation for this class was generated from the following files: