Data Fields
entry_connection_t Struct Reference

#include <entry_connection_st.h>

Data Fields

struct edge_connection_t edge_
char * chosen_exit_name
entry_port_cfg_t entry_cfg
unsigned nym_epoch
char * original_dest_address
uint8_t num_socks_retries
struct buf_t * pending_optimistic_data
struct buf_t * sending_optimistic_data
struct evdns_server_request * dns_server_request
uint16_t marked_pending_circ_line
const char * marked_pending_circ_file
unsigned int num_circuits_launched:4
unsigned int want_onehop:1
unsigned int use_begindir:1
unsigned int chosen_exit_optional:1
unsigned int chosen_exit_retries:3
unsigned int is_transparent_ap:1
unsigned int may_use_optimistic_data: 1

Detailed Description

Subtype of edge_connection_t for an "entry connection" – that is, a SOCKS connection, a DNS request, a TransPort connection or a NATD connection

Definition at line 19 of file entry_connection_st.h.

Field Documentation

◆ chosen_exit_name

char* chosen_exit_name

Nickname of planned exit node – used with .exit support.

Definition at line 25 of file entry_connection_st.h.

Referenced by adjust_exit_policy_from_exitpolicy_failure(), connection_ap_can_use_exit(), and write_stream_target_to_buf().

◆ chosen_exit_optional

unsigned int chosen_exit_optional

For AP connections only. If 1, and we fail to reach the chosen exit, stop requiring it.

Definition at line 83 of file entry_connection_st.h.

◆ chosen_exit_retries

unsigned int chosen_exit_retries

For AP connections only. If non-zero, this exit node was picked as a result of the TrackHostExit, and the value decrements every time we fail to complete a circuit to our chosen exit – if it reaches zero, abandon the associated mapaddress.

Definition at line 88 of file entry_connection_st.h.

◆ dns_server_request

struct evdns_server_request* dns_server_request

If this is a DNSPort connection, this field holds the pending DNS request that we're going to try to answer.

Definition at line 58 of file entry_connection_st.h.

Referenced by dnsserv_reject_request(), and dnsserv_resolved().

◆ is_transparent_ap

unsigned int is_transparent_ap

True iff this is an AP connection that came from a transparent or NATd connection

Definition at line 92 of file entry_connection_st.h.

◆ may_use_optimistic_data

unsigned int may_use_optimistic_data

For AP connections only: Set if this connection's target exit node allows optimistic data (that is, data sent on this stream before the exit has sent a CONNECTED cell) and we have chosen to use it.

Definition at line 98 of file entry_connection_st.h.

Referenced by connection_ap_supports_optimistic_data().

◆ num_circuits_launched

unsigned int num_circuits_launched

Number of times we've launched a circuit to handle this stream. If it gets too high, that could indicate an inconsistency between our "launch a circuit to handle this stream" logic and our "attach our stream to one of the available circuits" logic.

Definition at line 72 of file entry_connection_st.h.

◆ num_socks_retries

uint8_t num_socks_retries

Number of times we've reassigned this application connection to a new circuit. We keep track because the timeout is longer if we've already retried several times.

Definition at line 45 of file entry_connection_st.h.

Referenced by compute_retry_timeout().

◆ nym_epoch

unsigned nym_epoch

AP only: The newnym epoch in which we created this connection.

Definition at line 33 of file entry_connection_st.h.

Referenced by entry_connection_describe_status_for_controller().

◆ original_dest_address

char* original_dest_address

AP only: The original requested address before we rewrote it.

Definition at line 36 of file entry_connection_st.h.

Referenced by connection_edge_compatible_with_circuit(), and connection_edge_update_circuit_isolation().

◆ pending_optimistic_data

struct buf_t* pending_optimistic_data

For AP connections only: buffer for data that we have sent optimistically, which we might need to re-send if we have to retry this connection.

Definition at line 50 of file entry_connection_st.h.

◆ socks_request

socks_request_t* socks_request

◆ use_begindir

unsigned int use_begindir

True iff this stream should use a BEGIN_DIR relay command to establish itself rather than BEGIN (either via onehop or via a whole circuit).

Definition at line 79 of file entry_connection_st.h.

Referenced by connection_ap_can_use_exit(), connection_ap_get_begincell_flags(), and connection_ap_handshake_attach_chosen_circuit().

◆ want_onehop

unsigned int want_onehop

True iff this stream must attach to a one-hop circuit (e.g. for begin_dir).

Definition at line 76 of file entry_connection_st.h.

Referenced by connection_ap_handshake_attach_circuit().

The documentation for this struct was generated from the following file: