Re: [hybi] WebSocket & Nagle

Gabriel Montenegro <Gabriel.Montenegro@microsoft.com> Fri, 18 March 2011 19:25 UTC

Return-Path: <Gabriel.Montenegro@microsoft.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 115D93A68BD for <hybi@core3.amsl.com>; Fri, 18 Mar 2011 12:25:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.508
X-Spam-Level:
X-Spam-Status: No, score=-10.508 tagged_above=-999 required=5 tests=[AWL=0.091, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
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 U8eCAK2RCG2C for <hybi@core3.amsl.com>; Fri, 18 Mar 2011 12:25:29 -0700 (PDT)
Received: from smtp.microsoft.com (mailb.microsoft.com [131.107.115.215]) by core3.amsl.com (Postfix) with ESMTP id F2D923A68F9 for <hybi@ietf.org>; Fri, 18 Mar 2011 12:25:28 -0700 (PDT)
Received: from TK5EX14MLTC102.redmond.corp.microsoft.com (157.54.79.180) by TK5-EXGWY-E802.partners.extranet.microsoft.com (10.251.56.168) with Microsoft SMTP Server (TLS) id 8.2.176.0; Fri, 18 Mar 2011 12:26:58 -0700
Received: from TK5EX14MLTW652.wingroup.windeploy.ntdev.microsoft.com (157.54.71.68) by TK5EX14MLTC102.redmond.corp.microsoft.com (157.54.79.180) with Microsoft SMTP Server (TLS) id 14.1.270.2; Fri, 18 Mar 2011 12:26:58 -0700
Received: from TK5EX14MBXW605.wingroup.windeploy.ntdev.microsoft.com ([169.254.5.217]) by TK5EX14MLTW652.wingroup.windeploy.ntdev.microsoft.com ([157.54.71.68]) with mapi id 14.01.0270.002; Fri, 18 Mar 2011 12:26:57 -0700
From: Gabriel Montenegro <Gabriel.Montenegro@microsoft.com>
To: Andy Green <andy@warmcat.com>, Greg Longtin <Greg@ChampionEnt.net>
Thread-Topic: [hybi] WebSocket & Nagle
Thread-Index: AcvlmmEq+uTKsn+YT2i3IjzMz+KQwQAQHWoAAA4rOuA=
Date: Fri, 18 Mar 2011 19:26:57 +0000
Message-ID: <CA566BAEAD6B3F4E8B5C5C4F61710C1126F0F741@TK5EX14MBXW605.wingroup.windeploy.ntdev.microsoft.com>
References: <000501cbe59a$62701cf0$275056d0$@net> <4D83AE2E.7080008@warmcat.com>
In-Reply-To: <4D83AE2E.7080008@warmcat.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [157.54.123.12]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: hybi <hybi@ietf.org>
Subject: Re: [hybi] WebSocket & Nagle
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, 18 Mar 2011 19:25:30 -0000

> >  From my perspective, it would be best if either Nagle was disabled for
> > WebSocket packets, or the browser script API would allow one to do so.  I
> > realize that option is outside of hybi spec.
> 
> libwebsockets also kills Nagling.  Nagle can lead to what is basically
> 5Hz service which is "not the right thing".

As for the general issue, while it is true that the JS API applications might mostly benefit from turning off Nagle, the protocol goes beyond the JS API, e.g., with capabilities like binary and streaming. Given the generality of the protocol, I don't think the specification itself can mandate one way or another, similar to how TCP itself cannot mandate one way or another. But having a default, and a way to change it makes sense.