catchunks: increase retx limit and improve statistics

Increased the retx limit from 3 to 15 (default in Linux TCP).
Added statistics about skipped retransmission.
Cleaned up statistic output.

Change-Id: I66ce9ac9fa08f7492f84bec48b7464ddb1228ab1
refs: #4861 #4603
diff --git a/tests/chunks/discover-version-fixture.hpp b/tests/chunks/discover-version-fixture.hpp
index ed18235..d42429a 100644
--- a/tests/chunks/discover-version-fixture.hpp
+++ b/tests/chunks/discover-version-fixture.hpp
@@ -75,7 +75,7 @@
     Options options;
     options.isVerbose = false;
     options.interestLifetime = time::seconds(1);
-    options.maxRetriesOnTimeoutOrNack = 3;
+    options.maxRetriesOnTimeoutOrNack = 15;
     return options;
   }
 
diff --git a/tests/chunks/discover-version-realtime.t.cpp b/tests/chunks/discover-version-realtime.t.cpp
index 630594b..5bfcfce 100644
--- a/tests/chunks/discover-version-realtime.t.cpp
+++ b/tests/chunks/discover-version-realtime.t.cpp
@@ -58,7 +58,7 @@
   {
     Options options;
     options.isVerbose = false;
-    options.maxRetriesOnTimeoutOrNack = 3;
+    options.maxRetriesOnTimeoutOrNack = 15;
     return options;
   }
 };
diff --git a/tests/chunks/pipeline-interests-aimd.t.cpp b/tests/chunks/pipeline-interests-aimd.t.cpp
index 0e6341e..77dc1f0 100644
--- a/tests/chunks/pipeline-interests-aimd.t.cpp
+++ b/tests/chunks/pipeline-interests-aimd.t.cpp
@@ -179,8 +179,19 @@
   BOOST_CHECK_CLOSE(aimdPipeline->m_cwnd, 4.5, MARGIN);
   BOOST_CHECK_EQUAL(face.sentInterests.size(), nDataSegments); // all the segment requests have been sent
 
-  // timeout segment 3
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nTimeouts, 0);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nLossDecr, 0);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nMarkDecr, 0);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nRetransmitted, 0);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nSkippedRetx, 0);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nCongMarks, 0);
+
+  // timeout segment 3 & 6
   advanceClocks(io, time::milliseconds(150));
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nTimeouts, 2);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nRetransmitted, 1);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nLossDecr, 1);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nSkippedRetx, 0);
 
   BOOST_CHECK_EQUAL(pipeline->m_nReceived, 5);
   BOOST_CHECK_CLOSE(aimdPipeline->m_cwnd, 2.25, MARGIN); // window size drop to 1/2 of previous size
@@ -194,6 +205,12 @@
   BOOST_CHECK_CLOSE(aimdPipeline->m_cwnd, 2.75, MARGIN); // congestion avoidance
   BOOST_CHECK_EQUAL(aimdPipeline->m_retxQueue.size(), 0);
   BOOST_CHECK_EQUAL(aimdPipeline->m_retxCount[3], 1);
+
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nTimeouts, 2);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nRetransmitted, 2);
+  BOOST_CHECK_EQUAL(aimdPipeline->m_nTimeouts,
+      aimdPipeline->m_nRetransmitted + aimdPipeline->m_nSkippedRetx);
+
 }
 
 BOOST_AUTO_TEST_CASE(CongestionMarksWithCwa)