The amount of data that can be returned varies of course. This implementation has no inherent limit; the user can configure the limit with the `maxBuffer` option.

> make it a linked list then do a memcpy when the process is complete.

That's exactly what happens.