NLSR: Named Data Link State Routing Protocol 24.08 documentation
statistics.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2014-2020, The University of Memphis,
4
* Regents of the University of California,
5
* Arizona Board of Regents.
6
*
7
* This file is part of NLSR (Named-data Link State Routing).
8
* See AUTHORS.md for complete list of NLSR authors and contributors.
9
*
10
* NLSR is free software: you can redistribute it and/or modify it under the terms
11
* of the GNU General Public License as published by the Free Software Foundation,
12
* either version 3 of the License, or (at your option) any later version.
13
*
14
* NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
15
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16
* PURPOSE. See the GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License along with
19
* NLSR, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
20
**/
21
22
#ifndef NLSR_STATISTICS_HPP
23
#define NLSR_STATISTICS_HPP
24
25
#include <map>
26
#include <ostream>
27
28
namespace
nlsr
{
29
30
class
Statistics
31
{
32
public
:
33
enum class
PacketType
{
34
SENT_HELLO_INTEREST
,
35
SENT_HELLO_DATA
,
36
RCV_HELLO_INTEREST
,
37
RCV_HELLO_DATA
,
38
SENT_LSA_INTEREST
,
39
SENT_ADJ_LSA_INTEREST
,
40
SENT_COORD_LSA_INTEREST
,
41
SENT_NAME_LSA_INTEREST
,
42
SENT_LSA_DATA
,
43
SENT_ADJ_LSA_DATA
,
44
SENT_COORD_LSA_DATA
,
45
SENT_NAME_LSA_DATA
,
46
RCV_LSA_INTEREST
,
47
RCV_ADJ_LSA_INTEREST
,
48
RCV_COORD_LSA_INTEREST
,
49
RCV_NAME_LSA_INTEREST
,
50
RCV_LSA_DATA
,
51
RCV_ADJ_LSA_DATA
,
52
RCV_COORD_LSA_DATA
,
53
RCV_NAME_LSA_DATA
54
};
55
56
size_t
57
get
(
PacketType
)
const
;
58
59
void
60
increment
(
PacketType
);
61
62
void
63
resetAll
();
64
65
const
std::map<PacketType,int>&
66
getCounter
()
const
67
{
68
return
m_packetCounter;
69
}
70
71
private
:
72
std::map<PacketType, int> m_packetCounter;
73
};
74
75
std::ostream&
76
operator<<
(std::ostream&,
const
Statistics& stats);
77
78
}
// namespace nlsr
79
80
#endif
// NLSR_STATISTICS_HPP
nlsr::Statistics
Definition:
statistics.hpp:31
nlsr::Statistics::PacketType
PacketType
Definition:
statistics.hpp:33
nlsr::Statistics::PacketType::SENT_NAME_LSA_INTEREST
@ SENT_NAME_LSA_INTEREST
nlsr::Statistics::PacketType::SENT_COORD_LSA_INTEREST
@ SENT_COORD_LSA_INTEREST
nlsr::Statistics::PacketType::RCV_COORD_LSA_INTEREST
@ RCV_COORD_LSA_INTEREST
nlsr::Statistics::PacketType::SENT_HELLO_DATA
@ SENT_HELLO_DATA
nlsr::Statistics::PacketType::SENT_COORD_LSA_DATA
@ SENT_COORD_LSA_DATA
nlsr::Statistics::PacketType::RCV_LSA_DATA
@ RCV_LSA_DATA
nlsr::Statistics::PacketType::SENT_HELLO_INTEREST
@ SENT_HELLO_INTEREST
nlsr::Statistics::PacketType::RCV_NAME_LSA_DATA
@ RCV_NAME_LSA_DATA
nlsr::Statistics::PacketType::SENT_LSA_DATA
@ SENT_LSA_DATA
nlsr::Statistics::PacketType::SENT_NAME_LSA_DATA
@ SENT_NAME_LSA_DATA
nlsr::Statistics::PacketType::SENT_LSA_INTEREST
@ SENT_LSA_INTEREST
nlsr::Statistics::PacketType::SENT_ADJ_LSA_DATA
@ SENT_ADJ_LSA_DATA
nlsr::Statistics::PacketType::RCV_COORD_LSA_DATA
@ RCV_COORD_LSA_DATA
nlsr::Statistics::PacketType::RCV_ADJ_LSA_DATA
@ RCV_ADJ_LSA_DATA
nlsr::Statistics::PacketType::RCV_NAME_LSA_INTEREST
@ RCV_NAME_LSA_INTEREST
nlsr::Statistics::PacketType::RCV_HELLO_INTEREST
@ RCV_HELLO_INTEREST
nlsr::Statistics::PacketType::SENT_ADJ_LSA_INTEREST
@ SENT_ADJ_LSA_INTEREST
nlsr::Statistics::PacketType::RCV_HELLO_DATA
@ RCV_HELLO_DATA
nlsr::Statistics::PacketType::RCV_ADJ_LSA_INTEREST
@ RCV_ADJ_LSA_INTEREST
nlsr::Statistics::PacketType::RCV_LSA_INTEREST
@ RCV_LSA_INTEREST
nlsr::Statistics::getCounter
const std::map< PacketType, int > & getCounter() const
Definition:
statistics.hpp:66
nlsr::Statistics::resetAll
void resetAll()
Definition:
statistics.cpp:47
nlsr::Statistics::increment
void increment(PacketType)
Definition:
statistics.cpp:41
nlsr::Statistics::get
size_t get(PacketType) const
Definition:
statistics.cpp:29
nlsr
Copyright (c) 2014-2020, The University of Memphis, Regents of the University of California.
Definition:
adjacency-list.cpp:27
nlsr::operator<<
std::ostream & operator<<(std::ostream &os, const Adjacent &adjacent)
Definition:
adjacent.cpp:176
src
statistics.hpp
Generated by
1.9.1