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