Wire together the client handshake logic
Once #692 (closed) is done, we'll have all the handshakes we need to connect to an onion service. As a separate step, we'll want to have the ability to actually make that connection! This means making all the circuits described in #692 (closed) as appropriate, sending handshakes as necessary, retrying as necessary, and so on.
The retry logic needs to be rate limited, of course, but that's another ticket.
The goal of this ticket is to implement the code to "connect to a hidden service one time", whose draft API is currently in the tor-hsclient
crate in !972 (merged). It will use the descriptor cache (#689 (closed)) and the intro point status logic (#695 (closed)), and support in tor-circmgr
(#TBD).
Edited by Nick Mathewson