TPL Data Flow
The TPL DataFlow exposes classes to manipulate data asynchronously. It is based on the Task library and on two the interfaces ISourceBlock<T> and ITargetBlock<T>.
The available classes are:
BufferBlockWriteOnceBlockActionBlockTransformBlock,TransformManyBlockBroadcastBlockBatchBlockJoinBlock,BatchedJoinBlock
If I understand clearly the "block" semantics in a visual point of view, I am not particularly fond of it unless used with a Builder. Messaging semantics are also used sometimes, not very clearly for my own taste. I'd better read the book I bought on asynchronous programming to try and propose better naming.