I read a chunk from the through stream, parse the header, and have some leftover data from after the header
the through stream has some MORE buffered data already in it (maybe hypercore-protocol data)
the old code would push the leftover data, which would actually put the beginning of the post-header data AFTER whatever else was already in the stream
this would confuse/break hypercore-protocol, and no replication would happen
This covers the case where
push
the leftover data, which would actually put the beginning of the post-header data AFTER whatever else was already in the stream