/* Copyright (c) 2016-2018, The Tor Project, Inc. */ /* See LICENSE for licensing information */ /** * \file hs_stats.c * \brief Keeps stats about the activity of our hidden service. **/ #include "or.h" #include "hs_stats.h" #include "hs_service.h" /** Number of v3 INTRODUCE2 cells received */ static uint32_t n_introduce2_v3 = 0; /** Number of v2 INTRODUCE2 cells received */ static uint32_t n_introduce2_v2 = 0; /** Number of attempts to make a circuit to a rendezvous point */ static uint32_t n_rendezvous_launches = 0; /** Note that we received another INTRODUCE2 cell. */ void hs_stats_note_introduce2_cell(int is_hsv3) { if (is_hsv3) { n_introduce2_v3++; } else { n_introduce2_v2++; } } /** Return the number of v3 INTRODUCE2 cells we have received. */ uint32_t hs_stats_get_n_introduce2_v3_cells(void) { return n_introduce2_v3; } /** Return the number of v2 INTRODUCE2 cells we have received. */ uint32_t hs_stats_get_n_introduce2_v2_cells(void) { return n_introduce2_v2; } /** Note that we attempted to launch another circuit to a rendezvous point */ void hs_stats_note_service_rendezvous_launch(void) { n_rendezvous_launches++; } /** Return the number of rendezvous circuits we have attempted to launch */ uint32_t hs_stats_get_n_rendezvous_launches(void) { return n_rendezvous_launches; }