Re: [AVTCORE] Reliable Stream Resets: Requesting a Reset at a Specific Offset

Martin Thomson <mt@lowentropy.net> Wed, 11 October 2023 01:07 UTC

Return-Path: <mt@lowentropy.net>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 66F99C151081 for <quic@ietfa.amsl.com>; Tue, 10 Oct 2023 18:07:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.108
X-Spam-Level:
X-Spam-Status: No, score=-7.108 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b="LIXMaWmG"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="jt8GFhEM"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uLtqW3lPFC-8 for <quic@ietfa.amsl.com>; Tue, 10 Oct 2023 18:06:55 -0700 (PDT)
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 067F1C14CF0C for <quic@ietf.org>; Tue, 10 Oct 2023 18:06:54 -0700 (PDT)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 8CE415C0485 for <quic@ietf.org>; Tue, 10 Oct 2023 21:06:48 -0400 (EDT)
Received: from imap41 ([10.202.2.91]) by compute6.internal (MEProxy); Tue, 10 Oct 2023 21:06:48 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1696986408; x=1697072808; bh=xUeOIKCl8U/Cz7gsxjTcNRqla+beT9R0QDS m/YxHaeY=; b=LIXMaWmGqsVx/UMphULHUpyET3fsTWWoWmXjRADIaKvjfx0jh7T 7nHDgOX4L9+rnbDTIUlDByRU2MD2QhKd1LmzMaR1HOXplyVYXZjaEiHfM3L97tu5 OzZZZxrWeWAmvehuHA3RR8Kt4L6IjbDUAvCqldylQKYz6ik1a3cMEOzB9HcdC9li 9d2K8ENAmOr5rB0AACxNYieirvF2cgmXalD3XfmExryX53Pf09asMJ5Hjo7k63My NubiRrldkYGHILhGrXDyroglQwqputcNncpypHHt59xXUXGiL/mEJ2YsF6dfmwak mYPspe48rtDvZYr9SBXfHolvs8LVqI8WgXg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1696986408; x= 1697072808; bh=xUeOIKCl8U/Cz7gsxjTcNRqla+beT9R0QDSm/YxHaeY=; b=j t8GFhEModecTqhewgpT0lZrdejBMhtNt0jbs1w8IwnVvY2ozXQaVN41U0rxwbaLo 9mLiY6K7LYUMU/LAZSDNMXXUoApWj8ksi1nGBRZ28UsB8lTGUNiI4yXbGWFk4OJA i+TdXU2StkruGKTlQ1VV4WCMS17GQOGQC/xq2GKuc9WngY3cQh6oeRVzVpQyawAE 4YD9RbygflddY9+GZI+0Fl3CdDPP8Cib+rYEkMOtrdfldxad1fQNZePXzsHEX+nP WfkQgo66XKNgUkHvFhwo8dTkAOcnkbmyfHHqVJhmvUXS6UiNmL3aUj5WMp8B/gmk lH+UEpz9HDzze5H2n0bDA==
X-ME-Sender: <xms:KPUlZVaN8Dhp-rQAv4j-o6pCZ4DjRajlf1CfOvvf6G8-3YyeWOgimw> <xme:KPUlZcaNpYQsGHF0lf5Xz72vMDyZnEIUz-Os762YyaWKtcZ9NQLgemGGhmVBArMOS 3mtHQ73AIO1hka6aQc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrheejgddtudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkjghffffhvffutgfgsehtqh ertderreejnecuhfhrohhmpedfofgrrhhtihhnucfvhhhomhhsohhnfdcuoehmtheslhho figvnhhtrhhophihrdhnvghtqeenucggtffrrghtthgvrhhnpeehhedvhfehvefggeejtd egjeduveetleejvdekjeejhfekieekudelffdvudefffenucffohhmrghinhepghhithhh uhgsrdgtohhmpdhivghtfhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrh grmhepmhgrihhlfhhrohhmpehmtheslhhofigvnhhtrhhophihrdhnvght
X-ME-Proxy: <xmx:KPUlZX-ZxZWhdqqvNtTTYP2Fj0zuE4IjswUZFl7nt2lVW3MkxJ6bcQ> <xmx:KPUlZTrhATWFuQgC3dHpfEwTWP1ufErEtRYCPLRccAT-3FkPotxpYQ> <xmx:KPUlZQrG4mv12Zc6JKnXWzld7YCjhDUwXeJRMDdQn-j1W09aboLvFA> <xmx:KPUlZd0MiSKS70C3aTiFaAluZU-uIBcIGAm0IelgwFltJfiBzALHgw>
Feedback-ID: ic129442d:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 42D0A234007E; Tue, 10 Oct 2023 21:06:48 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.9.0-alpha0-1019-ged83ad8595-fm-20231002.001-ged83ad85
MIME-Version: 1.0
Message-Id: <0304a741-d79d-4ece-9dd7-223e3dba33a0@betaapp.fastmail.com>
In-Reply-To: <CAPDSy+7Rioi=vvx4kD8Ly=-adsqas8rDFdB+tcmMyUmVFsE_5A@mail.gmail.com>
References: <CAOYVs2r9e5YnNW+pNrtB8UF-TFFKp5PvHV1ScfdcY40qAZ0atA@mail.gmail.com> <fe1d8341-d511-8b97-6943-e8a8e2a2f6e0@tum.de> <CAPDSy+7Rioi=vvx4kD8Ly=-adsqas8rDFdB+tcmMyUmVFsE_5A@mail.gmail.com>
Date: Wed, 11 Oct 2023 12:06:25 +1100
From: Martin Thomson <mt@lowentropy.net>
To: quic@ietf.org
Subject: Re: [AVTCORE] Reliable Stream Resets: Requesting a Reset at a Specific Offset
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/czPUojGLTVIqY_yRU_7Q20g6OA8>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Oct 2023 01:07:00 -0000

