[hybi] max frame size, was: frame length encoding

Julian Reschke <julian.reschke@gmx.de> Sun, 22 August 2010 16:50 UTC

Return-Path: <julian.reschke@gmx.de>
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 AE98C3A68DF for <hybi@core3.amsl.com>; Sun, 22 Aug 2010 09:50:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.603
X-Spam-Level:
X-Spam-Status: No, score=-103.603 tagged_above=-999 required=5 tests=[AWL=-1.004, BAYES_00=-2.599, 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 LFPlgu-kC42s for <hybi@core3.amsl.com>; Sun, 22 Aug 2010 09:50:22 -0700 (PDT)
Received: from mail.gmx.net (mailout-de.gmx.net [213.165.64.22]) by core3.amsl.com (Postfix) with SMTP id 4B02D3A6888 for <hybi@ietf.org>; Sun, 22 Aug 2010 09:50:21 -0700 (PDT)
Received: (qmail invoked by alias); 22 Aug 2010 16:50:54 -0000
Received: from p508FC2D3.dip.t-dialin.net (EHLO [192.168.178.33]) [80.143.194.211] by mail.gmx.net (mp026) with SMTP; 22 Aug 2010 18:50:54 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1+YYN1VpVaYpDkozkVzhwTSjFJRdcihIf4H7RhDO0 0RgHZJv2svfztv
Message-ID: <4C71555D.9010600@gmx.de>
Date: Sun, 22 Aug 2010 18:50:37 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.8) Gecko/20100802 Lightning/1.0b2 Thunderbird/3.1.2
MIME-Version: 1.0
To: John Tamplin <jat@google.com>
References: <AANLkTimKbmcpgx8k0uXUWvCO=8w9pPrtV=3y4qh6363k@mail.gmail.com> <alpine.DEB.2.00.1008212037190.27211@tvnag.unkk.fr> <AANLkTinrsT+wV48nHvVW_1ChGYffkq7jisU2-PZnMyKg@mail.gmail.com> <alpine.DEB.2.00.1008212123460.27211@tvnag.unkk.fr> <20ef7ed5e135c57c1ee5a741658b9d98.squirrel@sm.webmail.pair.com> <1282423311.2014.6.camel@tng> <224b9ed365bd78fd5e316b8cb5f3f837.squirrel@sm.webmail.pair.com> <1282435214.2014.14.camel@tng> <AANLkTimo0MwZEMn1t1vrASfwC1bx82Q9Z_Ls3wVb-zUS@mail.gmail.com> <AANLkTimQxo0d9TW+ApKLfWrSwutMYL4MJBVRWtxP1sC5@mail.gmail.com>
In-Reply-To: <AANLkTimQxo0d9TW+ApKLfWrSwutMYL4MJBVRWtxP1sC5@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Cc: Hybi <hybi@ietf.org>
Subject: [hybi] max frame size, was: frame length encoding
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
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: Sun, 22 Aug 2010 16:50:26 -0000

On 22.08.2010 18:39, John Tamplin wrote:
> ...
> Just because the JS API today passes the messages totally in RAM, there
> is no reason that it can be extended to support a stream-like API if
> processing larger messages becomes justified.  However, at the framing
> level, we have to have something in place such that v1.0 implementations
> written against this spec can interoperate with later extensions, so it
> seems prudent to make sure the protocol is sufficient for any reasonably
> forseeable needs.  There were several strong arguments that 32-bits
> isn't enough, and the next logical step up is 63/64-bits.
>
> Personally, I would be perfectly happy with a 32-bit maximum frame
> length, and let senders fragment larger messages.  However, there were
> significant objections (see the discussions link from
> http://www.ietf.org/mail-archive/web/hybi/current/msg03399.html for
> details) about being required to fragment a message when its size was
> known, and the fact that it made "fire and forget" of sending the
> message contents with a single sendfile() call impossible (when larger
> than 4G).  Thus, it seemed likely the only way to gain consensus was to
> support a maximum frame length much larger than 32 bits.
> ...

Well, we need only rough consensus.

32 bits has the advantage that it's big enough for almost all use case 
we can currently think of.

32 bits has the drawback that people who cross the 2/4GB barrier might 
encounter interop problems because of insufficient testing.

One way to address this problem are BIG WARNINGs in the spec, and a test 
suite.

Best regards, Julian