INET Framework for OMNeT++/OMNEST
AnsaEtherMACBase Class Reference

#include <AnsaEtherMACBase.h>

Inheritance diagram for AnsaEtherMACBase:
INotifiable AnsaEtherMAC

List of all members.

Public Member Functions

 AnsaEtherMACBase ()
virtual ~AnsaEtherMACBase ()
virtual long getQueueLength ()
virtual MACAddress getMACAddress ()
virtual void setDisabled (bool b)
virtual bool isDisabled (void)
virtual InterfaceEntrygetInterfaceEntry (void)

Protected Member Functions

virtual void initialize ()
virtual void initializeTxrate ()=0
virtual void initializeFlags ()
virtual void initializeMACAddress ()
virtual void initializeQueueModule ()
virtual void initializeNotificationBoard ()
virtual void initializeStatistics ()
virtual void registerInterface (double txrate)
virtual bool checkDestinationAddress (EtherFrame *frame)
virtual void calculateParameters ()
virtual void printParameters ()
virtual void finish ()
virtual void processFrameFromUpperLayer (EtherFrame *msg)
virtual void processMsgFromNetwork (cPacket *msg)
virtual void processMessageWhenNotConnected (cMessage *msg)
virtual void processMessageWhenDisabled (cMessage *msg)
virtual void handleEndIFGPeriod ()
virtual void handleEndTxPeriod ()
virtual void handleEndPausePeriod ()
virtual void scheduleEndIFGPeriod ()
virtual void scheduleEndTxPeriod (cPacket *)
virtual void scheduleEndPausePeriod (int pauseUnits)
virtual bool checkAndScheduleEndPausePeriod ()
virtual void fireChangeNotification (int type, cPacket *msg)
virtual void beginSendFrames ()
virtual void frameReceptionComplete (EtherFrame *frame)
virtual void processReceivedDataFrame (EtherFrame *frame)
virtual void processPauseCommand (int pauseUnits)
virtual void updateDisplayString ()
virtual void updateConnectionColor (int txState)
virtual void updateHasSubcribers ()=0
virtual void receiveChangeNotification (int category, const cPolymorphic *details)

Protected Attributes

bool connected
bool disabled
bool promiscuous
MACAddress address
int txQueueLimit
bool duplexMode
bool carrierExtension
bool frameBursting
double txrate
simtime_t bitTime
simtime_t slotTime
simtime_t interFrameGap
simtime_t jamDuration
simtime_t shortestFrameDuration
int transmitState
int receiveState
int pauseUnitsRequested
cQueue txQueue
IPassiveQueuequeueModule
cGate * physOutGate
InterfaceEntryinterfaceEntry
NotificationBoardnb
TxNotifDetails notifDetails
bool hasSubscribers
cMessage * endTxMsg
cMessage * endIFGMsg
cMessage * endPauseMsg
int framesSentInBurst
int bytesSentInBurst
unsigned long numFramesSent
unsigned long numFramesReceivedOK
unsigned long numBytesSent
unsigned long numBytesReceivedOK
unsigned long numFramesFromHL
unsigned long numDroppedIfaceDown
unsigned long numDroppedBitError
unsigned long numDroppedNotForUs
unsigned long numFramesPassedToHL
unsigned long numPauseFramesRcvd
unsigned long numPauseFramesSent
cOutVector numFramesSentVector
cOutVector numFramesReceivedOKVector
cOutVector numBytesSentVector
cOutVector numBytesReceivedOKVector
cOutVector numDroppedIfaceDownVector
cOutVector numDroppedBitErrorVector
cOutVector numDroppedNotForUsVector
cOutVector numFramesPassedToHLVector
cOutVector numPauseFramesRcvdVector
cOutVector numPauseFramesSentVector

Detailed Description

Base class for ethernet MAC implementations.

Definition at line 61 of file AnsaEtherMACBase.h.


Constructor & Destructor Documentation

Definition at line 39 of file AnsaEtherMACBase.cc.


Member Function Documentation

void AnsaEtherMACBase::beginSendFrames ( ) [protected, virtual]

Definition at line 541 of file AnsaEtherMACBase.cc.

Referenced by handleEndPausePeriod(), and AnsaEtherMAC::handleEndTxPeriod().

void AnsaEtherMACBase::calculateParameters ( ) [protected, virtual]
bool AnsaEtherMACBase::checkAndScheduleEndPausePeriod ( ) [protected, virtual]

Definition at line 526 of file AnsaEtherMACBase.cc.

Referenced by AnsaEtherMAC::handleEndTxPeriod().

bool AnsaEtherMACBase::checkDestinationAddress ( EtherFrame frame) [protected, virtual]

Definition at line 229 of file AnsaEtherMACBase.cc.

Referenced by processReceivedDataFrame().

void AnsaEtherMACBase::finish ( ) [protected, virtual]

Reimplemented in AnsaEtherMAC.

Definition at line 574 of file AnsaEtherMACBase.cc.

void AnsaEtherMACBase::fireChangeNotification ( int  type,
cPacket *  msg 
) [protected, virtual]

