Re: [hybi] Send quota value before receiving AddChannelResponse (was: Re: MUC: channel ID semantics)

"Arman Djusupov" <arman@noemax.com> Tue, 24 April 2012 08:16 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 E07BB21F856F for <hybi@ietfa.amsl.com>; Tue, 24 Apr 2012 01:16:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.274
X-Spam-Level:
X-Spam-Status: No, score=-2.274 tagged_above=-999 required=5 tests=[AWL=0.326, BAYES_00=-2.599]
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 3fT974CqRfJV for <hybi@ietfa.amsl.com>; Tue, 24 Apr 2012 01:16:37 -0700 (PDT)
Received: from mail.noemax.com (mail.noemax.com [64.34.201.8]) by ietfa.amsl.com (Postfix) with ESMTP id 9F42921F869D for <hybi@ietf.org>; Tue, 24 Apr 2012 01:16:36 -0700 (PDT)
Received: from ArmanPC1 by mail.noemax.com (IceWarp 9.4.1) with ASMTP (SSL) id IMO12536; Tue, 24 Apr 2012 11:16:36 +0300
From: Arman Djusupov <arman@noemax.com>
To: 'Greg Wilkins' <gregw@intalio.com>, 'Patrick McManus' <mcmanus@ducksong.com>
References: <CAH9hSJZP8FhAGANSwPfvdMCQPyfRhG7tqPT68e6VY5ZCAEROTw@mail.gmail.com> <CABLsOLBsHXsj_A2sWa+b8KaFJBEFMHk0W268RyKzh7J0Y+ZxVQ@mail.gmail.com> <CAH9hSJZMrqDLJLr6RNLk84o1B2i3AVezUeGF9mWZ2Yu2Uv-feA@mail.gmail.com> <CA566BAEAD6B3F4E8B5C5C4F61710C1147FA4EA0@TK5EX14MBXW602.wingroup.windeploy.ntdev.microsoft.com> <002501cd1e15$0c8d8480$25a88d80$@noemax.com> <CA566BAEAD6B3F4E8B5C5C4F61710C1147FA9596@TK5EX14MBXW602.wingroup.windeploy.ntdev.microsoft.com> <4F9494FD.5070106@ducksong.com> <CAH_y2NGJFpC500ut00a6jM=syF0Ljf4oSOh=uchqv1LOud7pKg@mail.gmail.com>
In-Reply-To: <CAH_y2NGJFpC500ut00a6jM=syF0Ljf4oSOh=uchqv1LOud7pKg@mail.gmail.com>
Date: Tue, 24 Apr 2012 11:16:25 +0300
Message-ID: <000301cd21f2$8ee30fa0$aca92ee0$@noemax.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQFDpAB3Ba5pDAvrAhMo3RFqWK7Q0QGeXeAIAYMcRbwA5LM+PwFTEQc0AU3uHbkBMBQUXgG+D031l2/xj+A=
Content-Language: en-us
Cc: hybi@ietf.org
Subject: Re: [hybi] Send quota value before receiving AddChannelResponse (was: Re: MUC: channel ID semantics)
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: Tue, 24 Apr 2012 08:16:38 -0000

The server might refuse the channel due to reaching the maximum number of
mux logical channels on the same connection. The issue is not only with the
cases when the channel is refused but also when the server can't allocate a
new channel fast, which would force the server to buffer frames of pending
logical channels until they get accepted in order to read from the wire the
subsequent frames belonging to already established channels. For this reason
the server needs a way to control a default quota. My suggestion was to let
the server define the default quota for the logical channel during the
physical channel handshake rather than hardcoding it into the spec.

As I already mentioned in a previous message, according to the current
specification (a) the client may send data prior to receiving an
AddChannelResponse, but (b) it doesn't have any flow control quota until an
AddChannelResponse with or without quota parameter is received. These two
obviously contradict each other. So if we want the client to be able to send
some data right after the AddChannelResponse is sent then we need to define
how the default quota is negotiated. In such a case we actually don't need
any quota parameter in the AddChannelResponse handshake. In other words the
part of the spec that describes the initial flow control quota negotiation
has to change anyway.

PS: I totally agree on the evilness of 'RTT', but there has to be a clean
way to control the amount of data that the client can send before the
channel is accepted, preferably not just a hardcoded default quota for all
clients in all cases.

With best regards,
Arman

-----Original Message-----
From: hybi-bounces@ietf.org [mailto:hybi-bounces@ietf.org] On Behalf Of Greg
Wilkins
Sent: Tuesday, April 24, 2012 9:05 AM
To: Patrick McManus
Cc: hybi@ietf.org
Subject: Re: [hybi] Send quota value before receiving AddChannelResponse
(was: Re: MUC: channel ID semantics)

In the case of MUX, the server has already accepted the main
connection from the client and agreed to the the MUX extensions.
Thus I would think that rejecting addChannel would be an
extraordinarily rare occurrence.    Perhaps it might be provoked by a
different channel extension, but if we don't expose the extension
choice to the application then I would expect the same extension and
settings for all channels anyway (hence the worth of the delta header
design).

So I think that a quick start for sending data can be another benefit
of using MUX.

cheers
_______________________________________________
hybi mailing list
hybi@ietf.org
https://www.ietf.org/mailman/listinfo/hybi