[hybi] Handling multiple compression method entries of the same extension

Takeshi Yoshino <tyoshino@google.com> Fri, 11 May 2012 05:55 UTC

Return-Path: <tyoshino@google.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 B5E2821F8637 for <hybi@ietfa.amsl.com>; Thu, 10 May 2012 22:55:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.946
X-Spam-Level:
X-Spam-Status: No, score=-102.946 tagged_above=-999 required=5 tests=[AWL=0.030, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
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 RMVA-74KL-57 for <hybi@ietfa.amsl.com>; Thu, 10 May 2012 22:55:37 -0700 (PDT)
Received: from mail-ob0-f172.google.com (mail-ob0-f172.google.com [209.85.214.172]) by ietfa.amsl.com (Postfix) with ESMTP id CF2DE21F862F for <hybi@ietf.org>; Thu, 10 May 2012 22:55:36 -0700 (PDT)
Received: by obbeh20 with SMTP id eh20so3356860obb.31 for <hybi@ietf.org>; Thu, 10 May 2012 22:55:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type :x-system-of-record; bh=bRXlx2leUsWyPkeXJR9lLwjxAvzIS+BnwFoiwqGn630=; b=f6FUF9qWQIs3/xktUB40ml/Fv4J9TGXoxLI+Of3CuvZZ4zUAazCm8XBavsrZ/16ydg cLA7TaTPZEE+YfdXR7qQKqJrJMuGpf0AtBd21I2XBURY7snyfoTCFh2OJnWz/nITFTi0 ZCX1LtjYEorXlXs+goBvZlq5pwLWt7RGS6DrtQDqIRnDmfFypRyinI8lbJqFkc7bwrNm JN+1fXraa8fqeF45b2sjTKHYm4diB4caDMI7JGmOfUVHXT+gtBJsnvu6SRnIZ4Wyp3r2 o/kzWMS0atJVCAfi3HrQVwKHPwKorl0R+l9dD4dkkqnULvMH+bH/SLBy9ByPoB1uhUvS rr+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type :x-system-of-record:x-gm-message-state; bh=bRXlx2leUsWyPkeXJR9lLwjxAvzIS+BnwFoiwqGn630=; b=b4ypWp4xnTzCzwQkapGHQhFjhlPdv2HaxTMeyvoWOVwzFCC0r6b3EoLqpOZqWQ+/vK 0nhlDze0HnEQdDMpl9Os9rJR8u9eqCZWkAXhVDmf6+Ok5BBjoTsZgTjDqlwtOKuKSw41 oBDA+ZiAH6nXeUx7C2owIrvz1lAFZ62s2SdsYrKDfXfNgr31J9kYjmmfX70UAfZ7v5M6 CR0XUAVoPS5hhorKfAsSKN2Qetn8Olzs0INyinOrZ9j9LwT1yvhJZRHZZYd4qjANBJei 5Sg6HtOWjOClUzEid4HKJ7OtYk8yuTuhBpgWJU9QrHk+BasTfpY870uDd567Cmgimmtz iE0A==
Received: by 10.50.40.202 with SMTP id z10mr871548igk.64.1336715736209; Thu, 10 May 2012 22:55:36 -0700 (PDT)
Received: by 10.50.40.202 with SMTP id z10mr871541igk.64.1336715736063; Thu, 10 May 2012 22:55:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.112.130 with HTTP; Thu, 10 May 2012 22:55:15 -0700 (PDT)
From: Takeshi Yoshino <tyoshino@google.com>
Date: Fri, 11 May 2012 14:55:15 +0900
Message-ID: <CAH9hSJaXiZyuqag2ZUmCwypazEP3bB+k7bD4reha6DBDxn5pwg@mail.gmail.com>
To: hybi@ietf.org
Content-Type: multipart/alternative; boundary="14dae9340ca99d1d3d04bfbc6235"
X-System-Of-Record: true
X-Gm-Message-State: ALoCoQk6cy+FEfgIZhyk3l6uv8VeVw4Cmyd3pzwR+ygtk1E42nTnSvBUFN5GKBJbU4jWutE4tZCD3L4FBIW3m6S0usTUZQu6VWSo5xp9XQGcRVWm257mG9gcORHwR/9fpyO5HHokjrBU
Subject: [hybi] Handling multiple compression method entries of the same extension
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: Fri, 11 May 2012 05:55:37 -0000

Hi,

I'm going to clarify whether multiple method descriptions with the same
method name is allowed to be listed in the perframe-compress's method
parameter or not.

The benefit of allowing multiple entries is that the client can offer the
same extension with different parameter settings to try to use the best
parameter both endpoints can agree.

There's also a problem with this. The client cannot identify which of the
entries has been accepted by the remote endpoint.

Options we can take are:

----

1-a) disallow use of multiple entries

2-a) tag requested methods
Request:
perframe-compress: method="deflate; id=0; foo=200, deflate; id=1; foo=100,
deflate; id=2; foo=0"
Response:
perframe-compress: method="deflate; id=1; bar=3.14"

2-b) put "rejected" that means the method placed at the corresponding
position in the requested-method-list has been rejected.
Request:
perframe-compress: method="deflate; foo=200, deflate; foo=100, deflate;
foo=0"
Response:
perframe-compress: method="rejected, deflate; bar=3.14, rejected"

2-c) send back not a method description but the index of the description to
accept and server-side parameter
Request:
perframe-compress: method="deflate; foo=200, deflate; foo=100, deflate;
foo=0"
Response:
perframe-compress: accept=1; bar=3.14

2-d) ack the requested parameters by echoing them back to make the
accepted-method-desc self-contained (describing all negotiated parameters)
Request:
perframe-compress: method="deflate; foo=200, deflate; foo=100, deflate;
foo=0"
Response:
perframe-compress: method="deflate; foo=100; bar=3.14"

----

My preference is 2-d). I'll rename max_window_bits and no_context_takeover
by prefixing them.

What do you think?