Stream copier should copy in time-based chunks

we still use the nonblocking client, and flush at the end of each time interval