Tor 0.4.9.0-alpha-dev
congestion_control_vegas.h
Go to the documentation of this file.
1/* Copyright (c) 2019-2021, The Tor Project, Inc. */
2/* See LICENSE for licensing information */
3
4/**
5 * \file congestion_control_vegas.h
6 * \brief Private-ish APIs for the TOR_VEGAS congestion control algorithm
7 **/
8
9#ifndef TOR_CONGESTION_CONTROL_VEGAS_H
10#define TOR_CONGESTION_CONTROL_VEGAS_H
11
13#include "core/or/circuit_st.h"
14
16extern double cc_stats_vegas_exit_ss_bdp_ma;
17extern double cc_stats_vegas_exit_ss_inc_ma;
18extern double cc_stats_vegas_gamma_drop_ma;
19extern double cc_stats_vegas_delta_drop_ma;
20extern double cc_stats_vegas_ss_csig_blocked_ma;
21extern double cc_stats_vegas_csig_blocked_ma;
22extern uint64_t cc_stats_vegas_above_delta;
24
25extern double cc_stats_vegas_csig_alpha_ma;
26extern double cc_stats_vegas_csig_beta_ma;
27extern double cc_stats_vegas_csig_delta_ma;
28
29extern double cc_stats_vegas_ss_queue_ma;
30extern double cc_stats_vegas_queue_ma;
31extern double cc_stats_vegas_bdp_ma;
32
33extern uint64_t cc_stats_vegas_below_ss_inc_floor;
34extern uint64_t cc_stats_vegas_circ_exited_ss;
35
36/* Processing SENDME cell. */
38 const circuit_t *circ);
40 cc_path_t path);
41
42/* Private section starts. */
43#ifdef TOR_CONGESTION_CONTROL_VEGAS_PRIVATE
44
45/*
46 * Unit tests declaractions.
47 */
48#ifdef TOR_UNIT_TESTS
49
50#endif /* defined(TOR_UNIT_TESTS) */
51
52#endif /* defined(TOR_CONGESTION_CONTROL_VEGAS_PRIVATE) */
53
54#endif /* !defined(TOR_CONGESTION_CONTROL_VEGAS_H) */
Base circuit structure.
uint64_t cc_stats_vegas_above_ss_cwnd_max
uint64_t cc_stats_vegas_above_delta
double cc_stats_vegas_exit_ss_cwnd_ma
int congestion_control_vegas_process_sendme(struct congestion_control_t *cc, const circuit_t *circ)
void congestion_control_vegas_set_params(struct congestion_control_t *cc, cc_path_t path)
Path structures for origin circuits.