Re: [hybi] With deflate-stream, Close frame doesn't work as an end of data marker

Yutaka_Takeda@PlayStation.Sony.Com Fri, 25 February 2011 05:18 UTC

Return-Path: <Yutaka_Takeda@PlayStation.Sony.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 ED07A3A691E for <hybi@core3.amsl.com>; Thu, 24 Feb 2011 21:18:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.967
X-Spam-Level:
X-Spam-Status: No, score=-5.967 tagged_above=-999 required=5 tests=[AWL=0.297, BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_MED=-4]
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 BcP2hBBqo+gw for <hybi@core3.amsl.com>; Thu, 24 Feb 2011 21:18:48 -0800 (PST)
Received: from paris.playstation.sony.com (nat.playstation.sony.com [69.36.131.254]) by core3.amsl.com (Postfix) with ESMTP id 1F82E3A6801 for <hybi@ietf.org>; Thu, 24 Feb 2011 21:18:47 -0800 (PST)
Received: from constantine.playstation.sony.com ([162.49.67.15]) by paris.playstation.sony.com (Lotus Domino Release 8.5.1FP5) with ESMTP id 2011022421193262-129703 ; Thu, 24 Feb 2011 21:19:32 -0800
In-Reply-To: <AANLkTinVwPRpo7NgJjf3+6gcrBHaJugT9OugKKAsMU9X@mail.gmail.com>
To: Takeshi Yoshino <tyoshino@google.com>
MIME-Version: 1.0
X-KeepSent: ED4F78E9:C77C54B8-88257842:001A696A; type=4; flags=0; name=$KeepSent
X-Mailer: Lotus Notes Release 7.0.2 September 26, 2006
Message-ID: <OFED4F78E9.C77C54B8-ON88257842.001A696A-88257842.001D41FB@playstation.sony.com>
From: Yutaka_Takeda@PlayStation.Sony.Com
Date: Thu, 24 Feb 2011 21:19:18 -0800
X-MIMETrack: Serialize by Router on SCEA919ML04/SCEA(Release 8.5.1FP3|May 23, 2010) at 02/24/2011 09:19:32 PM, Serialize complete at 02/24/2011 09:19:32 PM, Itemize by SMTP Server on SCEA919ML02/SCEA(Release 8.5.1FP5|September 29, 2010) at 02/24/2011 09:19:32 PM, Serialize by Router on SCEA919ML02/SCEA(Release 8.5.1FP5|September 29, 2010) at 02/24/2011 09:19:40 PM, Serialize complete at 02/24/2011 09:19:40 PM
Content-Type: multipart/alternative; boundary="=_alternative 001D41F988257842_="
Cc: hybi@ietf.org
Subject: Re: [hybi] With deflate-stream, Close frame doesn't work as an end of data marker
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, 25 Feb 2011 05:18:49 -0000

Hi,

If we could apply deflate-stream only to payload, that would solve 
the problem. I was looking for reasons why entire stream has to be
compressed, and found only one here:

http://www.ietf.org/mail-archive/web/hybi/current/msg04117.html

>From layering aspects, I would prefer any compression taking place
on top of framing layer from the other way around:

   +-------------+
   | compression |
   +-------------+
   +-------------+
   | WS framing  |
   +-------------+
   +-------------+
   |     TCP     |
   +-------------+

where, current draft -05 sugggests:

   +-------------+
   | WS framing  |
   +-------------+
   +-------------+
   | compression |
   +-------------+
   +-------------+
   |     TCP     |
   +-------------+

Justifications for the former layering would be:

o  Framing is necessary because of the underlying transport
   layer is in fact 'streaming', or TCP. (TCP and WS-framing 
   are more tightly coupled)
o  WS-layer needs to buffer entire message (passed by app/JS)
   anyway.
o  Text and binary do not interleave fragments, hence there
   needs only one context for compression / decompression in
   memory.
o  Overhead (frame headers and control frames) are much smaller
   than payload of text/binary frames and negligible as to 
   compression ratio.
o  Close frame appears at the end of stream with no traling
   bytes. (Can remove requirement for TCP graceful shutdown).

Please let me know if I am missing something...

Best.
- Yutaka