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

#include <FloodingProtocolPrinter.h>

Inheritance diagram for inet::FloodingProtocolPrinter:
inet::ProtocolPrinter

Public Member Functions

virtual void print (const Ptr< const Chunk > &chunk, const Protocol *protocol, const cMessagePrinter::Options *options, Context &context) const override
 Prints the given chunk of protocol according to options into context. More...
 

Member Function Documentation

◆ print()

void inet::FloodingProtocolPrinter::print ( const Ptr< const Chunk > &  chunk,
const Protocol protocol,
const cMessagePrinter::Options *  options,
Context context 
) const
overridevirtual

Prints the given chunk of protocol according to options into context.

Implements inet::ProtocolPrinter.

19 {
20  if (auto header = dynamicPtrCast<const FloodingHeader>(chunk)) {
21  context.sourceColumn << header->getSourceAddress();
22  context.destinationColumn << header->getDestinationAddress();
23  B payloadLength = header->getPayloadLengthField();
24  context.infoColumn << "Flooding"
25  << " ttl:" << header->getTtl();
26  auto payloadProtocol = header->getProtocol();
27  if (payloadProtocol)
28  context.infoColumn << " payload:" << payloadProtocol->getName() << " " << payloadLength;
29  else
30  context.infoColumn << " payload: protocol(" << header->getProtocolId() << ") " << payloadLength;
31  }
32  else
33  context.infoColumn << "(Flooding) " << chunk;
34 }

The documentation for this class was generated from the following files:
inet::units::units::B
intscale< b, 1, 8 > B
Definition: Units.h:1168