Coverage Report

Created: 2026-05-24 07:04

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/ntopng/include/MostVisitedList.h
Line
Count
Source
1
/*
2
 *
3
 * (C) 2013-26 - 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 _MOST_VISITED_LIST_H_
23
#define _MOST_VISITED_LIST_H_
24
25
/* A list used to identify the "Tops", for example Top Sites
26
   (most visited sites, used by the host and interface) */
27
class MostVisitedList {
28
 private:
29
  /* Variables used by top sites periodic update */
30
  u_int8_t current_cycle;
31
  u_int32_t max_num_items;
32
33
  FrequentStringItems* top_data;
34
  char *old_data, *shadow_old_data;
35
36
  void getCurrentTime(struct tm* t_now);
37
  void deserializeTopData(char* redis_key_current);
38
39
 public:
40
  MostVisitedList(u_int32_t _max_num_items);
41
  ~MostVisitedList();
42
43
  void resetTopSitesData(u_int32_t iface_id, char* extra_info, char* hashkey);
44
  void saveOldData(u_int32_t iface_id, char* additional_key_info,
45
                   char* hashkey);
46
  void serializeDeserialize(u_int32_t iface_id, bool do_serialize,
47
                            char* extra_info, char* info_subject,
48
                            char* hour_hashkey, char* day_hashkey);
49
  void lua(lua_State* vm, char* name, char* old_name);
50
0
  void clear() {
51
0
    if (top_data) top_data->clear();
52
0
  }
53
0
  inline void incrVisitedData(char* data, u_int32_t num) {
54
0
    if (top_data) top_data->add(data, num);
55
0
  };
56
};
57
58
#endif /* _MOST_VISITED_LIST_H_ */