// Chains a block to a new async stream block based on the given function, and propagates completion by default. public static IPropagatorBlock <TInput, TOutput> BufferAndChain <TInput, TLink, TOutput>(this IPropagatorBlock <TInput, TLink> source, AsyncStreamFunc <TLink, TOutput> func, DataflowLinkOptions?options = null, TLink sentinel = default, CancellationToken cancellationToken = default) { return(source.Chain( func.Buffered(sentinel, cancellationToken), options)); }