Re: [hybi] Framing take IV

Ian Fette (イアンフェッティ) <ifette@google.com> Wed, 04 August 2010 02:52 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 C17443A68EA for <hybi@core3.amsl.com>; Tue, 3 Aug 2010 19:52:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.45
X-Spam-Level:
X-Spam-Status: No, score=-105.45 tagged_above=-999 required=5 tests=[AWL=0.226, 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 S-EcgAprNUDG for <hybi@core3.amsl.com>; Tue, 3 Aug 2010 19:52:55 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 7C2033A6B99 for <hybi@ietf.org>; Tue, 3 Aug 2010 19:52:55 -0700 (PDT)
Received: from kpbe13.cbf.corp.google.com (kpbe13.cbf.corp.google.com [172.25.105.77]) by smtp-out.google.com with ESMTP id o742rOe6028356 for <hybi@ietf.org>; Tue, 3 Aug 2010 19:53:24 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1280890404; bh=6LxUO5IiatY3AvwHcd+TNFfi9Ys=; h=MIME-Version:Reply-To:In-Reply-To:References:Date:Message-ID: Subject:From:To:Cc:Content-Type; b=jnbxEhhPwQa0Ko1nllRn951UMMTkJ/Tn/hSeYEThHCLi5R5UBIcGyIo8iQQtZKmsz XSwl8Sou4/BbR/Dds3WDQ==
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=hjbi6mMkRhdtXpx6i0UQAk3aqtFj6tWSs+rQ5oUejBz1hdcpaglVF5Pt0U5xA/9TH E1VrC+l8BVGwBtKYqsxGQ==
Received: from gxk4 (gxk4.prod.google.com [10.202.11.4]) by kpbe13.cbf.corp.google.com with ESMTP id o742rMqO027465 for <hybi@ietf.org>; Tue, 3 Aug 2010 19:53:22 -0700
Received: by gxk4 with SMTP id 4so2445281gxk.0 for <hybi@ietf.org>; Tue, 03 Aug 2010 19:53:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.151.132.21 with SMTP id j21mr9787952ybn.104.1280890402174; Tue, 03 Aug 2010 19:53:22 -0700 (PDT)
Received: by 10.150.67.19 with HTTP; Tue, 3 Aug 2010 19:53:22 -0700 (PDT)
In-Reply-To: <AANLkTi=MENta8H4A_ota=R==EJ3j0zAkPc7ai2qmsZiT@mail.gmail.com>
References: <AANLkTinyrDoG5d_Ur6HVRy=SgMPjLzJtpJ++Ye=1DQdj@mail.gmail.com> <20100804022719.GT27827@shareable.org> <AANLkTi=MENta8H4A_ota=R==EJ3j0zAkPc7ai2qmsZiT@mail.gmail.com>
Date: Tue, 03 Aug 2010 19:53:22 -0700
Message-ID: <AANLkTinZE8-HSi-BJD8Oq3z3+9BXY8eMnZ4DAnOaiuT=@mail.gmail.com>
From: "Ian Fette (イアンフェッティ)" <ifette@google.com>
To: Greg Wilkins <gregw@webtide.com>
Content-Type: multipart/alternative; boundary="001485eba7186af7ab048cf68923"
X-System-Of-Record: true
Cc: hybi@ietf.org
Subject: Re: [hybi] Framing take IV
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: Wed, 04 Aug 2010 02:52:56 -0000

As far as I can tell, what Jamie proposed is basically equivalent to what I
proposed in http://www.ietf.org/mail-archive/web/hybi/current/msg02726.html -
the problem with this approach is that it doesn't work well for extensions
that need a variable amount of space in each frame. For something like
multiplexing, compression, or fragmentation it works fine as you have a
fixed number of bits in each frame, but if you wanted to do something like a
mime extension, you would have to reserve a large number of bits in each
frame to make sure you had enough. At least, if I am understanding the
proposal correctly.

That said, it has a very nice advantage in that I don't have to parse
header-goo on each frame, and that the data I care about is at a
well-defined position, at least for all frames in a single client-server
channel (if a different client negotiates a different set of extensions,
that would be different, obviously.)

-Ian

On Tue, Aug 3, 2010 at 7:46 PM, Greg Wilkins <gregw@webtide.com> wrote:

>
> Jamie,
>
> Interesting idea.  I think we had assumed that negotiating extension
> opcodes would be too complex, but what you have suggested looks like the
> start of a simple solution.   Could you care to expand on it a bit more with
> exactly how the client/server would agree on a final set of extended
> op-codes?
>
> So it looks now like we have  4 possible extension approaches:
>
> hixieasque - extension via defined opcodes
> jamiesque - extension via negotiated opcodes
> robertoesque - extension via per frame meta-data
> martineque - extension via a dedicated mime frame
>
>
> cheers
>
>
>
>
> On 4 August 2010 12:27, Jamie Lokier <jamie@shareable.org> wrote:
>
>>
>> 4. Extension codes identified at handshake negotiation time, or a
>> later negotiation time in control messages.
>>
>> For example: "WebSocket-Protocol: x-multiplex;control-byte=12,
>> keepalive-aggregator;control-byte=13"
>>
>> Doing it at handshake time has the advantage that it's easily
>> future-proof, very little needs to be defined up front, and simple
>> implementations can ignore them entirely.
>>
>> -- Jamie
>>
>
>
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi
>
>