internal override IAsyncResult BeginEstablish(int timeout, AsyncCallback cb, object state) { CheckDisposed(); try { _listenSocket.AcceptTimeout = timeout; return(_listenSocket.BeginAccept(cb, state)); } catch (SocketException e) { CheckDisposed(); CheckTimeoutException(e); throw; } catch { CheckDisposed(); throw; } }