static void OnPumpCompleted(IAsyncResult ar) { try { PumpAsyncResult.End(ar); } catch (Exception e) { Environment.FailFast(e.ToString()); } }
public override IAsyncResult BeginRunPump(AsyncCallback callback, object state) { if (IsRunning) { throw new InvalidOperationException("Already running"); } IsRunning = true; Caller = new PumpAsyncResult(callback, state); bufferRead.BeginInvoke(inputBuffer, preambleSize, inputBuffer.Length - preambleSize, DoneReading, null); return(Caller); }
public override IAsyncResult BeginRunPump(AsyncCallback callback, object state) { if (IsRunning) { throw new InvalidOperationException("Already running"); } IsRunning = true; Caller = new PumpAsyncResult(callback, state); Task.Run(() => bufferRead(inputBuffer, preambleSize, inputBuffer.Length - preambleSize)).ContinueWith(DoneReading); return(Caller); }
public static void EndRunPump(IAsyncResult asyncResult) { PumpAsyncResult.End(asyncResult); }