public void SimulateRecovery() { lock (_lock) { IsOpen = true; CloseReason = null; _models.ForEach(m => m.SimulateRecovery()); RecoverySucceeded?.Invoke(this, EventArgs.Empty); } }
private void RunRecoveryEventHandlers() { foreach (EventHandler <EventArgs> reh in RecoverySucceeded?.GetInvocationList() ?? Array.Empty <Delegate>()) { try { reh(this, EventArgs.Empty); } catch (Exception e) { var args = new CallbackExceptionEventArgs(e); args.Detail["context"] = "OnConnectionRecovery"; _delegate.OnCallbackException(args); } } }
private void OnRecoverySucceeded() { RecoverySucceeded?.Invoke(this, EventArgs.Empty); }
private void OnRecoverySucceeded(object sender, EventArgs e) { RecoverySucceeded?.Invoke(sender, e); }