Re: [hybi] Frame size

Scott Ferguson <ferg@caucho.com> Fri, 16 April 2010 15:12 UTC

Return-Path: <ferg@caucho.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 A3F453A6B8C for <hybi@core3.amsl.com>; Fri, 16 Apr 2010 08:12:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level:
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[BAYES_50=0.001]
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 2qn3Pm0F6hxT for <hybi@core3.amsl.com>; Fri, 16 Apr 2010 08:12:39 -0700 (PDT)
Received: from smtp112.biz.mail.re2.yahoo.com (smtp112.biz.mail.re2.yahoo.com [66.196.116.97]) by core3.amsl.com (Postfix) with SMTP id 8A1583A6BF6 for <hybi@ietf.org>; Fri, 16 Apr 2010 08:11:51 -0700 (PDT)
Received: (qmail 22968 invoked from network); 16 Apr 2010 15:11:41 -0000
Received: from [192.168.1.10] (ferg@66.92.8.203 with plain) by smtp112.biz.mail.re2.yahoo.com with SMTP; 16 Apr 2010 08:11:41 -0700 PDT
X-Yahoo-SMTP: L1_TBRiswBB5.MuzAo8Yf89wczFo0A2C
X-YMail-OSG: G96yn6cVM1nWlbhCLbwLBT0SuP6jnVHk2rNyEIkznOTmGNWzEaLmH0huVGWL85LfrdrBFoqUTZ7DXFUZ5Xj4jAUD2OZKUkkesYHlbCBtFtsT3UjznlVQGj7uduTgG9756KpC27.MRFOOxK3KeFQ5fcKdbh9o4iv.KvK9_Zzi7Vx1mi0gOqdYIQwarR8PnM9YqIKT6rcDg.LXr5kqey4chg.LiKY1ifNdrKm2pcB0AgRxjuuMWe1hFcttO09R2sYTB8c6tlYIce3UFN5V09_RLQzbFFVkDFP_c5HwSamq.d8x2m5y_4A8Td_lulck5DYxdi8CXgBFhugmtb1S5d_ViO_w2H6qb_cYEGfrvEYK9llO36NBVah69bg49h4HbpPUhpXJTsV6FkKwfOn4Ag2L0z77mSpOT_aE0ezec9fWJnVemTDZwWP93fdAFDzQ5VX8fscCAIg3VA--
X-Yahoo-Newman-Property: ymail-3
Message-ID: <4BC87E2C.8050801@caucho.com>
Date: Fri, 16 Apr 2010 08:11:40 -0700
From: Scott Ferguson <ferg@caucho.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
MIME-Version: 1.0
To: "Thomson, Martin" <Martin.Thomson@andrew.com>
References: <8B0A9FCBB9832F43971E38010638454F03E3F313ED@SISPE7MB1.commscope.com>
In-Reply-To: <8B0A9FCBB9832F43971E38010638454F03E3F313ED@SISPE7MB1.commscope.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: Hybi <hybi@ietf.org>
Subject: Re: [hybi] Frame size
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: Fri, 16 Apr 2010 15:12:41 -0000

Thomson, Martin wrote:
> Responding to specific concerns on framing seems not especially productive.
>
> Proposal:
>
>  - Frame size is indicated up front.
>  - Frames are binary.
>  - Frame size be strictly limited (2 octets should suffice).
>  - Sub-protocol needed if messages are larger than the max frame.
>   
+1 as a good starting point for the framing. Details can be worked out 
from this proposal.

-- Scott
> Justification:
>
> Most use cases are for low latency bi-directional communications.  These don't need large messages.
>
> HTTP is (much) better suited to file transfers in the server->client direction and despite some historical shortcomings in the other direction, still arguably superior (chunked encoding, etc...).
>
> Limiting message size helps keep simple implementations simple; but isn't a burden on implementations that have more complex requirements.
>
> Binary frames isolate user-space (the payload) from the framing layer.  We had this discussion in the meeting (c.f. Pete Resnick's comments).  Thus, 
>  - binary frames are easier to process (intermediaries don't have to inspect every octet)
>  - kinder on implementations (framing component does not depend on UTF-8 component)
>  - isolates framing layer from the bugs of higher layers
>
> Shortcomings:
>
> Greg did have some use cases where larger messages were desired.  A trivial sub-protocol that consists of a continuation marker would solve this.
>
> IF used for UTF-8 AND implementer counts characters instead of octets THEN framing doesn't work.  (One solution to this problem is to start a frame with a known sequence of octets, so that this can be detected.  Another "solution" is to not worry about it.)
>
> --Martin
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi
>
>
>
>