Re: [hybi] hum #3: Message

Ian Fette (イアンフェッティ) <ifette@google.com> Thu, 05 August 2010 23:59 UTC

Return-Path: <ifette@google.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BA7813A6A92 for <hybi@core3.amsl.com>; Thu, 5 Aug 2010 16:59:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.422
X-Spam-Level:
X-Spam-Status: No, score=-105.422 tagged_above=-999 required=5 tests=[AWL=0.254, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gy7fjhAwdU7w for <hybi@core3.amsl.com>; Thu, 5 Aug 2010 16:59:52 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 4F36D3A6359 for <hybi@ietf.org>; Thu, 5 Aug 2010 16:59:52 -0700 (PDT)
Received: from kpbe20.cbf.corp.google.com (kpbe20.cbf.corp.google.com [172.25.105.84]) by smtp-out.google.com with ESMTP id o7600MGP007352 for <hybi@ietf.org>; Thu, 5 Aug 2010 17:00:22 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1281052822; bh=5u5v1/ca5y63Tj1eDYmtR7tAKRo=; h=MIME-Version:Reply-To:In-Reply-To:References:Date:Message-ID: Subject:From:To:Cc:Content-Type; b=qg+rTSDLRfYd7+4tl+qcu3oXUV++kbtPC9X2MHv0Ynfo6tkbUA5BADNmr41QG0LsJ I2FTXFqxoJAVB3iI3PThw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:reply-to:in-reply-to:references:date: message-id:subject:from:to:cc:content-type:x-system-of-record; b=Z11u4+jZX8oOeEZcCow2Z4Bvo/O7LP0A/orq0rgd+fmwEG5oE7hoCAuNqr05LolhF F7+N2rqlrK7GAaC40ROGQ==
Received: from yxm8 (yxm8.prod.google.com [10.190.4.8]) by kpbe20.cbf.corp.google.com with ESMTP id o7600Ksg002458 for <hybi@ietf.org>; Thu, 5 Aug 2010 17:00:20 -0700
Received: by yxm8 with SMTP id 8so2687160yxm.25 for <hybi@ietf.org>; Thu, 05 Aug 2010 17:00:20 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.150.139.21 with SMTP id m21mr13870970ybd.80.1281052820410; Thu, 05 Aug 2010 17:00:20 -0700 (PDT)
Received: by 10.150.67.19 with HTTP; Thu, 5 Aug 2010 17:00:20 -0700 (PDT)
In-Reply-To: <AANLkTi=R-CmSpkRpEQ-3wOqwXm-+V76Dxmwn8aC06N3W@mail.gmail.com>
References: <4C5AE93D.4040803@ericsson.com> <Pine.LNX.4.64.1008051758290.5947@ps20323.dreamhostps.com> <AANLkTik0kbh14s2JZARY2MFh0iNGV7H+B4Px4yG+wX44@mail.gmail.com> <71BCE4BF-D3F6-4F94-BE76-306BDF6A2E67@apple.com> <Pine.LNX.4.64.1008051930160.5947@ps20323.dreamhostps.com> <4C5B1695.6070704@gmx.de> <F8E2F702-9F74-4316-B3B2-D5A731409ABF@apple.com> <4C5B2029.90403@gmx.de> <AANLkTim1WeCRfcPxXUNQcVhb4+t_TtDQDv2bXaxOQ=bk@mail.gmail.com> <01098AD0-FBF4-4A61-B565-947C95722BAA@apple.com> <AANLkTi=qQSND5BvUP5+P=wJ7E8SG6NncGZH8U8+VYwZ0@mail.gmail.com> <AANLkTi=R-CmSpkRpEQ-3wOqwXm-+V76Dxmwn8aC06N3W@mail.gmail.com>
Date: Thu, 05 Aug 2010 17:00:20 -0700
Message-ID: <AANLkTinvi3ENpVKY-+o2JX=Q+U51DXN1hoeC15TMTKpT@mail.gmail.com>
From: "Ian Fette (イアンフェッティ)" <ifette@google.com>
To: Jack Moffitt <jack@collecta.com>
Content-Type: multipart/alternative; boundary="000e0cd3037a4c92ec048d1c5a7b"
X-System-Of-Record: true
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] hum #3: Message
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: ifette@google.com
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Aug 2010 23:59:53 -0000

Sigh, perils of editing. Should read "The hum _was_ agnostic as to whether
we use fixed or variable length encoding."

2010/8/5 Ian Fette (イアンフェッティ) <ifette@google.com>

> The first hum I think may hopefully be slightly less contentious if people
> read it carefully? The hum was not agnostic as to whether we use fixed or
> variable length encoding. The hum was whether a message is composed of one
> or more frames. In some proposals, e.g. Proposal V [1], a message could be
> either one frame (of variable length) or multiple frames, depending on what
> makes sense in terms of efficiency. If it's more efficient for the client to
> just sendfile() in a single frame and it's not interested in things like
> multiplexing, that's supported, via a variable length "length". If the
> server is generating data dynamically and wants to send it as it becomes
> available to reduce latency, that's also supported. It does require that
> clients be aware of fragmentation and able to receive fragmented data, but
> does not require the client to send fragmented data. Thus, I would hope that
> if people are willing to accept "must be able to receive fragmented data but
> are not required to send fragmented data" they could agree on that as a
> middle ground, which is in line with the first hum.
>
> [1] http://www.ietf.org/mail-archive/web/hybi/current/msg02924.html
>
>
> On Thu, Aug 5, 2010 at 3:17 PM, Jack Moffitt <jack@collecta.com> wrote:
>
>> >> The kernel's sendfile() is responsible for a lot of the HTTP server
>> >> optimization for static resources, and for this case, I think it is
>> >> true that doing any framing that shows up in the middle of the file
>> >> would lead to a big inefficiency.
>> >
>> > I think there's definitely use cases for transferring large static
>> resources over WebSocket. Consider syncing a media library where items may
>> have been added on either end.  Sync seems like a pretty likely target for
>> WebSocket. You will want to do large static transfers in both directions,
>> and it seems better to use the existing warmed-up WebSocket TCP connection
>> than to make fresh HTTP connections.
>>
>> After doing some research, it appears that sendfile() and its ilk use
>> ranges anyway, and that many implementations already chunk them (nginx
>> seems to do so first to get to a sector boundary, and then at a size
>> of 2G-1). Losing sendfile() completely would be bad, but even in the
>> chunked case, you can still do sendfile() for each chunk. Of course,
>> more calls to sendfile() are worse than fewer, but I imagine most of
>> the efficiency is retained as all memory copies in userland are still
>> eliminated.
>>
>> I don't have the data on the difference, but if it comes down to this
>> particular issue being the deciding factor for consensus, such data
>> can be obtained.
>>
>> With this in mind, I'm in favor of fixed length headers, which implies
>> chunking and multiple frames per message in some cases.
>>
>> jack.
>> _______________________________________________
>> hybi mailing list
>> hybi@ietf.org
>> https://www.ietf.org/mailman/listinfo/hybi
>>
>
>