protected virtual void Dispose(bool disposing) { if (disposed) { return; } if (disposing) { _cancellationTokenSource?.Cancel(); FlushTimer?.Stop(); if (FlushTimer != null) { FlushTimer.Elapsed -= Flush; } FlushTimer?.Dispose(); Reader?.Close(); Reader?.Dispose(); Writer?.Close(); Writer?.Dispose(); OverridableDispose(); } disposed = true; }
protected virtual void Flush(object sender, ElapsedEventArgs e) { BytesWrittenSinceLastFlush = 0; FlushTimer.Stop(); Writer.Flush(); }