Re: [hybi] Flow control quota
Takeshi Yoshino <tyoshino@google.com> Fri, 22 June 2012 08:20 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 8AABC21F85EA for <hybi@ietfa.amsl.com>; Fri, 22 Jun 2012 01:20:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.976
X-Spam-Level:
X-Spam-Status: No, score=-102.976 tagged_above=-999 required=5 tests=[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 SwCfw7-Dh6UU for <hybi@ietfa.amsl.com>; Fri, 22 Jun 2012 01:20:03 -0700 (PDT)
Received: from mail-gg0-f172.google.com (mail-gg0-f172.google.com [209.85.161.172]) by ietfa.amsl.com (Postfix) with ESMTP id 4770B21F85E0 for <hybi@ietf.org>; Fri, 22 Jun 2012 01:20:03 -0700 (PDT)
Received: by ggnc4 with SMTP id c4so1435644ggn.31 for <hybi@ietf.org>; Fri, 22 Jun 2012 01:20:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record; bh=yo6uls8ihstNUd1JtJAvACa9pEdnp6J/MPO63ktfJgk=; b=QTQTb0SPii6jCaqVfG38uWMNxFrzfhgaeB0lhJTH4OvaHlDaUEeJnFgG+C49cuuZsD D3OQQKJjMyzIVESE2QSwB2Q+ubAZrGc1qbPgTR7ptcho+WWQDIY6uPvvn3d3+u/KOzyT g6f58NMn78L1ETCETS/DDR+8vqJ7MXtNZZz675gNiAQDl0m8THkPWn5zOts7s12esTi0 ADxcJMMMFESJFxc31lXWAoOpDpeSBCeUj6bm8viRgd5A59oXTmCtIQjtP+cPCZQjm9t6 k40+RQTnP+ii+QSYP4FZarhEHV0lRPZo6PT5qfHyauCRxGLNcPFz+RoAWNtz5ZwU/sIq mvag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record:x-gm-message-state; bh=yo6uls8ihstNUd1JtJAvACa9pEdnp6J/MPO63ktfJgk=; b=frrjrZ/csNjFSKtlkJ6FfAjSj/AYBObEClG6Y3cjHKoAy0o02IUoaGvlHB3qrJYYcx wooVn8XuojVO4cUm61eEnztR1wXfBSTk9OqNkI4udeMBfv9j/qAS3lF8FsYVStJ+tNmJ 1VzzMgJxI+nf4Ke/wgSnbzeBSlygjWThPpHGBeIAkNgtLYvraPZv+baQvo86mRoVmaw1 H9goHu4q7CbwJ76uT1wLUgzqR8ziWJ1gzXybr8atTsC8C8tWC21dwHxu9+24pQbBB94F 8Wbidc0b3T05vuFMZwhFTZdzn4nr36JDYCyt00mr1h6j0qxx6L273ONVjvVMo5eqNRzF N57g==
Received: by 10.50.179.74 with SMTP id de10mr682916igc.61.1340353201441; Fri, 22 Jun 2012 01:20:01 -0700 (PDT)
Received: by 10.50.179.74 with SMTP id de10mr682909igc.61.1340353201322; Fri, 22 Jun 2012 01:20:01 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.66.7 with HTTP; Fri, 22 Jun 2012 01:19:41 -0700 (PDT)
In-Reply-To: <000c01cd495e$751e5cd0$5f5b1670$@noemax.com>
References: <001a01cd3e69$4a221c10$de665430$@noemax.com> <4FC732DC.3000308@250bpm.com> <000e01cd3f1c$af15ad40$0d4107c0$@noemax.com> <4FC880A7.9070007@250bpm.com> <CAH9hSJaWrUX6gFNLT4xkXLYKHSUH5+Y7AvqN9cD_CwekvsNu3A@mail.gmail.com> <001001cd4000$fe2c82c0$fa858840$@noemax.com> <4FCCAE6B.1010306@250bpm.com> <002d01cd4262$747957b0$5d6c0710$@noemax.com> <20120607022312.GA26406@jl-vm1.vm.bytemark.co.uk> <000e01cd449d$1c0ed220$542c7660$@noemax.com> <CAH_y2NE6+3r_9pkYXhMOiRWfGJXGauEYCqg-8GvtOoCT9Ch0mA@mail.gmail.com> <000401cd4566$d5f6bb70$81e43250$@noemax.com> <CAH9hSJY9d3dS_2vTZ-AXwuX0WnJuwZXrFyJtWik5SoKnQ3kWmw@mail.gmail.com> <4FD85D7C.3000902@250bpm.com> <000c01cd495e$751e5cd0$5f5b1670$@noemax.com>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Fri, 22 Jun 2012 17:19:41 +0900
Message-ID: <CAH9hSJYpus9kUtevSZSfORgfwPkdcPZfqLAz2XTykUkSMgNMoA@mail.gmail.com>
To: Arman Djusupov <arman@noemax.com>
Content-Type: multipart/alternative; boundary="14dae934041b703a4604c30b4cc5"
X-System-Of-Record: true
X-Gm-Message-State: ALoCoQnmDsiurA5lBFnyxe5jlLS9gelx4qevAHdfQCTUzCAPgG+QYsrGTiRycnLOqxM30PV3/VCWv8ElU31S/z6UPLzZ+DKX+enodv7mS5BeWOhwPqYHKQWFojezcWQg+ZZcL0RyqPNsWkMobfeF0U+6c03wzerkJ15E0CXjUaGCmrFe3S5xWnk=
Cc: hybi@ietf.org
Subject: Re: [hybi] Flow control quota
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, 22 Jun 2012 08:20:05 -0000
On Wed, Jun 13, 2012 at 9:17 PM, Arman Djusupov <arman@noemax.com> wrote: > But by doing so we dodge the problem with non fragmentable frames that > might > be produced by any future extension that is unknown to the intermediary. > For > example we may need a reliable streaming extension that numbers all the > frames and adds the frame number in the extension data so that it can > resume > sending the message if the connection fails. Such an extension would not > This implies that frame boundary is preserved end-to-end (or we may say it's preserved extension-to-extension). Some extensions may just require per-message signaling. Some may require signaling not aligned to message boundary. Your example might be in the latter group. Boundaries each extension want to place and use may differ. Now I think that sharing WebSocket fragmentation defined in RFC 6455 between such extensions is not realistic. But we do have it. For what we can utilize it? - partial flush or - partial flush and multiplexing Regardless if we use fragmentation for mux or not, I'd suggest that we stop using the frame boundary signal for compression, and refrain from using the boundary of fragmentation and RSV bits and extension data field as per-frame (per-processing-unit) signaling for future extensions, too. Extension data is not the only place extensions may touch. Extensions may transform application data. Per-frame compression does it. No worry. "reliable streaming extension" may embed sequence and the size of the chunk in application data. We tend to miss the frame boundary information, but let's accept new overhead for extensions to represent their processing unit. > support fragmentation so it would set the RSV bit of each frame to prevent > it from being fragmented by intermediaries. As long as the parent > specification allows extensions to place their data at the beginning of the > frame payload, this extension's data would not be recoverable if the frame > is fragmented, so such an extensions would be incompatible with mux. > > It's ok if some extensions are not compatible with mux intermediaries, > since > the WebSocket specification allows intermediaries to refuse extensions that > are not known to them. But ideally mux should be transparent to all > extensions, so that mux intermediaries can be unobtrusively introduced at > any point of the communication path without placing any restrictions on the > extensions that may be used and the type of payload being exchanged. > The ideal mux does require encapsulation (#2). As John said, it was hard to sell. Maybe, we can call for opinions again. I'm ok with full encapsulation though I doubt refragmentability (without parsing mux) after mux is really important. > > So I think we should take a bit more time to think on how we can resolve > the > problem with mux without changing per-frame compression. The second problem > is that changing per-frame compression so that it is applied on the message > boundaries would create an issue if it is applied after mux. Since after > mux > there are no message boundaries any more as message frames are intermixed, > the compression would have to be applied on each frame separately. So > effectively per-frame compression extensions would have two modes of > operation, which would be very hard to define in a specification. It would > practically make it a requirement that this per-frame compression extension > be aware that mux is being used. IMO having such coupling between > extensions > would be a bad design. > Hmm...
- Re: [hybi] Flow control quota Martin Sustrik
- [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota Martin Sustrik
- Re: [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota Takeshi Yoshino
- Re: [hybi] Flow control quota Takeshi Yoshino
- Re: [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota Martin Sustrik
- Re: [hybi] Flow control quota Greg Wilkins
- Re: [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota Jamie Lokier
- Re: [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota Greg Wilkins
- Re: [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota John Tamplin
- Re: [hybi] Flow control quota Takeshi Yoshino
- Re: [hybi] Flow control quota Martin Sustrik
- Re: [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota Takeshi Yoshino
- Re: [hybi] Flow control quota Jamie Lokier
- Re: [hybi] Flow control quota Takeshi Yoshino
- Re: [hybi] Flow control quota Takeshi Yoshino
- Re: [hybi] Flow control quota Martin Sustrik
- Re: [hybi] Flow control quota Takeshi Yoshino
- Re: [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota Takeshi Yoshino
- Re: [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota Takeshi Yoshino
- Re: [hybi] Flow control quota Arman Djusupov
- Re: [hybi] Flow control quota Takeshi Yoshino