about summary refs log tree commit homepage
tag namev3.0.0 (b12deca157cde3dcf4a46708cf5c995a7185f039)
tag date2011-03-01 09:38:36 +0000
tagged byEric Wong <normalperson@yhbt.net>
tagged objectcommit 73b61c10c0...
downloadruby_io_splice-3.0.0.tar.gz
io_splice 3.0.0 - kinder, gentler Linux zero-copy
This release adds the IO.trysplice and IO.trytee interfaces
to avoid expensive EAGAIN exceptions for non-blocking I/O.

There is no IO.tryvmsplice method as we still haven't figured
out a good use for IO.vmsplice in Ruby, and non-blocking I/O
with iovecs is just painful!  If you want more zero-copy fun
without needing mmap(2), check out the "sendfile" RubyGem and
IO.copy_stream (1.9).  As of Linux 2.6.33+, sendfile(2) can copy
mmap-able files to +any+ descriptor, not just sockets.

Please email us at ruby.io.splice@librelist.com if you can think
of a good use for IO.vmsplice or IO.trysplice in Ruby.