Re: [hybi] thewebsocketprotocol #28 (new): Fragmentation

Greg Wilkins <gregw@webtide.com> Tue, 23 November 2010 23:54 UTC

Return-Path: <gregw@webtide.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 DDF0B3A6987 for <hybi@core3.amsl.com>; Tue, 23 Nov 2010 15:54:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.761
X-Spam-Level:
X-Spam-Status: No, score=-1.761 tagged_above=-999 required=5 tests=[AWL=0.216, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
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 lq9mc-Yd30OB for <hybi@core3.amsl.com>; Tue, 23 Nov 2010 15:54:55 -0800 (PST)
Received: from mail-yw0-f44.google.com (mail-yw0-f44.google.com [209.85.213.44]) by core3.amsl.com (Postfix) with ESMTP id 114CC3A68F5 for <hybi@ietf.org>; Tue, 23 Nov 2010 15:54:54 -0800 (PST)
Received: by ywa8 with SMTP id 8so234817ywa.31 for <hybi@ietf.org>; Tue, 23 Nov 2010 15:55:53 -0800 (PST)
MIME-Version: 1.0
Received: by 10.90.80.18 with SMTP id d18mr9681758agb.31.1290556552997; Tue, 23 Nov 2010 15:55:52 -0800 (PST)
Received: by 10.236.42.204 with HTTP; Tue, 23 Nov 2010 15:55:52 -0800 (PST)
In-Reply-To: <AANLkTikS+N4ZjhoRLgZv5yetD2LceWXO=KC2ksgbfySQ@mail.gmail.com>
References: <059.5b3c3b280c1320a26d9c11c25e067e06@tools.ietf.org> <AANLkTinE95cwFQjFWc3SYsWFYSiY4mu27oQpedYJGgDJ@mail.gmail.com> <AANLkTikS+N4ZjhoRLgZv5yetD2LceWXO=KC2ksgbfySQ@mail.gmail.com>
Date: Wed, 24 Nov 2010 10:55:52 +1100
Message-ID: <AANLkTimaRzGObYrTCB8p7qbvqUpPPhR-uErNRaV_wPzr@mail.gmail.com>
From: Greg Wilkins <gregw@webtide.com>
To: John Tamplin <jat@google.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Cc: hybi <hybi@ietf.org>, sm+ietf <sm+ietf@elandsys.com>
Subject: Re: [hybi] thewebsocketprotocol #28 (new): Fragmentation
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: Tue, 23 Nov 2010 23:54:56 -0000

On 23 November 2010 06:09, John Tamplin <jat@google.com> wrote:
> This question has to be answered in order to interpret a stream of frames
> properly.  One of the following must be true to have a single unique
> interpretation of a sequence of frames:


> - control frames can't be fragmented

+1

> - control frames cannot be inserted in the middle of a fragmented message

I think this is reasonable to allow in the base protocol.  It would
probably simplify the implementations of things like keep alive pings,
so that these can be sent if there was a long pause between fragements
of a message.    It would also allow a close control frame to be sent
without waiting for a message to complete.


> - there must be a way to differentiate a control fragment from a data
> fragment

We have that already- yes?

> - the receiver must keep an arbitrarily deep stack of in-progress messages

I think this kind of complexity need only be supported by stacks that
support a MUX extension.  Once such an extension is accepted, then I
would expect that control frames and messages fragments from different
channels/streams will be able to be interleaved and well defined rules
will need to  be established for interpreting how control frames
relate to partially sent/received messages.


cheers




> John A. Tamplin
> Software Engineer (GWT), Google
>
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi
>
>