public override void EndWrite(IAsyncResult asyncResult) { RtmpAsyncResult result = asyncResult as RtmpAsyncResult; try { if (!asyncResult.IsCompleted) { asyncResult.AsyncWaitHandle.WaitOne(); /* * if (!asyncResult.AsyncWaitHandle.WaitOne(milliseconds, false)) * { * throw new TimeoutException(); * } */ } if (result.HasException()) { throw result.Exception; } } finally { TryBeginWrite(); } }
public override void EndWrite(IAsyncResult asyncResult) { RtmpAsyncResult result = asyncResult as RtmpAsyncResult; try { if (!asyncResult.IsCompleted) { asyncResult.AsyncWaitHandle.WaitOne(); } if (result.HasException()) { throw result.Exception; } } finally { this.TryBeginWrite(); } }