Io_splice 3.1.0 - zero-copy pipe I/O for Linux and Ruby

The splice family of Linux system calls can transfer data between file
descriptors without the need to copy data into userspace. Instead of a
userspace buffer, they rely on an ordinary Unix pipe as a kernel-level
buffer.

Changes:

IO::Splice.copy_stream no longer modifies the actual file offset
of the given source file (if it’s a regular file). This follows
IO.copy_stream and IO#sendfile semantics, allowing multiple
threads/processes to simultaneously stream a single regular file
descriptor to multiple sockets/pipes.