Definition at line 566 of file AnsaEtherMACBase.cc.

virtual InterfaceEntry* AnsaEtherMACBase::getInterfaceEntry ( void  ) [inline, virtual]

Definition at line 137 of file AnsaEtherMACBase.h.

Referenced by receiveChangeNotification().

{ return interfaceEntry; }
virtual MACAddress AnsaEtherMACBase::getMACAddress ( ) [inline, virtual]

Definition at line 132 of file AnsaEtherMACBase.h.

{return address;}
virtual long AnsaEtherMACBase::getQueueLength ( ) [inline, virtual]

Definition at line 131 of file AnsaEtherMACBase.h.

{return txQueue.length();}
void AnsaEtherMACBase::handleEndIFGPeriod ( ) [protected, virtual]

Reimplemented in AnsaEtherMAC.

Definition at line 430 of file AnsaEtherMACBase.cc.

void AnsaEtherMACBase::handleEndPausePeriod ( ) [protected, virtual]

Definition at line 485 of file AnsaEtherMACBase.cc.

Referenced by AnsaEtherMAC::handleMessage().

void AnsaEtherMACBase::handleEndTxPeriod ( ) [protected, virtual]

Reimplemented in AnsaEtherMAC.

Definition at line 458 of file AnsaEtherMACBase.cc.

void AnsaEtherMACBase::initialize ( ) [protected, virtual]

Reimplemented in AnsaEtherMAC.

Definition at line 46 of file AnsaEtherMACBase.cc.

void AnsaEtherMACBase::initializeFlags ( ) [protected, virtual]

Definition at line 131 of file AnsaEtherMACBase.cc.

Referenced by initialize().

void AnsaEtherMACBase::initializeMACAddress ( ) [protected, virtual]

Definition at line 96 of file AnsaEtherMACBase.cc.

Referenced by initialize().

void AnsaEtherMACBase::initializeNotificationBoard ( ) [protected, virtual]

Definition at line 114 of file AnsaEtherMACBase.cc.

Referenced by initialize().

void AnsaEtherMACBase::initializeQueueModule ( ) [protected, virtual]

Definition at line 85 of file AnsaEtherMACBase.cc.

Referenced by initialize().

void AnsaEtherMACBase::initializeStatistics ( ) [protected, virtual]

Definition at line 151 of file AnsaEtherMACBase.cc.

Referenced by initialize().

virtual void AnsaEtherMACBase::initializeTxrate ( ) [protected, pure virtual]

Implemented in AnsaEtherMAC.

Referenced by initialize().

virtual bool AnsaEtherMACBase::isDisabled ( void  ) [inline, virtual]

Definition at line 135 of file AnsaEtherMACBase.h.

Referenced by receiveChangeNotification().

{ return disabled; }
void AnsaEtherMACBase::printParameters ( ) [protected, virtual]

Definition at line 279 of file AnsaEtherMACBase.cc.

void AnsaEtherMACBase::processFrameFromUpperLayer ( EtherFrame msg) [protected, virtual]

Reimplemented in AnsaEtherMAC.

Definition at line 294 of file AnsaEtherMACBase.cc.

void AnsaEtherMACBase::processMessageWhenDisabled ( cMessage *  msg) [protected, virtual]

Definition at line 500 of file AnsaEtherMACBase.cc.

void AnsaEtherMACBase::processMessageWhenNotConnected ( cMessage *  msg) [protected, virtual]

Definition at line 493 of file AnsaEtherMACBase.cc.

void AnsaEtherMACBase::processMsgFromNetwork ( cPacket *  msg) [protected, virtual]

Reimplemented in AnsaEtherMAC.

Definition at line 340 of file AnsaEtherMACBase.cc.

void AnsaEtherMACBase::processPauseCommand ( int  pauseUnits) [protected, virtual]

Definition at line 406 of file AnsaEtherMACBase.cc.

Referenced by frameReceptionComplete().

void AnsaEtherMACBase::processReceivedDataFrame ( EtherFrame frame) [protected, virtual]

Definition at line 376 of file AnsaEtherMACBase.cc.

Referenced by frameReceptionComplete().

void AnsaEtherMACBase::receiveChangeNotification ( int  category,
const cPolymorphic *  details 
) [protected, virtual]

Called by the NotificationBoard whenever a change of a category occurs to which this client has subscribed.

Implements INotifiable.

Definition at line 675 of file AnsaEtherMACBase.cc.

void AnsaEtherMACBase::registerInterface ( double  txrate) [protected, virtual]

Definition at line 188 of file AnsaEtherMACBase.cc.

Referenced by initialize().

void AnsaEtherMACBase::scheduleEndPausePeriod ( int  pauseUnits) [protected, virtual]

Definition at line 518 of file AnsaEtherMACBase.cc.

Referenced by checkAndScheduleEndPausePeriod(), and processPauseCommand().

void AnsaEtherMACBase::scheduleEndTxPeriod ( cPacket *  frame) [protected, virtual]

