Re: [quicwg/base-drafts] create codec streams only when necessary (#2090)

Martin Thomson <> Wed, 12 December 2018 05:39 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id CB20C1310EB for <>; Tue, 11 Dec 2018 21:39:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 9yfjDNqyp5Jp for <>; Tue, 11 Dec 2018 21:39:43 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C731A1310D8 for <>; Tue, 11 Dec 2018 21:39:42 -0800 (PST)
Date: Tue, 11 Dec 2018 21:39:40 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1544593180; bh=vLvX+/catyXu4LIsCkWWFGaajfCW9YNccNxZazQSlfw=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Xx0TWHRzWZMOb76AjUvjkIN4TpmSyYtQm/qNtDoEIL70yRy51l+gavJjLU9pJk3uj ujDC42xZTm3nA5dm8YiNonDKHvPLZtMLogB3QQ/rTxIx2cSRbm72m88527GjIPe9O/ g8yHI4ttQbxhniL3nAPZggH5yPSeLJ2HPhfx+Lj0=
From: Martin Thomson <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/2090/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] create codec streams only when necessary (#2090)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c109f1ce99a8_7a643f88806d45b4172388"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
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: Wed, 12 Dec 2018 05:39:45 -0000

Let me try to expand on my earlier comment.  I currently create these streams when building my connection object.  This allows requests and responses to use those streams directly.  If the streams might not exist, then I have to allow those values to be absent throughout, which is annoying but not a big deal.  More of a concern is that this is concurrent code, so deferring creation would mean that I would have to guard the variables holding the streams with a mutex (or atomic, which always gives me the creeps).  That creates the potential for contention point on every new message.

Not saying impossible, but it is annoying.  And all in service to implementations that are not interested in handling a stream that will only ever contain a single octet.  Given the complexity of this protocol as a whole, it seems like a strange optimization to make.

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