Group pipelining returns: new and improved design
Last night’s blog post provoked a flurry of emails between myself and Marc Gravell. Looking back, trying to base the pipeline on a pseudo-asynchronous version of IEnumerable<T> was a mistake. We’ve now got a much more attractive interface to write extensions against: public interface IDataProducer<T>{ event Action<T> DataProduced; event Action EndOfData;} Why is this so much better? A few reasons: Acting on all the data is much easier: just subscribe to the events. No need for a weird ForEach. It fits the normal processing model much better – we tend to want to process the data, not whether or not there are more elements on their way. … Continue reading Group pipelining returns: new and improved design