public void CompleteAsync() { CheckDisposed(); if(!_completedEvent.IsSet) { _completedEvent.Set(); if(TrySetBusy()) { Disconnect(); } } }