8 def self.full(src, dst, len, src_offset)
9 dst.to_io.nonblock = src.to_io.nonblock = true
11 case n = IO.trysplice(src, src_offset, dst, nil, len, IO::Splice::F_MOVE)
18 src_offset += n if src_offset
25 def self.partial(src, dst, len, src_offset)
26 dst.to_io.nonblock = src.to_io.nonblock = true
30 rv = IO.trysplice(src, src_offset, dst, nil, len, IO::Splice::F_MOVE)
31 end while rv == :EAGAIN