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); }