Re: [hybi] Multiplexing extension spec draft 03

"Arman Djusupov" <arman@noemax.com> Mon, 19 March 2012 14:37 UTC

Return-Path: <arman@noemax.com>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7B77121F883E for <hybi@ietfa.amsl.com>; Mon, 19 Mar 2012 07:37:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.366
X-Spam-Level:
X-Spam-Status: No, score=-2.366 tagged_above=-999 required=5 tests=[AWL=0.232, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Boq6FZqGx0Ev for <hybi@ietfa.amsl.com>; Mon, 19 Mar 2012 07:37:19 -0700 (PDT)
Received: from mail.noemax.com (mail.noemax.com [64.34.201.8]) by ietfa.amsl.com (Postfix) with ESMTP id 6B9E521F8829 for <hybi@ietf.org>; Mon, 19 Mar 2012 07:37:19 -0700 (PDT)
Received: from vista1 by mail.noemax.com (IceWarp 9.4.1) with ASMTP (SSL) id DRE07820; Mon, 19 Mar 2012 16:37:20 +0200
From: Arman Djusupov <arman@noemax.com>
To: 'Takeshi Yoshino' <tyoshino@google.com>, hybi@ietf.org
References: <CAH9hSJb1ewPO3EBgD78anD+=4XouToGR4X7C1wvWqonc2nYB6g@mail.gmail.com>
In-Reply-To: <CAH9hSJb1ewPO3EBgD78anD+=4XouToGR4X7C1wvWqonc2nYB6g@mail.gmail.com>
Date: Mon, 19 Mar 2012 16:37:10 +0200
Message-ID: <000301cd05dd$c8f9fc70$5aedf550$@noemax.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0004_01CD05EE.8C853D70"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQJyksDj69tXg0EBn6jyTi4rbdngu5UmlX2Q
Content-Language: en-us
Subject: Re: [hybi] Multiplexing extension spec draft 03
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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, 19 Mar 2012 14:37:21 -0000

The procedure of closing the logical channel is not detailed enough. Closing
the logical channel should be performed in a way similar to closing the
websocket connection when no mux extension is used. We need a close control
frame to roundtrip in order to ensure the mutual agreement between the two
sides when a logical channel is closed. Currently the specification does not
require the side that receives a DropChannel control frame to reply to it
(unless I missed something), which does not ensure the graceful closure of
logical channels.

 

"When an endpoint received DropChannel, the endpoint MUST remove the logical
channel and the application instance that used the logical channel MUST
treat this as closure of underlying transport."
 
One side could be in the process of sending a message when it receives a
DropChannel frame, so it is important to ensure that the logical channel is
closed gracefully without dead channel frames left on the wire. The best way
to do it is to let the DropChannel frame roundtrip back to its sender. When
both sides have received the DropChannel frame they are in mutual agreement
to release the channel ID, being sure that no more frames with the same
channel ID are expected to arrive from the remote side.
 
With best regards,
Arman

 

 

From: hybi-bounces@ietf.org [mailto:hybi-bounces@ietf.org] On Behalf Of
Takeshi Yoshino
Sent: Tuesday, February 28, 2012 6:47 PM
To: hybi@ietf.org
Subject: [hybi] Multiplexing extension spec draft 03

 

http://tools.ietf.org/html/draft-tamplin-hybi-google-mux-03 

Diff http://tools.ietf.org/rfcdiff?url2=draft-tamplin-hybi-google-mux-03.txt


 

- Added a section to describe terms "physical channel" and "logical channel"

- Now the order of extensions in Sec-WebSocket-Extensions determines where
those extensions are applied to frames (before or after (de)multiplexing)

-- Also added explanation of the reason why such a mechanism is needed

-- based on http://www.ietf.org/mail-archive/web/hybi/current/msg09410.html

- Added note discussing how implementors should design quota assignment to
avoid starvation, etc.

-- based on http://www.ietf.org/mail-archive/web/hybi/current/msg09402.html

- Defined operation identifiers such as _Fail the Physical Channel_

- Clarified how events, operations on logical/physical channels must be
handled

- Revised layout of section 7 for readability

- Added DropChannel command to handle logical channel level errors

- Added "Timeout" section