From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS6939 64.71.128.0/18 X-Spam-Status: No, score=-1.9 required=3.0 tests=AWL,BAYES_00, MSGID_FROM_MTA_HEADER shortcircuit=no autolearn=unavailable version=3.3.2 Path: news.gmane.org!not-for-mail From: Eric Wong Newsgroups: gmane.comp.lang.ruby.io-splice.general Subject: [ANN] io_splice 2.0.0 - IO::Splice.copy_stream added! Date: Sat, 5 Jun 2010 08:53:30 +0000 Message-ID: <20100605085330.GA14649@dcvr.yhbt.net> References: <20100605085330.GA14649@dcvr.yhbt.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1275728039 21966 80.91.229.12 (5 Jun 2010 08:53:59 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 5 Jun 2010 08:53:59 +0000 (UTC) To: ruby.io.splice@librelist.com Original-X-From: ruby.io.splice@librelist.com Sat Jun 05 10:53:58 2010 Return-path: Envelope-to: gclrig-ruby.io.splice@m.gmane.org In-Reply-To: <20100605085330.GA14649@dcvr.yhbt.net> List-Archive: List-Help: List-Id: List-Post: List-Subscribe: List-Unsubscribe: Precedence: list Original-Sender: ruby.io.splice@librelist.com Xref: news.gmane.org gmane.comp.lang.ruby.io-splice.general:5 Archived-At: Received: from zedshaw.xen.prgmr.com ([64.71.167.205]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OKp8a-0006SN-Mx for gclrig-ruby.io.splice@m.gmane.org; Sat, 05 Jun 2010 10:53:53 +0200 Received: from zedshaw.xen.prgmr.com (localhost [IPv6:::1]) by zedshaw.xen.prgmr.com (Postfix) with ESMTP id 8779021AD7C for ; Sat, 5 Jun 2010 09:01:41 +0000 (UTC) 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. * http://bogomips.org/ruby_io_splice/ * ruby.io.splice@librelist.com * git://git.bogomips.org/ruby_io_splice.git Changes: There is a new IO::Splice.copy_stream method which is similar to the IO.copy_stream method in 1.9 core, but uses splice() internally to avoid copies to userspace in situations where sendfile() is not possible. With Linux 2.6.35 (and header files to match), we will also export the F_GETPIPE_SZ and and F_SETPIPE_SZ constants so they can be used with fcntl() to resize pipe buffers. The documentation is also updated to reflect the returned usefulness of the IO::Splice::F_MOVE constant for FUSE filesystems under Linux 2.6.35. I've also relicensed to LGPLv2.1+ (from LGPLv3-only) to allow bundling with GPLv2-only applications (I'm currently the sole copyright holder). -- Eric Wong