Use buffer-based I/O as a step towards supporting non-blocking network reads.