Invoking correct callback during TFO fallback
Summary:
If we fallback from SSL to TFO and the connection times
out, invokeConnectSuccess tries to deliver the connectError,
however we've already delivered the connect callback to the user.
This is bad because we have no way of reporting an error back.
This changes it so that when using SSL and we're scheduling a timeout
when we're falling back, we will schedule a timeout of our own which
will invoke AsyncSSLSocket's timeoutExpired. This will return a handshakeError
instead to the client.
Reviewed By: yfeldblum
Differential Revision:
D3708699
fbshipit-source-id:
41fe668f00972c0875bb0318c6a6de863d3ab8f9