WebTransport could use this, but I doubt that it would need to.

I'm more concerned about adding another negotiation point for the request.  If they progress in parallel, then we need separate negotiation for each and that gets tricky when there is an interdependency like this.

On Wed, Oct 11, 2023, at 07:48, David Schinazi wrote:
> Speaking as a WebTransport enthusiast, I think that this is scope 
> creep, and should be avoided. WebTransport has a dependency on 
> draft-ietf-quic-reliable-stream-reset but has no pressing need for the 
> ENOUGH frame. Adding it would increase the scope of this draft, which 
> would delay shipping it, which would in turn delay WebTransport. Having 
> draft-ietf-quic-reliable-stream-reset and draft-thomson-quic-enough 
> progress in parallel would avoid this problem and has no clear downside.
>
> David
>
> On Tue, Oct 10, 2023 at 10:55 AM Mathis Engelbart 
> <mathis.engelbart@tum.de> wrote:
>> We also discussed this at the AVTCORE interim meeting in September. In 
>> RTP over QUIC, receivers may want to use STOP_SENDING to signal that a 
>> media frame will arrive too late and will be dropped. RTP over QUIC also 
>> uses length fields to signal the length of the next RTP packet, so a 
>> receiver could use an ENOUGH frame to indicate where it wants to stop 
>> reading. However, the receiver can only signal that it wants to finish 
>> reading an earlier frame but will drop the later one. I don't think that 
>> will happen very often because I don't see many reasons to keep reading 
>> older frames if a newer one is already deemed too late. It may be useful 
>> if the earlier frame is a dependency of even later frames, but those 
>> will likely also depend on the dropped frame. Thus, I don't expect it to 
>> be used much in RTP over QUIC.
>> 
>> On 10/10/23 07:37, Marten Seemann wrote:
>> > The Reliable Reset draft introduces a CLOSE_STREAM frame that allows 
>> > resetting a stream at a specific offset, thereby guaranteeing the 
>> > reliable delivery of stream data up that offset.
>> > 
>> > At IETF 117, there was some discussion (mainly in AVT) about whether 
>> > there should be a method for an endpoint to abort reading at a specific 
>> > offset. This would allow an endpoint to communicate that it's only 
>> > interested in the first N bytes of the stream, and that it will discard 
>> > all bytes beyond N. This could be done by introducing a STOP_SENDING 
>> > frame that carries an extra field to carry the value N.
>> > 
>> > This might be useful if the stream is used to send a sequence of 
>> > (TLV-encoded) media frames, and the receiver knows the size of the frame 
>> > before actually receiving the entirety of it, or in cases where the 
>> > receiver possesses out-of-band knowledge about the frame size.
>> > 
>> > I created a PR to make this proposal more specific: 
>> > https://github.com/quicwg/reliable-stream-reset/pull/26 
>> > <https://github.com/quicwg/reliable-stream-reset/pull/26>. This PR is 
>> > based on Martin Thomson's ENOUGH draft 
>> > (https://datatracker.ietf.org/doc/draft-thomson-quic-enough/ 
>> > <https://datatracker.ietf.org/doc/draft-thomson-quic-enough/>).
>> > 
>> > Is this mechanism actually useful enough to be included in the draft? 
>> > Implementing support for this frame seems quite easy, but it would be 
>> > helpful to learn more about use cases it enables first.
>> 
>> _______________________________________________
>> Audio/Video Transport Core Maintenance
>> avt@ietf.org
>> https://www.ietf.org/mailman/listinfo/avt