INET Framework for OMNeT++/OMNEST
inet::Ieee802154ProtocolDissector Class Reference

#include <Ieee802154ProtocolDissector.h>

Inheritance diagram for inet::Ieee802154ProtocolDissector:
inet::ProtocolDissector

Public Member Functions

virtual void dissect (Packet *packet, const Protocol *protocol, ICallback &callback) const override
 Dissects the packet according to the protocol implemented by this ProtocolDissector. More...
 

Member Function Documentation

◆ dissect()

void inet::Ieee802154ProtocolDissector::dissect ( Packet packet,
const Protocol protocol,
ICallback callback 
) const
overridevirtual

Dissects the packet according to the protocol implemented by this ProtocolDissector.

Implements inet::ProtocolDissector.

20 {
21  const auto& header = packet->popAtFront<Ieee802154MacHeader>();
22  callback.startProtocolDataUnit(&Protocol::ieee802154);
23  callback.visitChunk(header, &Protocol::ieee802154);
24  if (header->getNetworkProtocol() != -1) {
25  auto payloadProtocol = ProtocolGroup::ethertype.findProtocol(header->getNetworkProtocol());
26  callback.dissectPacket(packet, payloadProtocol);
27  }
28 // auto paddingLength = packet->getDataLength();
29 // if (paddingLength > b(0)) {
30 // const auto& padding = packet->popHeader(paddingLength);
31 // callback.visitChunk(padding, &Protocol::ieee802154);
32 // }
33  callback.endProtocolDataUnit(&Protocol::ieee802154);
34 }

The documentation for this class was generated from the following files:
inet::ProtocolGroup::findProtocol
const Protocol * findProtocol(int protocolNumber) const
Definition: ProtocolGroup.cc:25
inet::Protocol::ieee802154
static const Protocol ieee802154
Definition: Protocol.h:83
inet::ProtocolGroup::ethertype
static ProtocolGroup ethertype
Definition: ProtocolGroup.h:40