PcapPlusPlus  Next
pcpp::IFileDevice Class Reference

#include <PcapFileDevice.h>

Inheritance diagram for pcpp::IFileDevice:
pcpp::IPcapDevice pcpp::IDevice pcpp::IFilterableDevice pcpp::IPcapStatisticsProvider pcpp::IFileReaderDevice pcpp::IFileWriterDevice pcpp::PcapFileReaderDevice pcpp::PcapNgFileReaderDevice pcpp::SnoopFileReaderDevice pcpp::PcapFileWriterDevice pcpp::PcapNgFileWriterDevice

Public Member Functions

std::string getFileName () const
 
void close () override
 Close the file.
 
bool isOpened () const override
 
void getStatistics (PcapStats &stats) const override
 Get the statistics for this device. More...
 
- Public Member Functions inherited from pcpp::IPcapDevice
bool setFilter (std::string filterAsString) override
 
bool clearFilter () override
 
virtual bool setFilter (GeneralFilter &filter)
 
virtual bool setFilter (std::string filterAsString)=0
 
- Public Member Functions inherited from pcpp::IDevice
virtual bool open ()=0
 
- Public Member Functions inherited from pcpp::IFilterableDevice
virtual bool setFilter (GeneralFilter &filter)
 
- Public Member Functions inherited from pcpp::IPcapStatisticsProvider
PcapStats getStatistics () const
 Get statistics from the device. More...
 

Protected Member Functions

void reportPacketProcessed (uint64_t numPackets=1)
 Report that packets were processed (read or written, depending on the device type). More...
 
void reportPacketDropped (uint64_t numPackets=1)
 Report that packets were dropped (not read or not written, depending on the device type). More...
 
void resetStatisticCounters ()
 Reset the internal statistic counters to zero.
 

Additional Inherited Members

- Static Public Member Functions inherited from pcpp::IPcapDevice
static std::string getPcapLibVersionInfo ()
 
static bool matchPacketWithFilter (GeneralFilter &filter, RawPacket *rawPacket)
 

Detailed Description

An abstract class (cannot be instantiated, has a private c'tor) which is the parent class for all file devices

Member Function Documentation

◆ getFileName()

std::string pcpp::IFileDevice::getFileName ( ) const
Returns
The name of the file

◆ getStatistics()

void pcpp::IFileDevice::getStatistics ( PcapStats stats) const
overridevirtual

Get the statistics for this device.

The PcapStats structure will hold the following:

  • packetsRecv: Number of packets processed (read or written, depending on the device type)
  • packetsDrop: Number of packets dropped (not read or not written, depending on the device type)
  • packetsDropByInterface: Not supported for file devices, will always be 0
Parameters
[out]statsThe stats object to fill in.

Implements pcpp::IPcapStatisticsProvider.

◆ isOpened()

bool pcpp::IFileDevice::isOpened ( ) const
inlineoverridevirtual
Returns
True if the file is opened, false otherwise

Implements pcpp::IDevice.

◆ reportPacketDropped()

void pcpp::IFileDevice::reportPacketDropped ( uint64_t  numPackets = 1)
inlineprotected

Report that packets were dropped (not read or not written, depending on the device type).

Parameters
numPacketsThe number of packets dropped. Default is 1.

◆ reportPacketProcessed()

void pcpp::IFileDevice::reportPacketProcessed ( uint64_t  numPackets = 1)
inlineprotected

Report that packets were processed (read or written, depending on the device type).

Parameters
numPacketsThe number of packets processed. Default is 1.