tor  master
Data Fields
entry_connection_t Struct Reference

#include <or.h>

Collaboration diagram for entry_connection_t:
Collaboration graph
[legend]

Data Fields

edge_connection_t edge_
 
char * chosen_exit_name
 
socks_request_tsocks_request
 
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

Field Documentation

◆ chosen_exit_name

char* chosen_exit_name

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

◆ 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.

◆ 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.

◆ 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.

◆ is_transparent_ap

unsigned int is_transparent_ap

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

◆ 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.

◆ 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.

◆ 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.

◆ nym_epoch

unsigned nym_epoch

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

◆ original_dest_address

char* original_dest_address

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

◆ 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.

◆ socks_request

socks_request_t* socks_request

SOCKS structure describing request (AP only.)

◆ 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).

◆ want_onehop

unsigned int want_onehop

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


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