kinda like a reservoir, it buffers data in a stream before continuing on