[hybi] An _idea_ on framing

Micheil Smith <micheil@brandedcode.com> Mon, 16 August 2010 08:26 UTC

Return-Path: <micheil@brandedcode.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 E9B5B3A6960 for <hybi@core3.amsl.com>; Mon, 16 Aug 2010 01:26:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.219
X-Spam-Level:
X-Spam-Status: No, score=-2.219 tagged_above=-999 required=5 tests=[AWL=0.380, 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 XwJr6X4da93a for <hybi@core3.amsl.com>; Mon, 16 Aug 2010 01:26:35 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 999213A688B for <hybi@ietf.org>; Mon, 16 Aug 2010 01:26:35 -0700 (PDT)
Received: by pwj2 with SMTP id 2so2092330pwj.31 for <hybi@ietf.org>; Mon, 16 Aug 2010 01:27:11 -0700 (PDT)
Received: by 10.114.127.18 with SMTP id z18mr5831920wac.171.1281947231306; Mon, 16 Aug 2010 01:27:11 -0700 (PDT)
Received: from [192.168.46.181] (124-170-123-10.dyn.iinet.net.au [124.170.123.10]) by mx.google.com with ESMTPS id d35sm11709824waa.9.2010.08.16.01.27.07 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 16 Aug 2010 01:27:10 -0700 (PDT)
From: Micheil Smith <micheil@brandedcode.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Mon, 16 Aug 2010 18:27:03 +1000
To: hybi@ietf.org
Message-Id: <4BBE31D0-4B7B-4B68-8299-B306F15845DE@brandedcode.com>
Mime-Version: 1.0 (Apple Message framework v1081)
X-Mailer: Apple Mail (2.1081)
Subject: [hybi] An _idea_ on framing
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: Mon, 16 Aug 2010 08:26:37 -0000

Hi All,

I know that most of the framing for messages is starting to be set in some-what 
fixed state, although, I had a thought last night that may possibly alleviate the 
problems of having to allocate room for features X, Y, and Z in the initial framing 
protocol.

The proposal, as un-thought out as it is, is this:

	You have not just one content-length fragment, but two, say, two 8 bit integers. 
	The first of these is the meta-data length, the second is the actual content length.

	I'm not sure how these would be structured, perhaps something like:

       +-----------------+----------------------+--------------------+-------------------------+
        | 8 bits             | meta-length bits | 8 bits                 | content-length bits |
       +-----------------+----------------------+--------------------+-------------------------+
        | mete-length | meta data            | content-length | content                     |
       +-----------------+----------------------+--------------------+-------------------------+

This would allow us to later add or remove as much meta-data as we like, while staying
consistent the whole time. It'd also add the possibility the servers or clients may ignore 
meta-data, but that's another issue all together.

Take this as the view of an implementor of the protocol / an outsider to the process, this 
is just a thought, I'm not trying to necessarily start an argument / reopen a closed case, 
but it's just an idea nonetheless.

Let me know what you think,

Yours,
Micheil Smith
--
BrandedCode.com