mgmt: add satisfied and unsatisfied counters for forwarder status management
refs: #4720
Change-Id: I69545e0fbf4ebba75a292644631c2cf9fdaa301a
diff --git a/daemon/fw/forwarder-counters.hpp b/daemon/fw/forwarder-counters.hpp
index 5a63406..ca9eb4d 100644
--- a/daemon/fw/forwarder-counters.hpp
+++ b/daemon/fw/forwarder-counters.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
- * Copyright (c) 2014-2017, Regents of the University of California,
+ * Copyright (c) 2014-2018, Regents of the University of California,
* Arizona Board of Regents,
* Colorado State University,
* University Pierre & Marie Curie, Sorbonne University,
@@ -41,6 +41,8 @@
PacketCounter nOutData;
PacketCounter nInNacks;
PacketCounter nOutNacks;
+ PacketCounter nSatisfiedInterests;
+ PacketCounter nUnsatisfiedInterests;
PacketCounter nCsHits;
PacketCounter nCsMisses;
diff --git a/daemon/fw/forwarder.cpp b/daemon/fw/forwarder.cpp
index 7e28db2..d55da5a 100644
--- a/daemon/fw/forwarder.cpp
+++ b/daemon/fw/forwarder.cpp
@@ -246,6 +246,14 @@
// Dead Nonce List insert if necessary
this->insertDeadNonceList(*pitEntry, 0);
+ // Increment satisfied/unsatisfied Interests counter
+ if (pitEntry->isSatisfied) {
+ ++m_counters.nSatisfiedInterests;
+ }
+ else {
+ ++m_counters.nUnsatisfiedInterests;
+ }
+
// PIT delete
scheduler::cancel(pitEntry->expiryTimer);
m_pit.erase(pitEntry.get());
diff --git a/daemon/mgmt/forwarder-status-manager.cpp b/daemon/mgmt/forwarder-status-manager.cpp
index 108914f..e0a19d2 100644
--- a/daemon/mgmt/forwarder-status-manager.cpp
+++ b/daemon/mgmt/forwarder-status-manager.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2017, Regents of the University of California,
+/*
+ * Copyright (c) 2014-2018, Regents of the University of California,
* Arizona Board of Regents,
* Colorado State University,
* University Pierre & Marie Curie, Sorbonne University,
@@ -61,7 +61,9 @@
.setNInData(counters.nInData)
.setNOutData(counters.nOutData)
.setNInNacks(counters.nInNacks)
- .setNOutNacks(counters.nOutNacks);
+ .setNOutNacks(counters.nOutNacks)
+ .setNSatisfiedInterests(counters.nSatisfiedInterests)
+ .setNUnsatisfiedInterests(counters.nUnsatisfiedInterests);
return status;
}