Re: [quicwg/base-drafts] Allow the Transport to Stop/Reset a Stream? (#3291)

Nick Banks <> Sat, 07 December 2019 18:55 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id AD5E11200F9 for <>; Sat, 7 Dec 2019 10:55:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.596
X-Spam-Status: No, score=-6.596 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_IMAGE_ONLY_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id F7G1oWboF-4b for <>; Sat, 7 Dec 2019 10:55:47 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 34C7F120828 for <>; Sat, 7 Dec 2019 10:55:47 -0800 (PST)
Date: Sat, 07 Dec 2019 10:55:46 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1575744946; bh=OYhfAcK8Lw93z9fPSdgzNwmAXsQ4suJfgiblv04BquI=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=QB7KbidI4OTC60V8OOe3s2BpUzztQIQxb5ccAG4hM8k0YmRNWbCAK9opmFf6NqFAz NN5th6znPoja0jUISidlc3Tn1V6n3GJJhbHZ+a7yTDJPFoozqS6Wt3NhSw9dLwxtkA K04bLxJRzciLmvobKnQizBpDzmvvTAARKL78Eefs=
From: Nick Banks <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/3291/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] Allow the Transport to Stop/Reset a Stream? (#3291)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5debf5b21e0a4_f6c3fe572ecd9604458fa"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: nibanks
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 07 Dec 2019 18:55:49 -0000

Imagine a C++/C# Stream class/object in an intermediate library between the app and the native C transport library. The transport indicates a C object to the intermediate library, then the intermediate library creates it's own object/wrapper, but something fails along the way that's not fatal to the entire connection. The app layer is not yet in the picture, but the intermediate library cannot continue with the stream. I see these possible options:

1. Upcall to the app (or allow the app to pre-configure) to get an appropriate error code to terminate the stream with.
2. Terminate the entire connection even though it's a stream specific problem (but this has the same problem, because the error code would have to be app specific, so we'd have to expose an API to allow the intermediate layer to issue a transport connection close).
3. Change the protocol to allow a non-app specific error code to be used to terminate the stream.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: