Re: [hybi] Reliable message delivery (was Re: Technical feedback.)

"Thomson, Martin" <Martin.Thomson@andrew.com> Mon, 01 February 2010 23:58 UTC

Return-Path: <Martin.Thomson@andrew.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 DBC4F3A67C0 for <hybi@core3.amsl.com>; Mon, 1 Feb 2010 15:58:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[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 38TXwMZfGN95 for <hybi@core3.amsl.com>; Mon, 1 Feb 2010 15:58:44 -0800 (PST)
Received: from csmailgw1.commscope.com (csmailgw1.commscope.com [198.135.207.244]) by core3.amsl.com (Postfix) with ESMTP id 235E428C0D7 for <hybi@ietf.org>; Mon, 1 Feb 2010 15:58:44 -0800 (PST)
Received: from [10.86.20.102] ([10.86.20.102]:53205 "EHLO ACDCE7HC1.commscope.com") by csmailgw1.commscope.com with ESMTP id S9611926Ab0BAX7T (ORCPT <rfc822; hybi@ietf.org>); Mon, 1 Feb 2010 17:59:19 -0600
Received: from SISPE7HC1.commscope.com (10.97.4.12) by ACDCE7HC1.commscope.com (10.86.20.102) with Microsoft SMTP Server (TLS) id 8.1.393.1; Mon, 1 Feb 2010 17:59:19 -0600
Received: from SISPE7MB1.commscope.com ([fe80::9d82:a492:85e3:a293]) by SISPE7HC1.commscope.com ([fe80::8a9:4724:f6bb:3cdf%10]) with mapi; Tue, 2 Feb 2010 07:59:17 +0800
From: "Thomson, Martin" <Martin.Thomson@andrew.com>
To: Maciej Stachowiak <mjs@apple.com>, Anne van Kesteren <annevk@opera.com>
Date: Tue, 02 Feb 2010 08:00:22 +0800
Thread-Topic: [hybi] Reliable message delivery (was Re: Technical feedback.)
Thread-Index: AcqjjqQnf3BvuyTbRZmT5859trq8mwAC6hZw
Message-ID: <8B0A9FCBB9832F43971E38010638454F032E5065ED@SISPE7MB1.commscope.com>
References: <4B62C5FE.8090904@it.aoyama.ac.jp> <4B62E516.2010003@webtide.com> <5c902b9e1001290756r3f585204h32cacd6e64fbebaa@mail.gmail.com> <4B636757.3040307@webtide.com> <8449BE19-3061-4512-B563-02973FBB707B@apple.com> <5c902b9e1001292310l5442d476n8375139f3480671b@mail.gmail.com> <26D406E7-2319-476E-9ADF-80D84200C270@apple.com> <5c902b9e1001292333k79569316lf371938c9aa766@mail.gmail.com> <128BFD31-9835-47B1-B7A9-F20F5CDA8D8C@apple.com> <20100130144936.GD19124@shareable.org> <5c902b9e1001301552n6efb7969o34110373e3ab4945@mail.gmail.com> <4B672C9D.9010205@ericsson.com> <op.u7gy9bag64w2qv@annevk-t60> <96935605-E8B8-4718-B60F-570FD2C199E4@apple.com>
In-Reply-To: <96935605-E8B8-4718-B60F-570FD2C199E4@apple.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-BCN: Meridius 1000 Version 3.4 on csmailgw1.commscope.com
X-BCN-Sender: Martin.Thomson@andrew.com
Cc: Hybi <hybi@ietf.org>
Subject: Re: [hybi] Reliable message delivery (was Re: Technical feedback.)
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, 01 Feb 2010 23:58:44 -0000

> If A wants to close the connection it does the following:
> 
> 1) transmits 0xFF 0x00 to B.
> 2) Calls shutdown(SHUT_WR) on its socket (instead of close)
> 3) Reads anything else transmitted from B until it gets EOF, at which
> point it calls close().
> 
> When B receives 0xFF 0x00, it sends any remaining buffered messages and
> calls close.

Anne's described solution works better.

The 0xff00 frame is the indication that close() can be called safely.  Besides, it's two extra octets, hardly an imposition on either end.