9#ifndef TOR_CONFLUX_UTIL_H
10#define TOR_CONFLUX_UTIL_H
28 tor_assert_nonfatal(circ->
purpose == CIRCUIT_PURPOSE_CONFLUX_LINKED);
#define CIRCUIT_IS_ORIGIN(c)
#define CIRCUIT_PURPOSE_CONFLUX_UNLINKED
void conflux_validate_stream_lists(const conflux_t *cfx)
void conflux_update_half_streams(origin_circuit_t *, smartlist_t *)
uint64_t edge_get_max_rtt(const edge_connection_t *stream)
const uint8_t * conflux_get_nonce(const circuit_t *circ)
void conflux_update_resolving_streams(or_circuit_t *, edge_connection_t *)
void conflux_update_p_streams(origin_circuit_t *, edge_connection_t *)
uint64_t conflux_get_circ_rtt(const circuit_t *circ)
crypt_path_t * conflux_get_destination_hop(circuit_t *circ)
void conflux_validate_legs(const conflux_t *cfx)
bool conflux_validate_source_hop(circuit_t *in_circ, crypt_path_t *layer_hint)
void conflux_sync_circ_fields(conflux_t *cfx, origin_circuit_t *ref_circ)
void conflux_update_n_streams(or_circuit_t *, edge_connection_t *)
int circuit_get_package_window(circuit_t *circ, const crypt_path_t *cpath)
bool conflux_can_send(conflux_t *cfx)
bool relay_crypt_from_last_hop(const origin_circuit_t *circ, const crypt_path_t *layer_hint)
bool edge_uses_cpath(const edge_connection_t *conn, const crypt_path_t *cpath)
struct conflux_t * conflux
uint8_t * conflux_pending_nonce