Add a method to AsyncSSLSocket to supply connect timeouts
Summary:
The current method to supply connect timeouts to AsyncSSLSocket
is to supply only the max connect + ssl connect time.
However in some cases when connect time is known, it is desirable
to supply it so that if connect does not succeed in connect time
we can error out quicker and retry.
This adds a new method for connect time in addition to the total
Connect time.
An alternative to this would be to create a AsyncSocket, connect it
and then pass it's fd to AsyncSSLSocket, however that approach does
not work well when TFO is being used, because TFO State is a part of
the AsyncSocket's state and that is not encapsulated with the fd transfer.
We could move the state around, but that is error prone, and this is much
simpler and isolated to AsyncSSLSocket.
Reviewed By: knekritz
Differential Revision:
D4626924
fbshipit-source-id:
d802d035efbced68873ab59314d9f0e661e5509b