As we add support for more complex connection setups (proxies with auth subnegotiations are a good example), we should reconsider our notion of timeout. Currently we have a socket level timeout for the initial TCP handshake, but then nothing further. We don't want a million separate timeouts for each step of connection establishment, so we may want to just have a single, generic, "establishment timeout" that governs the time period between bootstrap initiation and when the user's success/failure callback is invoked.
As we add support for more complex connection setups (proxies with auth subnegotiations are a good example), we should reconsider our notion of timeout. Currently we have a socket level timeout for the initial TCP handshake, but then nothing further. We don't want a million separate timeouts for each step of connection establishment, so we may want to just have a single, generic, "establishment timeout" that governs the time period between bootstrap initiation and when the user's success/failure callback is invoked.