Definition at line 512 of file AnsaEtherMACBase.cc.

Referenced by AnsaEtherMAC::startFrameTransmission().

virtual void AnsaEtherMACBase::setDisabled ( bool  b) [inline, virtual]

Definition at line 134 of file AnsaEtherMACBase.h.

Referenced by receiveChangeNotification().

{ disabled = b; }
void AnsaEtherMACBase::updateDisplayString ( ) [protected, virtual]

Definition at line 604 of file AnsaEtherMACBase.cc.

Referenced by AnsaEtherMAC::handleMessage().

virtual void AnsaEtherMACBase::updateHasSubcribers ( ) [protected, pure virtual]

Member Data Documentation

cMessage * AnsaEtherMACBase::endIFGMsg [protected]
simtime_t AnsaEtherMACBase::interFrameGap [protected]

Definition at line 79 of file AnsaEtherMACBase.h.

Referenced by calculateParameters(), printParameters(), and scheduleEndIFGPeriod().

unsigned long AnsaEtherMACBase::numBytesReceivedOK [protected]

Definition at line 108 of file AnsaEtherMACBase.h.

Referenced by finish(), initializeStatistics(), and processReceivedDataFrame().

Definition at line 119 of file AnsaEtherMACBase.h.

Referenced by initializeStatistics(), and processReceivedDataFrame().

unsigned long AnsaEtherMACBase::numBytesSent [protected]

Definition at line 107 of file AnsaEtherMACBase.h.

Referenced by finish(), handleEndTxPeriod(), and initializeStatistics().

cOutVector AnsaEtherMACBase::numBytesSentVector [protected]

Definition at line 118 of file AnsaEtherMACBase.h.

Referenced by handleEndTxPeriod(), and initializeStatistics().

unsigned long AnsaEtherMACBase::numDroppedBitError [protected]

Definition at line 111 of file AnsaEtherMACBase.h.

Referenced by finish(), initializeStatistics(), and processReceivedDataFrame().

Definition at line 121 of file AnsaEtherMACBase.h.

Referenced by initializeStatistics(), and processReceivedDataFrame().

unsigned long AnsaEtherMACBase::numDroppedIfaceDown [protected]

Definition at line 120 of file AnsaEtherMACBase.h.

Referenced by initializeStatistics().

unsigned long AnsaEtherMACBase::numDroppedNotForUs [protected]

Definition at line 112 of file AnsaEtherMACBase.h.

Referenced by checkDestinationAddress(), finish(), and initializeStatistics().

Definition at line 122 of file AnsaEtherMACBase.h.

Referenced by checkDestinationAddress(), and initializeStatistics().

unsigned long AnsaEtherMACBase::numFramesFromHL [protected]

Definition at line 109 of file AnsaEtherMACBase.h.

Referenced by finish(), initializeStatistics(), and processFrameFromUpperLayer().

unsigned long AnsaEtherMACBase::numFramesPassedToHL [protected]

Definition at line 113 of file AnsaEtherMACBase.h.

Referenced by finish(), initializeStatistics(), and processReceivedDataFrame().

Definition at line 123 of file AnsaEtherMACBase.h.

Referenced by initializeStatistics(), and processReceivedDataFrame().

unsigned long AnsaEtherMACBase::numFramesReceivedOK [protected]

Definition at line 106 of file AnsaEtherMACBase.h.

Referenced by finish(), initializeStatistics(), and processReceivedDataFrame().

Definition at line 117 of file AnsaEtherMACBase.h.

Referenced by initializeStatistics(), and processReceivedDataFrame().

unsigned long AnsaEtherMACBase::numFramesSent [protected]

Definition at line 105 of file AnsaEtherMACBase.h.

Referenced by finish(), handleEndTxPeriod(), and initializeStatistics().

cOutVector AnsaEtherMACBase::numFramesSentVector [protected]

Definition at line 116 of file AnsaEtherMACBase.h.

Referenced by handleEndTxPeriod(), and initializeStatistics().

unsigned long AnsaEtherMACBase::numPauseFramesRcvd [protected]

Definition at line 114 of file AnsaEtherMACBase.h.

Referenced by finish(), frameReceptionComplete(), and initializeStatistics().

Definition at line 124 of file AnsaEtherMACBase.h.

Referenced by frameReceptionComplete(), and initializeStatistics().

unsigned long AnsaEtherMACBase::numPauseFramesSent [protected]

Definition at line 115 of file AnsaEtherMACBase.h.

Referenced by finish(), handleEndTxPeriod(), and initializeStatistics().

Definition at line 125 of file AnsaEtherMACBase.h.

Referenced by handleEndTxPeriod(), and initializeStatistics().

Definition at line 66 of file AnsaEtherMACBase.h.

Referenced by checkDestinationAddress(), initializeFlags(), and printParameters().

Definition at line 81 of file AnsaEtherMACBase.h.

Referenced by calculateParameters(), and processMsgFromNetwork().

Definition at line 68 of file AnsaEtherMACBase.h.

Referenced by initialize(), and processFrameFromUpperLayer().


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