Coverage Report

Created: 2025-12-31 06:08

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/ntopng/include/TrafficStats.h
Line
Count
Source
1
/*
2
 *
3
 * (C) 2013-25 - ntop.org
4
 *
5
 *
6
 * This program is free software; you can redistribute it and/or modify
7
 * it under the terms of the GNU General Public License as published by
8
 * the Free Software Foundation; either version 3 of the License, or
9
 * (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software Foundation,
18
 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
 *
20
 */
21
22
#ifndef _TRAFFIC_STATS_H_
23
#define _TRAFFIC_STATS_H_
24
25
#include "ntop_includes.h"
26
27
class TrafficStats {
28
 private:
29
  u_int64_t numPkts, numBytes;
30
31
 public:
32
  TrafficStats();
33
76.2k
  TrafficStats(const TrafficStats& ts) {
34
76.2k
    numPkts = ts.numPkts, numBytes = ts.numBytes;
35
76.2k
  };
36
37
642k
  inline void incStats(time_t t, u_int64_t num_pkts, u_int64_t num_bytes) {
38
642k
    numPkts += num_pkts, numBytes += num_bytes;
39
642k
  };
40
0
  inline void resetStats() { numPkts = 0, numBytes = 0; };
41
63.1k
  inline u_int64_t getNumPkts() const { return (numPkts); };
42
40.7k
  inline u_int64_t getNumBytes() const { return (numBytes); };
43
  void printStats();
44
  char* serialize();
45
  void serialize(ndpi_serializer *s);
46
  void deserialize(json_object* o);
47
  json_object* getJSONObject();
48
};
49
50
#endif /* _TRAFFIC_STATS_H_ */