in Amazon.KinesisTap.Hosting/Session.cs [650:699]
protected virtual void Dispose(bool disposing)
{
if (Disposed)
{
return;
}
if (disposing)
{
foreach (var subscription in _subscriptions)
{
try
{
subscription?.Dispose();
}
catch (Exception ex)
{
_logger.LogError(ex, $"Error stopping subscription");
}
}
foreach (var source in _sources.Values)
{
if (source != _metrics && source is IDisposable disposableSource)
{
disposableSource.Dispose();
}
}
foreach (var sink in _sinks.Values)
{
if (sink is IDisposable disposableSink)
{
disposableSink.Dispose();
}
}
foreach (var plugin in _plugins)
{
if (plugin is IDisposable disposablePlugin)
{
disposablePlugin.Dispose();
}
}
_stopTokenSource?.Dispose();
}
Disposed = true;
}