public void Dispose() { _cancellationTokenSource?.Cancel(); if (OnSessionTermination != null) { var invocationList = OnSessionTermination?.GetInvocationList(); foreach (var item in invocationList) { OnSessionTermination -= (SessionTermination)item; } } _task?.Dispose(); _producerConsumerQueue?.Dispose(); _cancellationTokenSource?.Dispose(); }
private void NotifyAboutTermination() { var @event = new SessionTerminationEvent(this.SessionId); OnSessionTermination?.Invoke(@event); }