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: AS14383 205.234.109.0/24 X-Spam-Status: No, score=1.0 required=3.0 tests=AWL,HK_RANDOM_FROM, MSGID_FROM_MTA_HEADER shortcircuit=no autolearn=no version=3.3.2 Path: news.gmane.org!not-for-mail From: Eric Wong Newsgroups: gmane.comp.lang.ruby.rainbows.general Subject: range requests and multipart responses Date: Mon, 19 Jul 2010 23:18:03 -0700 Message-ID: <20100720061803.GA8037@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 1279608526 1930 80.91.229.12 (20 Jul 2010 06:48:46 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 20 Jul 2010 06:48:46 +0000 (UTC) To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Original-X-From: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Tue Jul 20 08:48:44 2010 Return-path: Envelope-to: gclrrg-rainbows-talk@m.gmane.org X-Original-To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Delivered-To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) X-BeenThere: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Errors-To: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Xref: news.gmane.org gmane.comp.lang.ruby.rainbows.general:108 Archived-At: Received: from rubyforge.org ([205.234.109.19]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ob6d7-0000PY-0e for gclrrg-rainbows-talk@m.gmane.org; Tue, 20 Jul 2010 08:48:41 +0200 Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 78AFC18583A0; Tue, 20 Jul 2010 02:48:39 -0400 (EDT) Received: from dcvr.yhbt.net (dcvr.yhbt.net [64.71.152.64]) by rubyforge.org (Postfix) with ESMTP id 12F3E18583A0 for ; Tue, 20 Jul 2010 02:18:04 -0400 (EDT) Received: from localhost (unknown [127.0.2.5]) by dcvr.yhbt.net (Postfix) with ESMTP id D42E61F510; Tue, 20 Jul 2010 06:18:03 +0000 (UTC) Hi all, Does anybody have real-world use cases of clients using Range: requests with multiple comma-delimited byte ranges (and thus expecting multipart responses)? If not, I'm not going to bloat Rainbows! with it for now[1]. While being able to specify a single range is very useful for resuming failed downloads and for things who want to "peek" at magic patterns before requesting the rest of a file, I can't think of good use cases for having to deal with multipart responses. Even if you were writing a FUSE-based filesystem over HTTP, it wouldn't even be useful for implementing preadv(2) since you can only specify a single offset there. Maybe if you mmap() a FUSE-ed file and two threads access the same file in different parts at the *exact*same*time* the FUSE layer could be smart enough to make a single HTTP request instead of two? :) [1] - For the performance-minded, it's also tough to implement multipart responses efficiently using any sendfile() implementation. Our TCP_CORK support is far from optimal under Linux right now, and not using TCP_CORK would be even less efficient with extra multipart headers. AFAIK, sendfilev() isn't available outside of Solaris, either. -- Eric Wong _______________________________________________ Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org http://rubyforge.org/mailman/listinfo/rainbows-talk Do not quote signatures (like this one) or top post when replying