tor  master
Data Fields
edge_connection_t Struct Reference

#include <or.h>

Collaboration diagram for edge_connection_t:
Collaboration graph
[legend]

Data Fields

connection_t base_
 
struct edge_connection_tnext_stream
 
int package_window
 
int deliver_window
 
struct circuit_ton_circuit
 
struct crypt_path_tcpath_layer
 
rend_data_trend_data
 
struct hs_ident_edge_conn_ths_ident
 
uint32_t address_ttl
 
uint32_t begincell_flags
 
streamid_t stream_id
 
uint16_t end_reason
 
uint32_t n_read
 
uint32_t n_written
 
unsigned int is_dns_request:1
 
unsigned int is_reverse_dns_lookup:1
 
unsigned int edge_has_sent_end:1
 
unsigned int edge_blocked_on_circ:1
 
uint64_t dirreq_id
 

Detailed Description

Subtype of connection_t for an "edge connection" – that is, an entry (ap) connection, or an exit.

Field Documentation

◆ address_ttl

uint32_t address_ttl

TTL for address-to-addr mapping on exit connection. Exit connections only.

◆ cpath_layer

struct crypt_path_t* cpath_layer

A pointer to which node in the circ this conn exits at. Set for AP connections and for hidden service exit connections.

◆ deliver_window

int deliver_window

How many more relay cells can end at me?

◆ dirreq_id

uint64_t dirreq_id

Unique ID for directory requests; this used to be in connection_t, but that's going away and being used on channels instead. We still tag edge connections with dirreq_id from circuits, so it's copied here.

◆ edge_blocked_on_circ

unsigned int edge_blocked_on_circ

True iff we've blocked reading until the circuit has fewer queued cells.

◆ edge_has_sent_end

unsigned int edge_has_sent_end

For debugging; only used on edge connections. Set once we've set the stream end, and check in connection_about_to_close_connection().

◆ end_reason

uint16_t end_reason

The reason why this connection is closing; passed to the controller.

◆ is_dns_request

unsigned int is_dns_request

True iff this connection is for a DNS request only.

◆ is_reverse_dns_lookup

unsigned int is_reverse_dns_lookup

True iff this connection is for a PTR DNS request. (exit only)

◆ n_read

uint32_t n_read

Bytes read since last call to control_event_stream_bandwidth_used()

◆ n_written

uint32_t n_written

Bytes written since last call to control_event_stream_bandwidth_used()

◆ next_stream

struct edge_connection_t* next_stream

Points to the next stream at this edge, if any

◆ on_circuit

struct circuit_t* on_circuit

The circuit (if any) that this edge connection is using.

◆ package_window

int package_window

How many more relay cells can I send into the circuit?

◆ rend_data

rend_data_t* rend_data

What rendezvous service are we querying for (if an AP) or providing (if an exit)?

◆ stream_id

streamid_t stream_id

Flags sent or received in the BEGIN cell for this connection The stream ID used for this edge connection on its circuit


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