public IAsyncResult BeginTryReceive(TimeSpan timeout, AsyncCallback callback, object state) { TryReceiveAsyncResult <TChannel> result = new TryReceiveAsyncResult <TChannel>(this, timeout, callback, state); result.Begin(); return(result); }
public static bool End(IAsyncResult result, out Message message) { TryReceiveAsyncResult asyncResult = AsyncResult.End <TryReceiveAsyncResult>(result); message = asyncResult.Message; return(asyncResult.returnValue); }
public static bool End(IAsyncResult result, out Message message) { TryReceiveAsyncResult <TInputChannel> thisPtr = AsyncResult.End <TryReceiveAsyncResult <TInputChannel> >(result); message = thisPtr.Message; return(thisPtr.returnValue); }
public static bool End(IAsyncResult result, out Message message) { TryReceiveAsyncResult thisPtr = AsyncResult.End <TryReceiveAsyncResult>(result); message = thisPtr.message; return(thisPtr.receiveSuccess); }
public bool EndTryReceive(IAsyncResult result, out Message message) { try { return(TryReceiveAsyncResult.End(result, out message)); } catch (TimeoutException) { message = null; return(false); } }
public static bool End(IAsyncResult result, out Message message) { try { TryReceiveAsyncResult thisPtr = AsyncResult.End <TryReceiveAsyncResult>(result); message = thisPtr.message; return(thisPtr.receiveSuccess); } catch (CommunicationException) { message = null; return(false); } }
unsafe static void OnPortedCompletion(uint error, uint numBytes, NativeOverlapped *nativeOverlapped) { Overlapped overlapped = Overlapped.Unpack(nativeOverlapped); TryReceiveAsyncResult result = (TryReceiveAsyncResult)overlapped.AsyncResult; if (error != 0) { error = (uint)UnsafeNativeMethods.MQGetOverlappedResult(nativeOverlapped); } Overlapped.Free(nativeOverlapped); result.nativeOverlapped = null; #pragma warning suppress 56508 // Suppression justified. Presharp warning concerns different scenario. GC.SuppressFinalize(result); result.OnCompletion((int)error, false); }
static void OnReceive(IAsyncResult result) { if (result.CompletedSynchronously) { return; } TryReceiveAsyncResult thisPtr = (TryReceiveAsyncResult)result.AsyncState; Exception completionException = null; try { thisPtr.CompleteReceive(result); } catch (TimeoutException) { } catch (Exception e) { completionException = e; } thisPtr.Complete(false, completionException); }
static void OnReceive(IAsyncResult result) { if (result.CompletedSynchronously) { return; } TryReceiveAsyncResult thisPtr = (TryReceiveAsyncResult)result.AsyncState; Exception completionException = null; try { thisPtr.CompleteReceive(result); } catch (TimeoutException e) { if (TD.ReceiveTimeoutIsEnabled()) { TD.ReceiveTimeout(e.Message); } DiagnosticUtility.TraceHandledException(e, TraceEventType.Information); } #pragma warning suppress 56500 // [....], transferring exception to another thread catch (Exception e) { if (Fx.IsFatal(e)) { throw; } completionException = e; } thisPtr.Complete(false, completionException); }
public bool EndTryReceive(IAsyncResult result, out Message message) { return(TryReceiveAsyncResult <TChannel> .End(result, out message)); }
public ReceiveResult EndTryReceive(IAsyncResult result) { return(TryReceiveAsyncResult.End(result)); }
public static ReceiveResult End(IAsyncResult result) { TryReceiveAsyncResult thisPtr = AsyncResult.End <TryReceiveAsyncResult>(result); return(thisPtr.receiveResult); }