Ejemplo n.º 1
0
 public void Dispose()
 {
     DisposeLock.EnterWriteLock();
     try
     {
         if (_isDisposed)
         {
             return;
         }
         _isDisposed = true;
         _consumer.Dispose();
         while (!_subscribers.IsEmpty)
         {
             var code = _subscribers.Keys.FirstOrDefault();
             if (code != null && _subscribers.TryRemove(code, out var source))
             {
                 source.TrySetCanceled();
             }
         }
     }
     finally
     {
         DisposeLock.ExitWriteLock();
     }
 }
Ejemplo n.º 2
0
 public void Dispose()
 => _consumer.Dispose();