示例#1
0
 static void OnPumpCompleted(IAsyncResult ar)
 {
     try
     {
         PumpAsyncResult.End(ar);
     }
     catch (Exception e)
     {
         Environment.FailFast(e.ToString());
     }
 }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
 public static void EndRunPump(IAsyncResult asyncResult)
 {
     PumpAsyncResult.End(asyncResult);
 }