#include <or.h>
Data Fields | |
circuit_t | _base |
edge_connection_t * | p_streams |
cpath_build_state_t * | build_state |
crypt_path_t * | cpath |
rend_data_t * | rend_data |
unsigned int | remaining_relay_early_cells: 4 |
uint8_t | relay_early_commands [MAX_RELAY_EARLY_CELLS_PER_CIRCUIT] |
int | relay_early_cells_sent |
streamid_t | next_stream_id |
crypto_pk_env_t * | intro_key |
uint32_t | global_identifier |
Linked list of AP streams (or EXIT streams if hidden service) associated with this circuit.
Referenced by _circuit_mark_for_close(), circuit_detach_stream(), circuit_truncated(), connection_exit_begin_conn(), get_unique_stream_id_by_circ(), handle_control_closecircuit(), link_apconn_to_circ(), and set_streams_blocked_on_circ().
Build state for this circuit. It includes the intended path length, the chosen exit router, rendezvous information, etc.
Referenced by _circuit_mark_for_close(), circuit_append_new_exit(), circuit_build_failed(), circuit_expire_building(), circuit_find_to_cannibalize(), circuit_free(), circuit_handle_first_hop(), circuit_is_acceptable(), circuit_launch_by_extend_info(), circuit_list_path_impl(), circuit_predict_and_launch_new(), circuit_send_next_onion_skin(), circuit_stream_is_being_handled(), connection_ap_handshake_send_begin(), connection_ap_process_end_not_open(), find_intro_circuit(), handle_control_attachstream(), onion_extend_cpath(), onion_pick_cpath_exit(), origin_circuit_init(), rend_client_introduction_acked(), rend_client_receive_rendezvous(), rend_client_send_introduction(), rend_service_introduce(), rend_service_launch_establish_intro(), rend_service_relaunch_rendezvous(), rend_service_rendezvous_has_opened(), and warn_if_last_router_excluded().
The doubly-linked list of crypt_path_t entries, one per hop, for this circuit. This includes ciphers for each hop, integrity-checking digests for each hop, and package/delivery windows for each hop.
Referenced by assert_circuit_ok(), circuit_append_new_exit(), circuit_build_failed(), circuit_conforms_to_options(), circuit_expire_building(), circuit_find_to_cannibalize(), circuit_finish_handshake(), circuit_free(), circuit_get_cpath_hop(), circuit_get_cpath_len(), circuit_handle_first_hop(), circuit_list_path_impl(), circuit_rep_hist_note_result(), circuit_send_next_onion_skin(), circuit_truncated(), connection_exit_begin_conn(), cpath_is_on_circuit(), link_apconn_to_circ(), onion_extend_cpath(), relay_crypt(), relay_send_command_from_edge(), rend_client_introcirc_has_opened(), rend_client_receive_rendezvous(), rend_client_send_establish_rendezvous(), rend_process_relay_cell(), rend_service_intro_has_opened(), rend_service_rendezvous_has_opened(), router_perform_bandwidth_test(), and should_use_create_fast_for_circuit().
Holds all rendezvous data on either client or service side.
Referenced by _circuit_mark_for_close(), circuit_free(), circuit_get_by_rend_query_and_purpose(), circuit_get_open_circ_or_launch(), circuit_is_acceptable(), connection_ap_handshake_attach_circuit(), connection_exit_begin_conn(), count_established_intro_points(), find_intro_circuit(), rend_client_introduction_acked(), rend_client_send_establish_rendezvous(), rend_client_send_introduction(), rend_config_services(), rend_service_intro_established(), rend_service_intro_has_opened(), rend_service_introduce(), rend_service_launch_establish_intro(), rend_service_relaunch_rendezvous(), rend_service_rendezvous_has_opened(), and rend_service_set_connection_addr_port().
unsigned int origin_circuit_t::remaining_relay_early_cells |
How many more relay_early cells can we send on this circuit, according to the specification?
Referenced by circuit_find_to_cannibalize(), origin_circuit_new(), relay_send_command_from_edge(), and rend_client_introduction_acked().
uint8_t origin_circuit_t::relay_early_commands[MAX_RELAY_EARLY_CELLS_PER_CIRCUIT] |
What commands were sent over this circuit that decremented the RELAY_EARLY counter? This is for debugging task 878.
Referenced by relay_send_command_from_edge().
How many RELAY_EARLY cells have been sent over this circuit? This is for debugging task 878, too.
Referenced by relay_send_command_from_edge().
The next stream_id that will be tried when we're attempting to construct a new AP stream originating at this circuit.
Referenced by get_unique_stream_id_by_circ(), and origin_circuit_new().
uint32_t origin_circuit_t::global_identifier |
Quasi-global identifier for this circuit; used for control.c
Referenced by control_event_circuit_status(), control_event_stream_status(), getinfo_helper_events(), handle_control_extendcircuit(), and origin_circuit_new().