summaryrefslogtreecommitdiff
path: root/pcapplusplus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pcapplusplus.cpp')
-rw-r--r--pcapplusplus.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/pcapplusplus.cpp b/pcapplusplus.cpp
index ea0acb7..0848401 100644
--- a/pcapplusplus.cpp
+++ b/pcapplusplus.cpp
@@ -1,5 +1,3 @@
-#include "pcapplusplus.h"
-
#include <chrono>
#include <EthLayer.h>
#include <exception>
@@ -12,6 +10,8 @@
#include <tuple>
#include <UdpLayer.h>
+#include "pcapplusplus.h"
+
PcapPlusPlus::PcapPlusPlus(std::string fileName) : rawPackets(), parsedPackets()
{
reader = pcpp::IFileReaderDevice::getReader(fileName);
@@ -69,6 +69,11 @@ bool PcapPlusPlus::processPacket(pcpp::Packet & packet)
return false;
if (reader->getNextPacket(rawPacket)) {
+ if (rawPackets.size() == 0) {
+ const auto & pktTs = rawPacket.getPacketTimeStamp();
+ firstPacketTs = pktTs.tv_sec;
+ firstPacketTs += pktTs.tv_nsec / 10e9f;
+ }
rawPackets.emplace_back(std::move(rawPacket));
pcpp::Packet parsedPacket(&rawPackets.back(), false);