PcapPlusPlus  Next
PacketTrailerLayer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Layer.h"
4 
6 
9 namespace pcpp
10 {
31  class PacketTrailerLayer : public Layer
32  {
33  public:
39  PacketTrailerLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet* packet)
40  : Layer(data, dataLen, prevLayer, packet, PacketTrailer)
41  {}
42 
43  ~PacketTrailerLayer() override = default;
44 
47  uint8_t* getTrailerData() const
48  {
49  return m_Data;
50  }
51 
53  std::string getTrailerDataAsHexString() const;
54 
57  size_t getTrailerLen() const
58  {
59  return m_DataLen;
60  }
61 
62  // implement abstract methods
63 
65  void parseNextLayer() override
66  {}
67 
69  size_t getHeaderLen() const override
70  {
71  return m_DataLen;
72  }
73 
75  void computeCalculateFields() override
76  {}
77 
78  std::string toString() const override;
79 
81  {
82  return OsiModelDataLinkLayer;
83  }
84  };
85 
86 } // namespace pcpp
Definition: Layer.h:60
Definition: Packet.h:22
Definition: PacketTrailerLayer.h:32
OsiModelLayer getOsiModelLayer() const override
Definition: PacketTrailerLayer.h:80
size_t getTrailerLen() const
Definition: PacketTrailerLayer.h:57
void parseNextLayer() override
Does nothing for this layer (PacketTrailerLayer is always last)
Definition: PacketTrailerLayer.h:65
void computeCalculateFields() override
Does nothing for this layer.
Definition: PacketTrailerLayer.h:75
std::string toString() const override
uint8_t * getTrailerData() const
Definition: PacketTrailerLayer.h:47
size_t getHeaderLen() const override
Definition: PacketTrailerLayer.h:69
std::string getTrailerDataAsHexString() const
PacketTrailerLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: PacketTrailerLayer.h:39
The main namespace for the PcapPlusPlus lib.
const ProtocolType PacketTrailer
Packet trailer.
Definition: ProtocolType.h:128
OsiModelLayer
An enum representing OSI model layers.
Definition: ProtocolType.h:225
@ OsiModelDataLinkLayer
Data link layer (layer 2)
Definition: ProtocolType.h:229