private static void OnConnect(IAsyncResult result) { if (!result.CompletedSynchronously) { bool flag = false; Exception exception = null; SocketConnectionInitiator.ConnectAsyncResult asyncState = (SocketConnectionInitiator.ConnectAsyncResult)result.AsyncState; try { asyncState.socket.EndConnect(result); flag = true; } catch (SocketException exception2) { asyncState.TraceConnectFailure(exception2); asyncState.lastException = exception2; asyncState.currentIndex++; try { flag = asyncState.StartConnect(); } catch (Exception exception3) { if (Fx.IsFatal(exception3)) { throw; } flag = true; exception = exception3; } } if (flag) { asyncState.Complete(false, exception); } } }
private static void StartConnectCallback(object state) { SocketConnectionInitiator.ConnectAsyncResult result = (SocketConnectionInitiator.ConnectAsyncResult)state; bool flag = false; Exception exception = null; try { flag = result.StartConnect(); } catch (Exception exception2) { if (Fx.IsFatal(exception2)) { throw; } flag = true; exception = exception2; } if (flag) { result.Complete(false, exception); } }