Tor
0.4.7.0-alpha-dev
|
#include <edge_connection_st.h>
Data Fields | |
connection_t | base_ |
struct edge_connection_t * | next_stream |
int | package_window |
int | deliver_window |
struct circuit_t * | on_circuit |
struct crypt_path_t * | cpath_layer |
struct hs_ident_edge_conn_t * | hs_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 |
Subtype of connection_t for an "edge connection" – that is, an entry (ap) connection, or an exit.
Definition at line 21 of file edge_connection_st.h.
uint32_t address_ttl |
TTL for address-to-addr mapping on exit connection. Exit connections only.
Definition at line 42 of file edge_connection_st.h.
Referenced by send_resolved_cell(), and set_exitconn_info_from_resolve().
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.
Definition at line 35 of file edge_connection_st.h.
Referenced by circuit_detach_stream(), circuit_resume_edge_reading_helper(), connection_ap_get_begincell_flags(), connection_edge_send_command(), and relay_lookup_conn().
int deliver_window |
How many more relay cells can end at me?
Definition at line 28 of file edge_connection_st.h.
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.
Definition at line 75 of file edge_connection_st.h.
unsigned int edge_blocked_on_circ |
True iff we've blocked reading until the circuit has fewer queued cells.
Definition at line 70 of file edge_connection_st.h.
Referenced by set_streams_blocked_on_circ().
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().
Definition at line 64 of file edge_connection_st.h.
Referenced by connection_edge_about_to_close(), and connection_edge_end().
uint16_t end_reason |
The reason why this connection is closing; passed to the controller.
Definition at line 51 of file edge_connection_st.h.
unsigned int is_dns_request |
True iff this connection is for a DNS request only.
Definition at line 60 of file edge_connection_st.h.
unsigned int is_reverse_dns_lookup |
True iff this connection is for a PTR DNS request. (exit only)
Definition at line 62 of file edge_connection_st.h.
Referenced by set_exitconn_info_from_resolve().
uint32_t n_read |
Bytes read since last call to control_event_stream_bandwidth_used()
Definition at line 54 of file edge_connection_st.h.
uint32_t n_written |
Bytes written since last call to control_event_stream_bandwidth_used()
Definition at line 57 of file edge_connection_st.h.
struct edge_connection_t* next_stream |
Points to the next stream at this edge, if any
Definition at line 24 of file edge_connection_st.h.
Referenced by circuit_detach_stream(), circuit_dump_by_conn(), circuit_free_all(), circuit_get_streams_max_data_age(), circuit_resume_edge_reading_helper(), marked_circuit_streams_free_bytes(), relay_lookup_conn(), set_streams_blocked_on_circ(), and socks_mark_rend_circuit_timed_out().
struct circuit_t* on_circuit |
The circuit (if any) that this edge connection is using.
Definition at line 30 of file edge_connection_st.h.
Referenced by circuit_detach_stream(), circuit_get_by_edge_conn(), connection_ap_get_begincell_flags(), connection_ap_handshake_send_begin(), connection_ap_handshake_send_resolve(), connection_ap_supports_optimistic_data(), connection_edge_send_command(), connection_exit_connect_dir(), and dns_resolve().
int package_window |
How many more relay cells can I send into the circuit?
Definition at line 26 of file edge_connection_st.h.
Referenced by circuit_resume_edge_reading_helper().
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
Definition at line 47 of file edge_connection_st.h.
Referenced by connection_exit_begin_resolve(), connection_half_edge_add(), relay_lookup_conn(), and set_streams_blocked_on_circ().