Re: [Cbor] A CBOR tag for alternatives/unions, request for comments
Christian Amsüss <christian@amsuess.com> Thu, 24 February 2022 12:20 UTC
Return-Path: <christian@amsuess.com>
X-Original-To: cbor@ietfa.amsl.com
Delivered-To: cbor@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id 844613A11F8
for <cbor@ietfa.amsl.com>; Thu, 24 Feb 2022 04:20:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44])
by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id DEj2IQ2XKYFx for <cbor@ietfa.amsl.com>;
Thu, 24 Feb 2022 04:20:22 -0800 (PST)
Received: from smtp.akis.at (smtp.akis.at [IPv6:2a02:b18:500:a515::f455])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by ietfa.amsl.com (Postfix) with ESMTPS id D7DCC3A0C1A
for <cbor@ietf.org>; Thu, 24 Feb 2022 04:20:21 -0800 (PST)
Received: from poseidon-mailhub.amsuess.com
([IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bd])
by smtp.akis.at (8.17.1/8.17.1) with ESMTPS id 21OCKGbd022990
(version=TLSv1.2 cipher=ECDHE-ECDSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 24 Feb 2022 13:20:16 +0100 (CET)
(envelope-from christian@amsuess.com)
X-Authentication-Warning: smtp.akis.at: Host
[IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bd] claimed to be
poseidon-mailhub.amsuess.com
Received: from poseidon-mailbox.amsuess.com (poseidon-mailbox.amsuess.com
[IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bf])
by poseidon-mailhub.amsuess.com (Postfix) with ESMTP id B565AD0;
Thu, 24 Feb 2022 13:20:14 +0100 (CET)
Received: from hephaistos.amsuess.com (unknown
[IPv6:2a02:b18:c13b:8010:c452:7e07:77ef:2350])
by poseidon-mailbox.amsuess.com (Postfix) with ESMTPSA id 4D539FD;
Thu, 24 Feb 2022 13:20:14 +0100 (CET)
Received: (nullmailer pid 1422327 invoked by uid 1000);
Thu, 24 Feb 2022 12:20:13 -0000
Date: Thu, 24 Feb 2022 13:20:13 +0100
From: Christian =?iso-8859-1?Q?Ams=FCss?= <christian@amsuess.com>
To: Carsten Bormann <cabo@tzi.org>
Cc: Michael Peyton Jones <michael.peyton-jones@iohk.io>,
Duncan Coutts <duncan@well-typed.com>, cbor@ietf.org,
Jared Corduan <jared.corduan@iohk.io>,
Alexander Byaly <alexander.byaly@iohk.io>
Message-ID: <Yhd3/bwVUOLJLzWu@hephaistos.amsuess.com>
References: <CAKoRMYH3MTMi_tX5KHF-O-DTKzopiGqe3fi6XjkPaGCM4823OQ@mail.gmail.com>
<7dfd62ccb6c089af90c90f26a8945f23232ecbc1.camel@well-typed.com>
<CAKoRMYEOo1Gqfc4W4k3NOLKpFa97Q9YzLCm3r0PJ13V2HJPf3A@mail.gmail.com>
<2BBF6463-FDB2-4A8A-B20D-7A1AD976A90D@tzi.org>
<CAKoRMYFi8uo2GfHA9s1n+-rMO8Ja9=2qMMzjS9Z=F9r3LFozRQ@mail.gmail.com>
<8EA89504-C176-4850-9BB8-C7E7206374FF@tzi.org>
<CAKoRMYGmOa0hzEFsJh8kpz0bU5x56Yc9P=DBK-ghU83gXxPv7A@mail.gmail.com>
<CAKoRMYGUvmxufQUVyvX2mciq5LCmV0Nz-uE2MJn54GDBB+9DRw@mail.gmail.com>
<CAKoRMYF_19V6mu4S9GVqfiNzyQVvvOzX6eYwHp_DtZQoG0xTKg@mail.gmail.com>
<4B47F4D7-ADE3-4A22-8A5B-97F4E5FCD933@tzi.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
protocol="application/pgp-signature"; boundary="+XGMCsOz7rNIe59m"
Content-Disposition: inline
In-Reply-To: <4B47F4D7-ADE3-4A22-8A5B-97F4E5FCD933@tzi.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/sQ1fkJu9L1jgDxQvxV3KIQEOmoI>
Subject: Re: [Cbor] A CBOR tag for alternatives/unions, request for comments
X-BeenThere: cbor@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Concise Binary Object Representation \(CBOR\)" <cbor.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cbor>,
<mailto:cbor-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor/>
List-Post: <mailto:cbor@ietf.org>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cbor>,
<mailto:cbor-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Feb 2022 12:20:25 -0000
Hello Michael, Carsten, putting my designated-expert hat on because this will sooner or later reach me through the review that'll be asked for the 24-32767 range. On Wed, Feb 23, 2022 at 02:16:14PM +0100, Carsten Bormann wrote: > Current state of tag allocation: > range used % free total > 0 1+0 12 50.00 12 24 > 1 1+1 62 26.72 170 232 > 2 1+2 45 0.07 65235 65280 > 3 1+4 3 0.00 4294901757 4294901760 > 4 1+8 2 0.00 18446744069414584318 18446744069414584320 this is asking 6 (in discussion with Michael, 8) out of the ~170 remaining short tags. Chunk allocations are not unheard of, and it's not a particularly large chunk, but given that this is not a case coming from the constrained or high-volume applications that CBOR was designed for, I'd like to confirm: Does it, for the applications expecting to use this, make a noticable difference whether a 1+1 or a 1+2 tag is used? (The difference is likely most pronounced on alternatives without actual payload; expressing the two values of `Either () ()` (if I'm getting this right; in Rust I might say `Result<(), ()>`) would take 4 byte each vs. 3 byte each for the full value including the tagged nil / empty-tuple). If not, I'd suggest that, say, 128 tags could be requested from 1+2, leaving the 1+1+1+(2..) version for the unbounded range. If so, please provide some note about how this does make a difference, which I can refer to when eventually reviewing the entry. BR c -- To use raw power is to make yourself infinitely vulnerable to greater powers. -- Bene Gesserit axiom
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Carsten Bormann
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Richter, Jörg
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Carsten Bormann
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Emile Cormier
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Carsten Bormann
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Emile Cormier
- Re: [Cbor] A CBOR tag for alternatives/unions, re… chrysn
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Carsten Bormann
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Michael Peyton Jones
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Michael Richardson
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Michael Richardson
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Carsten Bormann
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Carsten Bormann
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Michael Peyton Jones
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Christian Amsüss
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Carsten Bormann
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Michael Peyton Jones
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Michael Richardson
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Michael Richardson
- Re: [Cbor] A CBOR tag for alternatives/unions, re… Christian Amsüss