chunks: respect common options in AIMD pipeline

Change-Id: Ic759950be9b6335efa2119c4cfbd22e3911b69ab
diff --git a/tools/chunks/catchunks/ndncatchunks.cpp b/tools/chunks/catchunks/ndncatchunks.cpp
index e123ade..38cb23b 100644
--- a/tools/chunks/catchunks/ndncatchunks.cpp
+++ b/tools/chunks/catchunks/ndncatchunks.cpp
@@ -1,8 +1,8 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2016,  Regents of the University of California,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University.
+ * Copyright (c) 2016-2017, Regents of the University of California,
+ *                          Colorado State University,
+ *                          University Pierre & Marie Curie, Sorbonne University.
  *
  * This file is part of ndn-tools (Named Data Networking Essential Tools).
  * See AUTHORS.md for complete list of ndn-tools authors and contributors.
@@ -231,8 +231,7 @@
 
       rttEstimator = make_unique<aimd::RttEstimator>(optionsRttEst);
 
-      PipelineInterestsAimd::Options optionsPipeline;
-      optionsPipeline.isVerbose = options.isVerbose;
+      PipelineInterestsAimd::Options optionsPipeline(options);
       optionsPipeline.disableCwa = disableCwa;
       optionsPipeline.resetCwndToInit = resetCwndToInit;
       optionsPipeline.initCwnd = static_cast<double>(initCwnd);
diff --git a/tools/chunks/catchunks/pipeline-interests-aimd.hpp b/tools/chunks/catchunks/pipeline-interests-aimd.hpp
index 1670fda..b51c59f 100644
--- a/tools/chunks/catchunks/pipeline-interests-aimd.hpp
+++ b/tools/chunks/catchunks/pipeline-interests-aimd.hpp
@@ -37,14 +37,21 @@
 namespace chunks {
 namespace aimd {
 
-struct PipelineInterestsAimdOptions : public Options
+class PipelineInterestsAimdOptions : public Options
 {
-  bool isVerbose = false;
+public:
+  explicit
+  PipelineInterestsAimdOptions(const Options& options = Options())
+    : Options(options)
+  {
+  }
+
+public:
   double initCwnd = 1.0; ///< initial congestion window size
-  double initSsthresh = std::numeric_limits<double>::max(); ///<  initial slow start threshold
+  double initSsthresh = std::numeric_limits<double>::max(); ///< initial slow start threshold
+  double aiStep = 1.0; ///< additive increase step (in segments)
   double mdCoef = 0.5; ///< multiplicative decrease coefficient
-  double aiStep = 1.0; ///< additive increase step (unit: segment)
-  time::milliseconds rtoCheckInterval = time::milliseconds(10); ///<  time interval for checking retransmission timer
+  time::milliseconds rtoCheckInterval{10}; ///< interval for checking retransmission timer
   bool disableCwa = false; ///< disable Conservative Window Adaptation
   bool resetCwndToInit = false; ///< reduce cwnd to initCwnd when loss event occurs
 };