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 DA9EB3A6816 for <hybi@core3.amsl.com>; Thu, 5 Aug 2010 16:59:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.406
X-Spam-Level:
X-Spam-Status: No, score=-105.406 tagged_above=-999 required=5 tests=[AWL=0.270, 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 SiHGjrhqFjXO for <hybi@core3.amsl.com>; Thu, 5 Aug 2010 16:59:15 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 41BD83A689E for <hybi@ietf.org>; Thu, 5 Aug 2010 16:59:14 -0700 (PDT)
Received: from kpbe17.cbf.corp.google.com (kpbe17.cbf.corp.google.com [172.25.105.81]) by smtp-out.google.com with ESMTP id o75NxjHQ006361 for <hybi@ietf.org>; Thu, 5 Aug 2010 16:59:45 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1281052785; bh=0Km9247xc8sLf6+ZXXaKMcn9+do=; h=MIME-Version:Reply-To:In-Reply-To:References:Date:Message-ID: Subject:From:To:Cc:Content-Type; b=MYf+T0cbpdo/4/mjOuJovQTcBJFLxETwEql/FqKzA2OJ6j1bxbFwEbT6fW+1Baibo 6oSw/JgGjmO775NEBy6gg==
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=MQvzPG5c0E2Px9C2IK0s5R7RcOwY8wwywENDMNaJjd16YQ3wRILKqtTaf1kf6ye4h DW7osJFZxuGkduqV9dQpA==
Received: from yxj4 (yxj4.prod.google.com [10.190.3.68]) by kpbe17.cbf.corp.google.com with ESMTP id o75NxipH018611 for <hybi@ietf.org>; Thu, 5 Aug 2010 16:59:44 -0700
Received: by yxj4 with SMTP id 4so2752574yxj.3 for <hybi@ietf.org>; Thu, 05 Aug 2010 16:59:43 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.151.4.8 with SMTP id g8mr13023477ybi.365.1281052783750; Thu, 05 Aug 2010 16:59:43 -0700 (PDT)
Received: by 10.150.67.19 with HTTP; Thu, 5 Aug 2010 16:59:43 -0700 (PDT)
In-Reply-To: <AANLkTi=qQSND5BvUP5+P=wJ7E8SG6NncGZH8U8+VYwZ0@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>
Date: Thu, 05 Aug 2010 16:59:43 -0700
Message-ID: <AANLkTi=R-CmSpkRpEQ-3wOqwXm-+V76Dxmwn8aC06N3W@mail.gmail.com>
From: "Ian Fette (イアンフェッティ)" <ifette@google.com>
To: Jack Moffitt <jack@collecta.com>
Content-Type: multipart/alternative; boundary="000e0cd299da1d3080048d1c5837"
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:16 -0000

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
>