broadcastThrough
basic (with chunks)
Stream('a', 'b', 'c')
.chunkLimit(1)
.unchunks
.evalTap(x => IO.raiseWhen(x == 'b')(Err))
.broadcastThrough(in => in.metered(1.second))
.compile
.toList
error propagation (with chunks)
Stream('a', 'b', 'c')
.chunkLimit(1)
.unchunks
.evalTap(x => IO.raiseWhen(x == 'b')(Err))
.broadcastThrough(in => in.metered(1.second))
.compile
.toList
different rates (with chunks)
Stream('a', 'b', 'c')
.chunkLimit(1)
.unchunks
.broadcastThrough(in => in.metered(1.second), in => in.metered(100.second))
.compile
.toList