public void BeginConnectProxy(EndPoint remoteEP, AsyncCallback callback, object state) { // do nothing var r = new FakeAsyncResult(state); callback?.Invoke(r); }
private void OnTcpConnectCompleted(object sender, SocketAsyncEventArgs args) { using (args) { args.Completed -= OnTcpConnectCompleted; var token = (TcpUserToken)args.UserToken; if (args.SocketError != SocketError.Success) { var ex = args.ConnectByNameError ?? new SocketException((int)args.SocketError); var r = new FakeAsyncResult { AsyncState = token.AsyncState, InternalException = ex }; token.Callback(r); } else { var lockTaken = false; if (!_socketSyncLock.IsHeldByCurrentThread) { _socketSyncLock.TryEnter(ref lockTaken); } try { if (Connected) { args.ConnectSocket.FullClose(); } else { _activeSocket = args.ConnectSocket; if (_disposed) { _activeSocket.FullClose(); } var r = new FakeAsyncResult { AsyncState = token.AsyncState }; token.Callback(r); } } finally { if (lockTaken) { _socketSyncLock.Exit(); } } } } }
public void BeginConnectProxy(EndPoint remoteEP, AsyncCallback callback, object state) { var r = new FakeAsyncResult { AsyncState = state, }; callback?.Invoke(r); }
private void OnTcpConnectCompleted(object sender, SocketAsyncEventArgs args) { using (args) { args.Completed -= OnTcpConnectCompleted; var token = (TcpUserToken) args.UserToken; if (args.SocketError != SocketError.Success) { var ex = args.ConnectByNameError ?? new SocketException((int) args.SocketError); var r = new FakeAsyncResult() { AsyncState = token.AsyncState, InternalException = ex }; token.Callback(r); } else { var lockTaken = false; if (!_socketSyncLock.IsHeldByCurrentThread) { _socketSyncLock.TryEnter(ref lockTaken); } try { if (Connected) { args.ConnectSocket.FullClose(); } else { _activeSocket = args.ConnectSocket; if (_disposed) { _activeSocket.FullClose(); } var r = new FakeAsyncResult() { AsyncState = token.AsyncState }; token.Callback(r); } } finally { if (lockTaken) { _socketSyncLock.Exit(); } } } } }