by using streamDelimiter and discardDelimiter functions that don't depend on the buffer size being large enough