|
INET Framework for OMNeT++/OMNEST
|
Ethernet Frame classifier. More...
#include <EthernetFrameClassifier.h>
Public Member Functions | |
| virtual int | classifyPacket (Packet *packet) override |
| Sends the incoming packet to either the first or the second gate. More... | |
Public Member Functions inherited from inet::queueing::PacketClassifierBase | |
| virtual IPassivePacketSource * | getProvider (cGate *gate) override |
| Returns the passive packet source from where packets are pulled or nullptr if the connected module doesn't implement the interface. More... | |
| virtual IPassivePacketSink * | getConsumer (cGate *gate) override |
| Returns the passive packet sink where packets are pushed or nullptr if the connected module doesn't implement the interface. More... | |
| virtual bool | supportsPacketPushing (cGate *gate) const override |
| Returns true if the processor supports pushing packets at the given gate. More... | |
| virtual bool | supportsPacketPulling (cGate *gate) const override |
| Returns true if the processor supports pulling packets at the given gate. More... | |
| virtual bool | supportsPacketStreaming (cGate *gate) const override |
| Returns true if the processor supports streaming packets at the given gate. More... | |
| virtual bool | canPushSomePacket (cGate *gate) const override |
| Returns false if the packet sink is full at the given gate and no more packets can be pushed into it without raising an error. More... | |
| virtual bool | canPushPacket (Packet *packet, cGate *gate) const override |
| Returns true if the given packet can be pushed at the given gate into the packet sink without raising an error. More... | |
| virtual void | pushPacket (Packet *packet, cGate *gate) override |
| Pushes the packet into the packet sink at the given gate. More... | |
| virtual void | pushPacketStart (Packet *packet, cGate *gate, bps datarate) override |
| Starts pushing the packet into the packet sink at the given gate. More... | |
| virtual void | pushPacketEnd (Packet *packet, cGate *gate) override |
| Ends pushing the packet into the packet sink at the given gate. More... | |
| virtual void | pushPacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength=b(0)) override |
| Progresses pushing the packet into the packet sink at the given gate. More... | |
| virtual void | handleCanPushPacketChanged (cGate *gate) override |
| Notifies about a change in the possibility of pushing some packet into the passive packet sink at the given gate. More... | |
| virtual void | handlePushPacketProcessed (Packet *packet, cGate *gate, bool successful) override |
| Notifies about the completion of the packet processing for a packet that was pushed earlier independently whether the packet is passed or streamed. More... | |
| virtual bool | canPullSomePacket (cGate *gate) const override |
| Returns false if the packet source is empty at the given gate and no more packets can be pulled from it without raising an error. More... | |
| virtual Packet * | canPullPacket (cGate *gate) const override |
| Returns the packet that can be pulled at the given gate. More... | |
| virtual Packet * | pullPacket (cGate *gate) override |
| Pulls the packet from the packet source at the given gate. More... | |
| virtual Packet * | pullPacketStart (cGate *gate, bps datarate) override |
| Starts pulling the packet from the packet source at the given gate. More... | |
| virtual Packet * | pullPacketEnd (cGate *gate) override |
| Ends pulling the packet from the packet source at the given gate. More... | |
| virtual Packet * | pullPacketProgress (cGate *gate, bps datarate, b position, b extraProcessableLength) override |
| Progresses pulling the packet from the packet source at the given gate. More... | |
| virtual void | handleCanPullPacketChanged (cGate *gate) override |
| Notifies about a change in the possibility of pulling some packet from the passive packet source at the given gate. More... | |
| virtual void | handlePullPacketProcessed (Packet *packet, cGate *gate, bool successful) override |
| Notifies about the completion of the packet processing for a packet that was pulled earlier independently whether the packet is passed or streamed. More... | |
Public Member Functions inherited from inet::queueing::PacketProcessorBase | |
| virtual bool | supportsPacketSending (cGate *gate) const override |
| Returns true if the processor supports sending packets at the given gate. More... | |
| virtual bool | supportsPacketPassing (cGate *gate) const override |
| Returns true if the processor supports passing packets as a whole at the given gate. More... | |
| virtual const char * | resolveDirective (char directive) const override |
Public Member Functions inherited from inet::queueing::IPacketProcessor | |
| virtual | ~IPacketProcessor () |
Public Member Functions inherited from inet::TransparentProtocolRegistrationListener | |
| virtual cGate * | getRegistrationForwardingGate (cGate *gate) |
| virtual bool | isForwardingProtocol (const Protocol &protocol, cGate *gate, ServicePrimitive servicePrimitive) const |
| virtual bool | isForwardingProtocolGroup (const ProtocolGroup &protocolGroup, cGate *gate, ServicePrimitive servicePrimitive) const |
| virtual bool | isForwardingAnyProtocol (cGate *gate, ServicePrimitive servicePrimitive) const |
| virtual bool | isForwardingProtocol (cGate *gate, ServicePrimitive servicePrimitive) const |
| virtual bool | isForwardingService (const Protocol &protocol, cGate *gate, ServicePrimitive servicePrimitive) const |
| virtual bool | isForwardingServiceGroup (const ProtocolGroup &protocolGroup, cGate *gate, ServicePrimitive servicePrimitive) const |
| virtual bool | isForwardingAnyService (cGate *gate, ServicePrimitive servicePrimitive) const |
| virtual bool | isForwardingService (cGate *gate, ServicePrimitive servicePrimitive) const |
| virtual void | handleRegisterService (const Protocol &protocol, cGate *gate, ServicePrimitive servicePrimitive) override |
| virtual void | handleRegisterProtocol (const Protocol &protocol, cGate *gate, ServicePrimitive servicePrimitive) override |
| virtual void | handleRegisterServiceGroup (const ProtocolGroup &protocolGroup, cGate *gate, ServicePrimitive servicePrimitive) override |
| virtual void | handleRegisterProtocolGroup (const ProtocolGroup &protocolGroup, cGate *gate, ServicePrimitive servicePrimitive) override |
| virtual void | handleRegisterAnyService (cGate *gate, ServicePrimitive servicePrimitive) override |
| virtual void | handleRegisterAnyProtocol (cGate *gate, ServicePrimitive servicePrimitive) override |
Public Member Functions inherited from inet::queueing::IPassivePacketSink | |
| virtual | ~IPassivePacketSink () |
Public Member Functions inherited from inet::queueing::IActivePacketSink | |
| virtual | ~IActivePacketSink () |
Public Member Functions inherited from inet::queueing::IPassivePacketSource | |
| virtual | ~IPassivePacketSource () |
Public Member Functions inherited from inet::queueing::IActivePacketSource | |
| virtual | ~IActivePacketSource () |
Additional Inherited Members | |
Protected Types inherited from inet::queueing::PacketProcessorBase | |
| enum | Action { PUSH, PULL } |
Protected Member Functions inherited from inet::queueing::PacketClassifierBase | |
| virtual void | initialize (int stage) override |
| virtual void | handleMessage (cMessage *message) override |
| virtual void | mapRegistrationForwardingGates (cGate *gate, std::function< void(cGate *)> f) override |
| virtual size_t | getOutputGateIndex (size_t i) const |
| virtual int | callClassifyPacket (Packet *packet) const |
| virtual bool | isStreamingPacket () const |
| virtual void | startPacketStreaming (Packet *packet) |
| virtual void | endPacketStreaming (Packet *packet) |
| virtual void | checkPacketStreaming (Packet *packet) |
Protected Member Functions inherited from inet::queueing::PacketProcessorBase | |
| virtual int | numInitStages () const override |
| virtual void | refreshDisplay () const override |
| virtual void | handlePacketProcessed (Packet *packet) |
| virtual void | checkPacketOperationSupport (cGate *gate) const |
| virtual void | checkPacketOperationSupport (cGate *startGate, cGate *endGate) const |
| virtual void | animate (Packet *packet, cGate *gate, const SendOptions &sendOptions, Action action) const |
| virtual void | animatePacket (Packet *packet, cGate *gate, Action action) const |
| virtual void | animatePacketStart (Packet *packet, cGate *gate, bps datarate, long transmissionId, Action action) const |
| virtual void | animatePacketStart (Packet *packet, cGate *gate, bps datarate, const SendOptions &sendOptions, Action action) const |
| virtual void | animatePacketEnd (Packet *packet, cGate *gate, long transmissionId, Action action) const |
| virtual void | animatePacketEnd (Packet *packet, cGate *gate, const SendOptions &sendOptions, Action action) const |
| virtual void | animatePacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, long transmissionId, Action action) const |
| virtual void | animatePacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, const SendOptions &sendOptions, Action action) const |
| virtual void | pushOrSendPacket (Packet *packet, cGate *gate, IPassivePacketSink *consumer) |
| virtual void | pushOrSendPacketStart (Packet *packet, cGate *gate, IPassivePacketSink *consumer, bps datarate, int transmissionId) |
| virtual void | pushOrSendPacketEnd (Packet *packet, cGate *gate, IPassivePacketSink *consumer, int transmissionId) |
| virtual void | pushOrSendPacketProgress (Packet *packet, cGate *gate, IPassivePacketSink *consumer, bps datarate, b position, b extraProcessableLength, int transmissionId) |
| virtual void | animatePush (Packet *packet, cGate *gate, const SendOptions &sendOptions) const |
| virtual void | animatePushPacket (Packet *packet, cGate *gate) const |
| virtual void | animatePushPacketStart (Packet *packet, cGate *gate, bps datarate, long transmissionId) const |
| virtual void | animatePushPacketStart (Packet *packet, cGate *gate, bps datarate, const SendOptions &sendOptions) const |
| virtual void | animatePushPacketEnd (Packet *packet, cGate *gate, long transmissionId) const |
| virtual void | animatePushPacketEnd (Packet *packet, cGate *gate, const SendOptions &sendOptions) const |
| virtual void | animatePushPacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, long transmissionId) const |
| virtual void | animatePushPacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, const SendOptions &sendOptions) const |
| virtual void | animatePull (Packet *packet, cGate *gate, const SendOptions &sendOptions) const |
| virtual void | animatePullPacket (Packet *packet, cGate *gate) const |
| virtual void | animatePullPacketStart (Packet *packet, cGate *gate, bps datarate, long transmissionId) const |
| virtual void | animatePullPacketStart (Packet *packet, cGate *gate, bps datarate, const SendOptions &sendOptions) const |
| virtual void | animatePullPacketEnd (Packet *packet, cGate *gate, long transmissionId) const |
| virtual void | animatePullPacketEnd (Packet *packet, cGate *gate, const SendOptions &sendOptions) const |
| virtual void | animatePullPacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, long transmissionId) const |
| virtual void | animatePullPacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, const SendOptions &sendOptions) const |
| virtual void | dropPacket (Packet *packet, PacketDropReason reason, int limit=-1) |
| virtual void | updateDisplayString () const |
Protected Attributes inherited from inet::queueing::PacketClassifierBase | |
| bool | reverseOrder = false |
| cGate * | inputGate = nullptr |
| IActivePacketSource * | producer = nullptr |
| IPassivePacketSource * | provider = nullptr |
| std::vector< cGate * > | outputGates |
| std::vector< IPassivePacketSink * > | consumers |
| std::vector< IActivePacketSink * > | collectors |
| int | inProgressStreamId = -1 |
| int | inProgressGateIndex = -1 |
Protected Attributes inherited from inet::queueing::PacketProcessorBase | |
| const char * | displayStringTextFormat = nullptr |
| int | numProcessedPackets = -1 |
| b | processedTotalLength = b(-1) |
Ethernet Frame classifier.
Ethernet frames are classified as:
|
overridevirtual |
Sends the incoming packet to either the first or the second gate.
Implements inet::queueing::PacketClassifierBase.