<a id="path-spec.txt-3"></a>

# Attaching streams to circuits

When a circuit that might support a request is built, Tor tries to attach
the request's stream to the circuit and sends a BEGIN, BEGIN_DIR,
or RESOLVE relay
cell as appropriate.  If the request completes unsuccessfully, Tor
considers the reason given in the CLOSE relay cell. \[XXX yes, and?\]

After a request has remained unattached for SocksTimeout (2 minutes
by default), Tor abandons the attempt and signals an error to the
client as appropriate (e.g., by closing the SOCKS connection).

XXX Timeouts and when Tor auto-retries.

- What stream-end-reasons are appropriate for retrying.

If no reply to BEGIN/RESOLVE, then the stream will timeout and fail.
