Producer<TSource, TSink> abstract class Producer<TSource, TSink> : IProducer<TSource>, IObservable<TSource> where TSink : IDisposable Documentation Code protected Producer() protected abstract TSink CreateSink(IObserver<TSource> observer, IDisposable cancel) protected abstract IDisposable Run(TSink sink) public IDisposable Subscribe(IObserver<TSource> observer) public IDisposable SubscribeRaw(IObserver<TSource> observer, bool enableSafeguard)