Tor 0.4.9.3-alpha-dev
Loading...
Searching...
No Matches
conflux_pool.h
Go to the documentation of this file.
1/* Copyright (c) 2023, The Tor Project, Inc. */
2/* See LICENSE for licensing information */
3
4/**
5 * \file conflux_pool.h
6 * \brief Header file for conflux_pool.c.
7 **/
8
9#ifndef TOR_CONFLUX_POOL_H
10#define TOR_CONFLUX_POOL_H
11
12#include "core/or/or.h"
14
15void conflux_pool_init(void);
17void conflux_pool_free_all(void);
18
20 time_t now);
21void conflux_mark_all_for_close(const uint8_t *nonce, bool is_client,
22 int reason);
23
24void conflux_predict_new(time_t now);
25
26bool conflux_launch_leg(const uint8_t *nonce);
27
29 smartlist_t *excluded);
31 smartlist_t *excluded);
32
36
37void conflux_process_link(circuit_t *circ, const relay_msg_t *msg);
38void conflux_process_linked(circuit_t *circ, crypt_path_t *layer_hint,
39 const relay_msg_t *msg);
41
42typedef struct conflux_t conflux_t;
43void conflux_log_set(int loglevel, const conflux_t *cfx, bool is_client);
44
45#ifdef TOR_UNIT_TESTS
46bool launch_new_set(int num_legs);
47void conflux_clear_shutdown(void);
48digest256map_t *get_linked_pool(bool is_client);
49digest256map_t *get_unlinked_pool(bool is_client);
50extern uint8_t DEFAULT_CLIENT_UX;
51extern uint8_t DEFAULT_EXIT_UX;
52#endif /* defined(UNIT_TESTS) */
53
54#endif /* TOR_CONFLUX_POOL_H */
55
STATIC bool launch_new_set(int num_legs)
void conflux_circuit_has_opened(origin_circuit_t *orig_circ)
void conflux_process_linked_ack(circuit_t *circ)
void conflux_log_set(int loglevel, const conflux_t *cfx, bool is_client)
void conflux_circuit_has_closed(circuit_t *circ)
void conflux_add_guards_to_exclude_list(const origin_circuit_t *circ, smartlist_t *excluded)
void conflux_predict_new(time_t now)
void conflux_notify_shutdown(void)
void conflux_pool_init(void)
void conflux_circuit_about_to_free(circuit_t *circ)
void conflux_add_middles_to_exclude_list(const origin_circuit_t *circ, smartlist_t *excluded)
bool conflux_launch_leg(const uint8_t *nonce)
void conflux_mark_all_for_close(const uint8_t *nonce, bool is_client, int reason)
void conflux_pool_free_all(void)
origin_circuit_t * conflux_get_circ_for_conn(const entry_connection_t *conn, time_t now)
void conflux_process_link(circuit_t *circ, const relay_msg_t *msg)
void conflux_process_linked(circuit_t *circ, crypt_path_t *layer_hint, const relay_msg_t *msg)
Master header file for Tor-specific functionality.
A relay message which contains a relay command and parameters, if any, that is from a relay cell.