About
In computing, vectored I/O, also known as scatter/gather I/O, is a method of input and output by which a single procedure-call sequentially:
- writes data from multiple buffers to a single data stream
- or reads data from a data stream to multiple buffers.
The buffers are given in a vector of buffers (a set of buffers)
Scatter/gather refers to the process of gathering data from, or scattering data into, the given set of buffers.
Scatter/gather is a technique through which bytes can be read from a stream into a set of buffers (vectors) with a single read() invocation and bytes can be written from a set of buffers to a stream with a single write() invocation.
Vectored I/O can operate synchronously or asynchronously.
The main reasons for using vectored I/O are efficiency and convenience.