tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

congestion_control_vegas.h (1723B)


      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 
     12 #include "core/or/crypt_path_st.h"
     13 #include "core/or/circuit_st.h"
     14 
     15 extern double cc_stats_vegas_exit_ss_cwnd_ma;
     16 extern double cc_stats_vegas_exit_ss_bdp_ma;
     17 extern double cc_stats_vegas_exit_ss_inc_ma;
     18 extern double cc_stats_vegas_gamma_drop_ma;
     19 extern double cc_stats_vegas_delta_drop_ma;
     20 extern double cc_stats_vegas_ss_csig_blocked_ma;
     21 extern double cc_stats_vegas_csig_blocked_ma;
     22 extern uint64_t cc_stats_vegas_above_delta;
     23 extern uint64_t cc_stats_vegas_above_ss_cwnd_max;
     24 
     25 extern double cc_stats_vegas_csig_alpha_ma;
     26 extern double cc_stats_vegas_csig_beta_ma;
     27 extern double cc_stats_vegas_csig_delta_ma;
     28 
     29 extern double cc_stats_vegas_ss_queue_ma;
     30 extern double cc_stats_vegas_queue_ma;
     31 extern double cc_stats_vegas_bdp_ma;
     32 
     33 extern uint64_t cc_stats_vegas_below_ss_inc_floor;
     34 extern uint64_t cc_stats_vegas_circ_exited_ss;
     35 
     36 /* Processing SENDME cell. */
     37 int congestion_control_vegas_process_sendme(struct congestion_control_t *cc,
     38                                            const circuit_t *circ);
     39 void congestion_control_vegas_set_params(struct congestion_control_t *cc,
     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) */