Re: [hybi] Clarify the role of closing handshake

Takeshi Yoshino <tyoshino@google.com> Wed, 16 February 2011 01:35 UTC

Return-Path: <tyoshino@google.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 557153A6B6F for <hybi@core3.amsl.com>; Tue, 15 Feb 2011 17:35:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.553
X-Spam-Level:
X-Spam-Status: No, score=-105.553 tagged_above=-999 required=5 tests=[AWL=0.423, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 1G2e7yv0FdsN for <hybi@core3.amsl.com>; Tue, 15 Feb 2011 17:35:33 -0800 (PST)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 290803A684E for <hybi@ietf.org>; Tue, 15 Feb 2011 17:35:32 -0800 (PST)
Received: from wpaz21.hot.corp.google.com (wpaz21.hot.corp.google.com [172.24.198.85]) by smtp-out.google.com with ESMTP id p1G1Zxwe024040 for <hybi@ietf.org>; Tue, 15 Feb 2011 17:35:59 -0800
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1297820159; bh=Fc1xKFi0fva63MqnBRiUe0N/KBg=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=EU2/myCHcib5fgs+qKatEkl5Fju8kYEIlW+94COgGosApRtJ4gmwbIyN8+OV5Yojn /50OqdqTHQRG1RPiPVN+A==
Received: from iyj8 (iyj8.prod.google.com [10.241.51.72]) by wpaz21.hot.corp.google.com with ESMTP id p1G1ZqJ8000673 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <hybi@ietf.org>; Tue, 15 Feb 2011 17:35:58 -0800
Received: by iyj8 with SMTP id 8so848125iyj.40 for <hybi@ietf.org>; Tue, 15 Feb 2011 17:35:58 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=SPuElBNkXq2oZ1hf2l6uwc5ud/U9Fl8/RanltRVazzs=; b=fd7b7b/0p2bkBRiyVBvHv/CsFxBPC+Z02mCoEd/GC7O9WRKcopC2HicriJQkPzEIpN rEMHEzslLZS83FLv76Kw==
DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=a02/QKmfKnHXr6BbP511qe2PFPLmmRBuXmdiP3Vl1txhBkJM/bL235RKiUs2BZ/9ZH yP7IAcLRTNVCVBTfPAQQ==
Received: by 10.231.35.204 with SMTP id q12mr81050ibd.4.1297820158121; Tue, 15 Feb 2011 17:35:58 -0800 (PST)
MIME-Version: 1.0
Received: by 10.231.17.201 with HTTP; Tue, 15 Feb 2011 17:35:38 -0800 (PST)
In-Reply-To: <OF161FAA38.F9E0465F-ON88257837.007F80AD-88257838.00015665@playstation.sony.com>
References: <AANLkTimizRk+73rHJcw16JdWwM8Ax9dhpUqNxEdPLyL4@mail.gmail.com> <OF161FAA38.F9E0465F-ON88257837.007F80AD-88257838.00015665@playstation.sony.com>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Tue, 15 Feb 2011 17:35:38 -0800
Message-ID: <AANLkTinsk6Osf1WbwZMdh_zN7XewA_Bu-bnjzjZXVDbc@mail.gmail.com>
To: Yutaka_Takeda@playstation.sony.com
Content-Type: multipart/alternative; boundary="00221504907781d693049c5c4d04"
X-System-Of-Record: true
Cc: hybi@ietf.org
Subject: Re: [hybi] Clarify the role of closing handshake
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: Wed, 16 Feb 2011 01:35:34 -0000

On Mon, Feb 14, 2011 at 16:14, <Yutaka_Takeda@playstation.sony.com> wrote:

> > In a bit different context but I see that
>
 > Jamie is also saying so in http://www.ietf.org/mail-
> > archive/web/hybi/current/msg01044.html. On what platform this really
> > occurs for example? Just curious. Linux socket allows us to recv
> > data PSH-ed before RST, then ECONNRESET is returned, so I missed this
> point.
>
> Yes, my linux, too it lets receiver to read data received before RST.
> My windows, though, does not seem to let receiver to read the data and
> recv()
> returned 'ECONNRESET' right away.
>
> # If we need some experiment, I can help.
>
> Thanks for the information

> IIRC, there was discussion in designing -00 closing handshake that
> > we should avoid underlying transport layer's semantics in realizing
> > WebSocket layer event. To follow this philosophy, we could replace
> > the last FIN with Close frame. i.e. we again ask both sides send a
> > Close frame so that both sides can safely invoke close(2) after
> > seeing Close frame.
>
> In browser usage, can we actually wait for Close frame from the peer
> after sending Close frame (=app already closed.) ?
> When user jumps to another page,


Though it depends on design as you say, network stack may continue to take
care of those abandoned socket (send 2xx Close and wait for Close). I'm fine
with making draining (either your idea based on SHUT_WR or my idea using
Close frame) optional so that people who takes this just a kind of waste of
resource/time.


> or close browser,


I think sudden close like this can be grouped with network trouble.


> is WS-layer able
> to wait for Close frame to begin with? It just occurred to me...
> (I have no knowledge in browser design/policy.)
>
>