Re: [hybi] WS & Nagle in use

Patrick McManus <mcmanus@ducksong.com> Mon, 21 March 2011 13:32 UTC

Return-Path: <mcmanus@ducksong.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 5202F28C141 for <hybi@core3.amsl.com>; Mon, 21 Mar 2011 06:32:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.504
X-Spam-Level:
X-Spam-Status: No, score=-2.504 tagged_above=-999 required=5 tests=[AWL=0.095, 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 RQ1aEkzXtMDG for <hybi@core3.amsl.com>; Mon, 21 Mar 2011 06:32:58 -0700 (PDT)
Received: from linode.ducksong.com (linode.ducksong.com [64.22.125.164]) by core3.amsl.com (Postfix) with ESMTP id 865DE28C140 for <hybi@ietf.org>; Mon, 21 Mar 2011 06:32:58 -0700 (PDT)
Received: by linode.ducksong.com (Postfix, from userid 1000) id AD93B102A9; Mon, 21 Mar 2011 09:34:30 -0400 (EDT)
Received: from [192.168.16.226] (cpe-67-253-92-25.maine.res.rr.com [67.253.92.25]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by linode.ducksong.com (Postfix) with ESMTPSA id 1CED6102A6; Mon, 21 Mar 2011 09:34:26 -0400 (EDT)
From: Patrick McManus <mcmanus@ducksong.com>
To: Greg Longtin <Greg@ChampionEnt.net>
In-Reply-To: <001701cbe7ca$8d345be0$a79d13a0$@net>
References: <001701cbe7ca$8d345be0$a79d13a0$@net>
Content-Type: text/plain; charset="UTF-8"
Date: Mon, 21 Mar 2011 09:34:22 -0400
Message-ID: <1300714462.2445.35.camel@ds9.ducksong.com>
Mime-Version: 1.0
X-Mailer: Evolution 2.30.3
Content-Transfer-Encoding: 7bit
Cc: hybi <hybi@ietf.org>
Subject: Re: [hybi] WS & Nagle in use
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, 21 Mar 2011 13:32:59 -0000

On Mon, 2011-03-21 at 08:19 -0500, Greg Longtin wrote:

> Hence, should the specs state clearly that if a server or client WS
> application receives a 'multiple message' Nagle packet, that all messages
> should be decoded from it?
> 

TCP is a byte stream protocol - a single WS message might span multiple
tcp packets with just 1 data byte in each, or it might be carried with
thousands of other WS messages in a single TCP segment which itself is
fragmented across multiple IP packets.  Or of course there might be 1
websocket message per TCP segment.

Websockets cannot restrict those options in any way, and receivers must
deal with it (firefox included, because you asked.). The TCP API is
bytestream based - it doesn't give reliable insight into how the data
was arranged when it arrived.

That doesn't really have much to do with nagle. You might see coalescing
due to TCP congestion control delays or network driver scheduling delays
or any number of other various indeterminate things.

> In my testing, I'm not sure if the current clients did so.  Should I test
> the Minefield and Silverlight implementations, or are we certain that they
> do so?
>