FwStats: when PIT entry cannot be created (limit or unknown prefix),
record the fact in the stats by creating an entry and immediately time
outing this entry (kind of cheating, but getting some statistics)
diff --git a/model/forwarding-strategy/fw-stats.cc b/model/forwarding-strategy/fw-stats.cc
index 50c404e..76638e2 100644
--- a/model/forwarding-strategy/fw-stats.cc
+++ b/model/forwarding-strategy/fw-stats.cc
@@ -50,6 +50,9 @@
     .SetGroupName ("Ccnx")
     .SetParent <BestRoute> ()
     .AddConstructor <FwStats> ()
+
+    .AddTraceSource ("Stats", "Fired every time stats tree is updated",
+                     MakeTraceSourceAccessor (&FwStats::m_statsTrace))
     ;
   return tid;
 }
@@ -66,6 +69,18 @@
 }
 
 void
+FwStats::FailedToCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
+                                 Ptr<CcnxInterestHeader> header,
+                                 const Ptr<const Packet> &packet)
+{
+  super::FailedToCreatePitEntry (incomingFace, header, packet);
+
+  // Kind of cheating... But at least this way we will have some statistics
+  m_stats.NewPitEntry (header->GetName ());
+  m_stats.Timeout (header->GetName ());
+}
+
+void
 FwStats::DidCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
                             Ptr<CcnxInterestHeader> header,
                             const Ptr<const Packet> &packet,
@@ -123,6 +138,7 @@
 FwStats::RefreshStats ()
 {
   m_stats.Step ();
+  m_statsTrace (this, m_stats);
   
   NS_LOG_DEBUG (m_stats["/"]);
 
diff --git a/model/forwarding-strategy/fw-stats.h b/model/forwarding-strategy/fw-stats.h
index 2d9f1fc..a422ccc 100644
--- a/model/forwarding-strategy/fw-stats.h
+++ b/model/forwarding-strategy/fw-stats.h
@@ -54,6 +54,11 @@
                      Ptr<CcnxPitEntry> pitEntry);
 
   virtual void
+  FailedToCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
+                          Ptr<CcnxInterestHeader> header,
+                          const Ptr<const Packet> &packet);
+
+  virtual void
   WillSatisfyPendingInterest (const Ptr<CcnxFace> &incomingFace,
                               Ptr<CcnxPitEntry> pitEntry);
 
@@ -79,6 +84,9 @@
 private:
   ::ndnSIM::StatsTree m_stats;
   EventId m_statsRefreshEvent;
+
+  TracedCallback< Ptr<CcnxForwardingStrategy>,
+                  const ::ndnSIM::StatsTree & > m_statsTrace;
   
   typedef BestRoute super;
 };