blob: 3e11a385ee5ca25e0bb193c66d730e0113dd2e75 [file] [log] [blame]
Weiwei Liu245d7912016-07-28 00:04:25 -07001/**
2 * Copyright (c) 2016, Regents of the University of California,
3 * Colorado State University,
4 * University Pierre & Marie Curie, Sorbonne University.
5 *
6 * This file is part of ndn-tools (Named Data Networking Essential Tools).
7 * See AUTHORS.md for complete list of ndn-tools authors and contributors.
8 *
9 * ndn-tools is free software: you can redistribute it and/or modify it under the terms
10 * of the GNU General Public License as published by the Free Software Foundation,
11 * either version 3 of the License, or (at your option) any later version.
12 *
13 * ndn-tools is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
14 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * ndn-tools, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
19 *
20 * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
21 *
22 * @author Weiwei Liu
23 */
24
25#ifndef NDN_TOOLS_CHUNKS_CATCHUNKS_AIMD_STATISTICS_COLLECTOR_HPP
26#define NDN_TOOLS_CHUNKS_CATCHUNKS_AIMD_STATISTICS_COLLECTOR_HPP
27
28#include "pipeline-interests-aimd.hpp"
29#include "aimd-rtt-estimator.hpp"
30
31namespace ndn {
32namespace chunks {
33namespace aimd {
34
35/**
36 * @brief Statistics collector for AIMD pipeline
37 */
38class StatisticsCollector : noncopyable
39{
40public:
41 StatisticsCollector(PipelineInterestsAimd& pipeline, RttEstimator& rttEstimator,
42 std::ostream& osCwnd, std::ostream& osRtt);
43
44private:
45 std::ostream& m_osCwnd;
46 std::ostream& m_osRtt;
47};
48
49} // namespace aimd
50} // namespace chunks
51} // namespace ndn
52
53#endif // NDN_TOOLS_CHUNKS_CATCHUNKS_AIMD_STATISTICS_COLLECTOR_HPP