Returns the number of bytes read. The number read may be less than the buffer space provided. End-of-stream is indicated by a return value of 0.
The iovecs
parameter is mutable because so that function may to mutate the fields in order to handle partial reads from the underlying stream layer.