Re: [hybi] WS ABNF

Dave Cridland <dave@cridland.net> Wed, 17 February 2010 10:15 UTC

Return-Path: <dave@cridland.net>
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 976603A7C75 for <hybi@core3.amsl.com>; Wed, 17 Feb 2010 02:15:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
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 WyUiZrv-QVvi for <hybi@core3.amsl.com>; Wed, 17 Feb 2010 02:15:53 -0800 (PST)
Received: from peirce.dave.cridland.net (peirce.dave.cridland.net [217.155.137.61]) by core3.amsl.com (Postfix) with ESMTP id 0D3813A7AEE for <hybi@ietf.org>; Wed, 17 Feb 2010 02:15:53 -0800 (PST)
Received: from localhost (localhost.localdomain [127.0.0.1]) by peirce.dave.cridland.net (Postfix) with ESMTP id C443F11680B8; Wed, 17 Feb 2010 10:17:28 +0000 (GMT)
X-Virus-Scanned: Debian amavisd-new at peirce.dave.cridland.net
Received: from peirce.dave.cridland.net ([127.0.0.1]) by localhost (peirce.dave.cridland.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E4D6m4r-XXDH; Wed, 17 Feb 2010 10:17:28 +0000 (GMT)
Received: from puncture (puncture.local [IPv6:2001:838:378:0:221:85ff:fe3f:1696]) by peirce.dave.cridland.net (Postfix) with ESMTPA id 6A4FC11680B3; Wed, 17 Feb 2010 10:17:28 +0000 (GMT)
References: <8B0A9FCBB9832F43971E38010638454F032E566DDF@SISPE7MB1.commscope.com> <18559.1266310165.853559@puncture> <4B7A5FD1.8090005@gmx.de> <18559.1266313683.441640@puncture> <20100217025338.GA1654@shareable.org>
In-Reply-To: <20100217025338.GA1654@shareable.org>
MIME-Version: 1.0
Message-Id: <14781.1266401848.423659@puncture>
Date: Wed, 17 Feb 2010 10:17:28 +0000
From: Dave Cridland <dave@cridland.net>
To: Jamie Lokier <jamie@shareable.org>, Julian Reschke <julian.reschke@gmx.de>, Server-Initiated HTTP <hybi@ietf.org>
Content-Type: text/plain; delsp="yes"; charset="iso-8859-1"; format="flowed"
Content-Transfer-Encoding: 8bit
Subject: Re: [hybi] WS ABNF
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: Wed, 17 Feb 2010 10:15:54 -0000

On Wed Feb 17 02:53:38 2010, Jamie Lokier wrote:
> Then one day, someone else puts an 8GB file there and expects it to
> work.  Why should it be fine for 3GB files but fail for an 8GB file?

Because websocket messages would (then) be limited to 4G, just as  
IMAP limits emails to 4G (yet the rest of the mailsystem doesn't).  
I'm not aware of this *ever* causing a problem. I'm not aware of -  
amongst the vast numbers of people who seem to enjoy picking holes in  
IMAP - anyone complaining about that limit even theoretically, or  
complaining that the literal octet count is represented in ASCII.

Arbitary limits aren't bad - and the websocket protocol has them in  
the shape of a limited number of message types, which I don't see you  
complaining about.

If you genuinely think it is a serious issue, then beef it up to a  
network byte order 64-bit, or use ASCII if you really want it  
unlimited. I'll look forward to you explaining to people that a  
bigint library is mandatory for websocket implementation, though,  
that'll give me a lot of giggles.

Or simply describe how protocol users can, if needs be, break up  
large files into multiple messages for processing, which might prove  
easier. You could even build this into the protocol, something like a  
flags after the message type where the lowest bit is a "continued"  
flag.

I remain pretty skeptical that such a flag is needed, although the  
notion of having flags in general appeals.

> Maybe for generality (no fixed limit), but it might have been an
> attempt to use fewer bytes for small messages.  Considering most
> messages are expected to be small(*), that's not entirely illogical.

Not on the face of it, no. A naïve look would see that a whole 1-3  
octets are shaved off the wire, and that can't be a bad thing in and  
of itself.

The trouble is that it's vanishingly rarely saving any TCP packets,  
which would be interesting and useful, and nor is it saving any  
messages, which is essentially beyond the scope of the protocol.  
Those two *do* save appreciable amounts of bandwidth.

Dave.
-- 
Dave Cridland - mailto:dave@cridland.net - xmpp:dwd@dave.cridland.net
  - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
  - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade