|
INET Framework for OMNeT++/OMNEST
|
#include <MacProtocolBase.h>
◆ MacProtocolBase()
| inet::MacProtocolBase::MacProtocolBase |
( |
| ) |
|
|
protected |
◆ ~MacProtocolBase()
| inet::MacProtocolBase::~MacProtocolBase |
( |
| ) |
|
|
protectedvirtual |
◆ canDequeuePacket()
| bool inet::MacProtocolBase::canDequeuePacket |
( |
| ) |
const |
|
protectedvirtual |
Referenced by clearQueue(), flushQueue(), inet::EthernetMac::handleCanPullPacketChanged(), inet::EthernetCsmaMac::handleCanPullPacketChanged(), inet::Ppp::handleCanPullPacketChanged(), inet::EthernetMac::handleEndIFGPeriod(), inet::EthernetCsmaMac::handleEndIFGPeriod(), inet::EthernetMac::handleEndPausePeriod(), inet::EthernetCsmaMac::handleRetransmission(), inet::Ppp::handleSelfMessage(), inet::EthernetMacBase::processConnectDisconnect(), and inet::Ppp::refreshOutGateConnection().
◆ clearQueue()
| void inet::MacProtocolBase::clearQueue |
( |
| ) |
|
|
protectedvirtual |
◆ configureNetworkInterface()
| virtual void inet::MacProtocolBase::configureNetworkInterface |
( |
| ) |
|
|
protectedpure virtual |
Implemented in inet::Ieee802154Mac, inet::EthernetMacBase, inet::BMac, inet::LMac, inet::CsmaCaMac, inet::XMac, inet::ieee80211::Ieee80211Mac, inet::Ppp, inet::AckingMac, inet::ShortcutMac, inet::Loopback, and inet::Tun.
Referenced by registerInterface().
◆ deleteCurrentTxFrame()
| void inet::MacProtocolBase::deleteCurrentTxFrame |
( |
| ) |
|
|
protectedvirtual |
◆ dequeuePacket()
| Packet * inet::MacProtocolBase::dequeuePacket |
( |
| ) |
|
|
protectedvirtual |
◆ dropCurrentTxFrame()
◆ flushQueue()
◆ getQueue()
160 for (
auto g = gate->getPreviousGate();
g !=
nullptr;
g =
g->getPreviousGate()) {
161 if (
g->getType() == cGate::OUTPUT) {
162 auto m =
dynamic_cast<queueing::IPacketQueue *
>(
g->getOwnerModule());
167 throw cRuntimeError(
"Gate %s is not connected to a module of type queueing::IPacketQueue", gate->getFullPath().c_str());
Referenced by inet::Ppp::initialize(), and inet::EthernetMacBase::initialize().
◆ handleCrashOperation()
◆ handleMessageWhenDown()
| void inet::MacProtocolBase::handleMessageWhenDown |
( |
cMessage * |
msg | ) |
|
|
overrideprotectedvirtual |
◆ handleStartOperation()
◆ handleStopOperation()
◆ initialize()
| void inet::MacProtocolBase::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
Reimplemented from inet::OperationalMixin< cSimpleModule >.
Reimplemented in inet::LMac, inet::Ieee802154Mac, inet::XMac, inet::BMac, inet::ieee80211::Ieee80211Mac, inet::EthernetMacBase, inet::CsmaCaMac, inet::AckingMac, inet::Ppp, inet::Loopback, inet::EthernetCsmaMac, inet::ShortcutMac, inet::EthernetMac, and inet::Tun.
Referenced by inet::Tun::initialize(), inet::ShortcutMac::initialize(), inet::Loopback::initialize(), inet::ieee80211::Ieee80211Mac::initialize(), inet::BMac::initialize(), inet::Ppp::initialize(), inet::AckingMac::initialize(), inet::XMac::initialize(), inet::Ieee802154Mac::initialize(), inet::LMac::initialize(), inet::CsmaCaMac::initialize(), and inet::EthernetMacBase::initialize().
◆ isInitializeStage()
| virtual bool inet::MacProtocolBase::isInitializeStage |
( |
int |
stage | ) |
const |
|
inlineoverrideprotectedvirtual |
◆ isLowerMessage()
| bool inet::MacProtocolBase::isLowerMessage |
( |
cMessage * |
message | ) |
const |
|
overrideprotectedvirtual |
◆ isModuleStartStage()
| virtual bool inet::MacProtocolBase::isModuleStartStage |
( |
int |
stage | ) |
const |
|
inlineoverrideprotectedvirtual |
◆ isModuleStopStage()
| virtual bool inet::MacProtocolBase::isModuleStopStage |
( |
int |
stage | ) |
const |
|
inlineoverrideprotectedvirtual |
◆ isUpperMessage()
| bool inet::MacProtocolBase::isUpperMessage |
( |
cMessage * |
message | ) |
const |
|
overrideprotectedvirtual |
◆ parseMacAddressParameter()
| MacAddress inet::MacProtocolBase::parseMacAddressParameter |
( |
const char * |
addrstr | ) |
|
|
protectedvirtual |
◆ receiveSignal()
| void inet::MacProtocolBase::receiveSignal |
( |
cComponent * |
source, |
|
|
simsignal_t |
signalID, |
|
|
cObject * |
obj, |
|
|
cObject * |
details |
|
) |
| |
|
overrideprotectedvirtual |
◆ registerInterface()
| void inet::MacProtocolBase::registerInterface |
( |
| ) |
|
|
protectedvirtual |
◆ sendDown()
| void inet::MacProtocolBase::sendDown |
( |
cMessage * |
message | ) |
|
|
protectedvirtual |
68 if (message->isPacket())
◆ sendUp()
| void inet::MacProtocolBase::sendUp |
( |
cMessage * |
message | ) |
|
|
protectedvirtual |
◆ currentTxFrame
| Packet* inet::MacProtocolBase::currentTxFrame = nullptr |
|
protected |
Currently transmitted frame if any.
Referenced by inet::EthernetMac::beginSendFrames(), inet::EthernetCsmaMac::beginSendFrames(), deleteCurrentTxFrame(), dropCurrentTxFrame(), inet::EthernetMac::handleCanPullPacketChanged(), inet::EthernetCsmaMac::handleCanPullPacketChanged(), inet::Ppp::handleCanPullPacketChanged(), inet::EthernetCsmaMac::handleEndBackoffPeriod(), inet::EthernetMac::handleEndIFGPeriod(), inet::EthernetCsmaMac::handleEndIFGPeriod(), inet::EthernetMac::handleEndPausePeriod(), inet::EthernetMac::handleEndTxPeriod(), inet::EthernetCsmaMac::handleEndTxPeriod(), handleStopOperation(), inet::EthernetMacBase::handleStopOperation(), inet::EthernetMac::handleUpperPacket(), inet::Ppp::handleUpperPacket(), inet::EthernetCsmaMac::handleUpperPacket(), initialize(), inet::EthernetMacBase::processAtHandleMessageFinished(), inet::EthernetMacBase::processConnectDisconnect(), inet::EthernetMac::processMsgFromNetwork(), inet::Ppp::refreshOutGateConnection(), inet::EthernetMac::scheduleEndIFGPeriod(), inet::EthernetMac::scheduleEndPausePeriod(), inet::EthernetMac::startFrameTransmission(), inet::EthernetCsmaMac::startFrameTransmission(), inet::Ppp::startTransmitting(), and ~MacProtocolBase().
◆ hostModule
| opp_component_ptr<cModule> inet::MacProtocolBase::hostModule |
|
protected |
◆ lowerLayerInGateId
| int inet::MacProtocolBase::lowerLayerInGateId = -1 |
|
protected |
◆ lowerLayerOutGateId
| int inet::MacProtocolBase::lowerLayerOutGateId = -1 |
|
protected |
◆ networkInterface
Referenced by inet::Tun::configureNetworkInterface(), inet::Loopback::configureNetworkInterface(), inet::ShortcutMac::configureNetworkInterface(), inet::Ppp::configureNetworkInterface(), inet::EthernetMacBase::configureNetworkInterface(), inet::Ppp::decapsulate(), handleCrashOperation(), inet::EthernetMacBase::handleCrashOperation(), inet::Ppp::handleMessageWhenUp(), handleStartOperation(), inet::EthernetMacBase::handleStartOperation(), inet::Ppp::handleStopOperation(), handleStopOperation(), inet::EthernetMacBase::handleStopOperation(), inet::Tun::handleUpperPacket(), inet::Loopback::handleUpperPacket(), inet::EthernetMacBase::processAtHandleMessageFinished(), inet::EthernetMac::processReceivedDataFrame(), inet::EthernetCsmaMac::processReceivedDataFrame(), inet::EthernetMacBase::readChannelParameters(), inet::ShortcutMac::receiveFromPeer(), inet::Ppp::refreshOutGateConnection(), and registerInterface().
◆ txQueue
Messages received from upper layer and to be transmitted later.
Referenced by inet::EthernetCsmaMac::canContinueBurst(), canDequeuePacket(), clearQueue(), dequeuePacket(), flushQueue(), inet::Ppp::getProvider(), inet::EthernetMacBase::getProvider(), inet::Ppp::handleMessageWhenUp(), inet::Ppp::handleStopOperation(), inet::EthernetMacBase::handleStopOperation(), inet::Ppp::initialize(), inet::EthernetMacBase::initialize(), inet::EthernetCsmaMac::printState(), inet::EthernetMacBase::processAtHandleMessageFinished(), inet::Ppp::refreshDisplay(), and inet::EthernetMacBase::refreshDisplay().
◆ upperLayerInGateId
| int inet::MacProtocolBase::upperLayerInGateId = -1 |
|
protected |
Gate ids.
Referenced by inet::EthernetCsmaMac::canContinueBurst(), canDequeuePacket(), dequeuePacket(), inet::Ppp::getProvider(), inet::EthernetMacBase::getProvider(), inet::EthernetMac::handleMessageWhenUp(), inet::EthernetCsmaMac::handleMessageWhenUp(), initialize(), inet::Ppp::initialize(), inet::EthernetMacBase::initialize(), and isUpperMessage().
◆ upperLayerOutGateId
| int inet::MacProtocolBase::upperLayerOutGateId = -1 |
|
protected |
The documentation for this class was generated from the following files:
opp_component_ptr< NetworkInterface > networkInterface
Definition: MacProtocolBase.h:30
cModule * findContainingNode(const cModule *from)
Find the node containing the given module.
Definition: ModuleAccess.cc:31
virtual void flushQueue(PacketDropDetails &details)
should clear queue and emit signal "packetDropped" with entire packets
Definition: MacProtocolBase.cc:106
int upperLayerOutGateId
Definition: MacProtocolBase.h:25
virtual void registerInterface()
Definition: MacProtocolBase.cc:52
virtual void initialize(int stage) override
Definition: OperationalMixinImpl.h:26
NetworkInterface * getContainingNicModule(const cModule *from)
Find the nic module (inside the networkNode) containing the given module.
Definition: NetworkInterface.cc:691
virtual void dropCurrentTxFrame(PacketDropDetails &details)
Definition: MacProtocolBase.cc:99
simsignal_t packetDroppedSignal
Definition: Simsignals.cc:85
int lowerLayerInGateId
Definition: MacProtocolBase.h:26
milli< kg >::type g
Definition: Units.h:1071
INET_API InitStage INITSTAGE_NETWORK_INTERFACE_CONFIGURATION
Initialization of network interfaces includes:
static MacAddress generateAutoAddress()
Generates a unique address which begins with 0a:aa and ends in a unique suffix.
Definition: MacAddress.cc:133
Packet * currentTxFrame
Currently transmitted frame if any.
Definition: MacProtocolBase.h:35
@ STAGE_LINK_LAYER
Definition: ModuleOperations.h:54
int upperLayerInGateId
Gate ids.
Definition: MacProtocolBase.h:24
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
virtual void deleteCurrentTxFrame()
Definition: MacProtocolBase.cc:93
opp_component_ptr< cModule > hostModule
Definition: MacProtocolBase.h:32
virtual void configureNetworkInterface()=0
@ INTERFACE_DOWN
Definition: Simsignals_m.h:72
#define Enter_Method(...)
Definition: SelfDoc.h:71
int lowerLayerOutGateId
Definition: MacProtocolBase.h:27
virtual Packet * dequeuePacket()
Definition: MacProtocolBase.cc:175
virtual void clearQueue()
should clear queue silently
Definition: MacProtocolBase.cc:117
simsignal_t packetSentToUpperSignal
Definition: Simsignals.cc:87
opp_component_ptr< queueing::IPacketQueue > txQueue
Messages received from upper layer and to be transmitted later.
Definition: MacProtocolBase.h:38
value< double, units::m > m
Definition: Units.h:1233
@ STAGE_LINK_LAYER
Definition: ModuleOperations.h:28
virtual void handleMessageWhenDown(cMessage *msg)
Definition: OperationalMixinImpl.h:71
virtual bool canDequeuePacket() const
Definition: MacProtocolBase.cc:170
INET_API InitStage INITSTAGE_LINK_LAYER
Initialization of link-layer protocols.
simsignal_t packetSentToLowerSignal
Definition: Simsignals.cc:90