PageRenderTime 39ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/CsvLogTailer.Tests/LogRecordObservableExtensions.cs

https://bitbucket.org/emertechie/csvlogtailer
C# | 25 lines | 24 code | 1 blank | 0 comment | 0 complexity | 6be242a2242ab02c91e9a87994060746 MD5 | raw file
  1. using System;
  2. using System.Collections.Concurrent;
  3. using System.Reactive;
  4. using System.Reactive.Linq;
  5. namespace CsvLogTailing.Tests
  6. {
  7. public static class LogRecordObservableExtensions
  8. {
  9. public static IDisposable MaintainObservedEventsCollection(
  10. this IObservable<LogRecord> tailedEvents,
  11. BlockingCollection<Notification<LogRecord>> observedEvents)
  12. {
  13. return tailedEvents
  14. .Materialize()
  15. .Subscribe(
  16. observedEvents.Add,
  17. err =>
  18. {
  19. observedEvents.CompleteAdding();
  20. throw err;
  21. });
  22. }
  23. }
  24. }