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

"Arman Djusupov" <arman@noemax.com> Wed, 18 April 2012 13:18 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 E5A6E21F84EB for <hybi@ietfa.amsl.com>; Wed, 18 Apr 2012 06:18:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.948
X-Spam-Level:
X-Spam-Status: No, score=-1.948 tagged_above=-999 required=5 tests=[AWL=0.650, 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 J7lZWmX5Cynu for <hybi@ietfa.amsl.com>; Wed, 18 Apr 2012 06:18:47 -0700 (PDT)
Received: from mail.noemax.com (mail.noemax.com [64.34.201.8]) by ietfa.amsl.com (Postfix) with ESMTP id 19C4921F846F for <hybi@ietf.org>; Wed, 18 Apr 2012 06:18:47 -0700 (PDT)
Received: from ArmanPC1 by mail.noemax.com (IceWarp 9.4.1) with ASMTP (SSL) id CRK62150; Wed, 18 Apr 2012 16:18:50 +0300
From: Arman Djusupov <arman@noemax.com>
To: 'John Tamplin' <jat@google.com>, 'Takeshi Yoshino' <tyoshino@google.com>
References: <CAH9hSJZP8FhAGANSwPfvdMCQPyfRhG7tqPT68e6VY5ZCAEROTw@mail.gmail.com> <CABLsOLBsHXsj_A2sWa+b8KaFJBEFMHk0W268RyKzh7J0Y+ZxVQ@mail.gmail.com>
In-Reply-To: <CABLsOLBsHXsj_A2sWa+b8KaFJBEFMHk0W268RyKzh7J0Y+ZxVQ@mail.gmail.com>
Date: Wed, 18 Apr 2012 16:18:36 +0300
Message-ID: <001f01cd1d65$c75807f0$560817d0$@noemax.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0020_01CD1D7E.ECA53FF0"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQFDpAB3Ba5pDAvrAhMo3RFqWK7Q0QGeXeAIl6aPzWA=
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: Wed, 18 Apr 2012 13:18:48 -0000

I also feel it is unnecessary to let the client send some payload that would need to be discarded if the channel is not accepted. 

 

But if this feature is needed for some use cases then I would opt for using the quota negotiated during the initial handshake as the initial quota for all logical channels (and wouldn’t negotiate an initial quota for logical channels since they already have it granted).

 

With best regards,

Arman

 

From: John Tamplin [mailto:jat@google.com] 
Sent: Wednesday, April 18, 2012 3:01 PM
To: Takeshi Yoshino
Cc: Arman Djusupov; hybi@ietf.org
Subject: Re: Send quota value before receiving AddChannelResponse (was: Re: [hybi] MUC: channel ID semantics)

 

On Wed, Apr 18, 2012 at 4:15 AM, Takeshi Yoshino <tyoshino@google.com> wrote:

You're right. In the latest spec, it's not explicitly specified what the value of send quota is until AddChannelResponse is received.

 

There're several options we can take.

 

a) specify the fixed value of send quota before AddChannelResponse in the spec

b) add a new parameter "pre_handshake_quota" to multiplexing extension to negotiate the value of send quota before AddChannelResponse

c) drop the feature to configure initial quota for each logical channel, and redefine the quota parameter as pre-handshake send quota for all logical channels

 

Until we know the AddChannel was accepted, how can we send data anyway?  This seems just like the initial handshake on a new connection -- you wouldn't consider sending that data until you knew the connection was accepted.  Since we are avoiding TCP setup requirements, this will be much less latency than if the connection were created without multiplexing.

 

I suppose it would be possible to send the data while keeping it buffered as an optimization, but since adding a channel should be infrequent compared to sending data on it, I don't see it as that important to optimize for.

 

-- 
John A. Tamplin
Software Engineer (GWT), Google