draft-ietf-cbor-array-tags-01.txt   draft-ietf-cbor-array-tags-02.txt 
Network Working Group J. Roatch Network Working Group J. Roatch
Internet-Draft Internet-Draft
Intended status: Informational C. Bormann Intended status: Informational C. Bormann
Expires: August 31, 2019 Universitaet Bremen TZI Expires: September 1, 2019 Universitaet Bremen TZI
February 27, 2019 February 28, 2019
Concise Binary Object Representation (CBOR) Tags for Typed Arrays Concise Binary Object Representation (CBOR) Tags for Typed Arrays
draft-ietf-cbor-array-tags-01 draft-ietf-cbor-array-tags-02
Abstract Abstract
The Concise Binary Object Representation (CBOR, RFC 7049) is a data The Concise Binary Object Representation (CBOR, RFC 7049) is a data
format whose design goals include the possibility of extremely small format whose design goals include the possibility of extremely small
code size, fairly small message size, and extensibility without the code size, fairly small message size, and extensibility without the
need for version negotiation. need for version negotiation.
The present document makes use of this extensibility to define a The present document makes use of this extensibility to define a
number of CBOR tags for typed arrays of numeric data, as well as two number of CBOR tags for typed arrays of numeric data, as well as two
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 31, 2019. This Internet-Draft will expire on September 1, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 11, line 5 skipping to change at page 11, line 5
6. IANA Considerations 6. IANA Considerations
IANA is requested to allocate the tags in Table 3, with the present IANA is requested to allocate the tags in Table 3, with the present
document as the specification reference. (The reserved value is document as the specification reference. (The reserved value is
reserved for a future revision of typed array tags.) reserved for a future revision of typed array tags.)
The allocations come out of the "specification required" space The allocations come out of the "specification required" space
(24..255), with the exception of TBD1040, which comes out of the (24..255), with the exception of TBD1040, which comes out of the
"first come first served" space (256..). "first come first served" space (256..).
+-------+-------------------+---------------------------------------+ +---------+------------------+--------------------------------------+
| Tag | Data Item | Semantics | | Tag | Data Item | Semantics |
+-------+-------------------+---------------------------------------+ +---------+------------------+--------------------------------------+
| TBD64 | byte string | uint8 Typed Array | | TBD64 | byte string | uint8 Typed Array |
| TBD65 | byte string | uint16, big endian, Typed Array | | TBD65 | byte string | uint16, big endian, Typed Array |
| TBD66 | byte string | uint32, big endian, Typed Array | | TBD66 | byte string | uint32, big endian, Typed Array |
| TBD67 | byte string | uint64, big endian, Typed Array | | TBD67 | byte string | uint64, big endian, Typed Array |
| TBD68 | byte string | uint8 Typed Array, clamped arithmetic | | TBD68 | byte string | uint8 Typed Array, clamped |
| TBD69 | byte string | uint16, little endian, Typed Array | | | | arithmetic |
| TBD70 | byte string | uint32, little endian, Typed Array | | TBD69 | byte string | uint16, little endian, Typed Array |
| TBD71 | byte string | uint64, little endian, Typed Array | | TBD70 | byte string | uint32, little endian, Typed Array |
| TBD72 | byte string | sint8 Typed Array | | TBD71 | byte string | uint64, little endian, Typed Array |
| TBD73 | byte string | sint16, big endian, Typed Array | | TBD72 | byte string | sint8 Typed Array |
| TBD74 | byte string | sint32, big endian, Typed Array | | TBD73 | byte string | sint16, big endian, Typed Array |
| TBD75 | byte string | sint64, big endian, Typed Array | | TBD74 | byte string | sint32, big endian, Typed Array |
| TBD76 | byte string | (reserved) | | TBD75 | byte string | sint64, big endian, Typed Array |
| TBD77 | byte string | sint16, little endian, Typed Array | | TBD76 | byte string | (reserved) |
| TBD78 | byte string | sint32, little endian, Typed Array | | TBD77 | byte string | sint16, little endian, Typed Array |
| TBD79 | byte string | sint64, little endian, Typed Array | | TBD78 | byte string | sint32, little endian, Typed Array |
| TBD80 | byte string | IEEE 754 binary16, big endian, Typed | | TBD79 | byte string | sint64, little endian, Typed Array |
| | | Array | | TBD80 | byte string | IEEE 754 binary16, big endian, Typed |
| TBD81 | byte string | IEEE 754 binary32, big endian, Typed | | | | Array |
| | | Array | | TBD81 | byte string | IEEE 754 binary32, big endian, Typed |
| TBD82 | byte string | IEEE 754 binary64, big endian, Typed | | | | Array |
| | | Array | | TBD82 | byte string | IEEE 754 binary64, big endian, Typed |
| TBD83 | byte string | IEEE 754 binary128, big endian, Typed | | | | Array |
| | | Array | | TBD83 | byte string | IEEE 754 binary128, big endian, |
| TBD84 | byte string | IEEE 754 binary16, little endian, | | | | Typed Array |
| | | Typed Array | | TBD84 | byte string | IEEE 754 binary16, little endian, |
| TBD85 | byte string | IEEE 754 binary32, little endian, | | | | Typed Array |
| | | Typed Array | | TBD85 | byte string | IEEE 754 binary32, little endian, |
| TBD86 | byte string | IEEE 754 binary64, little endian, | | | | Typed Array |
| | | Typed Array | | TBD86 | byte string | IEEE 754 binary64, little endian, |
| TBD87 | byte string | IEEE 754 binary128, little endian, | | | | Typed Array |
| | | Typed Array | | TBD87 | byte string | IEEE 754 binary128, little endian, |
| TBD40 | array of two | Multi-dimensional Array | | | | Typed Array |
| | arrays* | | | TBD40 | array of two | Multi-dimensional Array, row-major |
| TBD41 | array | Homogeneous Array | | | arrays* | order |
+-------+-------------------+---------------------------------------+ | TBD1040 | array of two | Multi-dimensional Array, column- |
| | arrays* | major order |
| TBD41 | array | Homogeneous Array |
+---------+------------------+--------------------------------------+
Table 3: Values for Tags Table 3: Values for Tags
*) TBD40 or TBD1040 data item: second element of outer array in data *) TBD40 or TBD1040 data item: second element of outer array in data
item is native CBOR array (major type 4) or Typed Array (one of Tag item is native CBOR array (major type 4) or Typed Array (one of Tag
TBD64..TBD87) TBD64..TBD87)
RFC editor note: Please replace TBDnn by the tag numbers allocated by RFC editor note: Please replace TBDnn by the tag numbers allocated by
IANA throughout the document and delete this note; this also applies IANA throughout the document and delete this note; this also applies
to the binary representation TBD0b010 in Section 2.1, which becomes to the binary representation TBD0b010 in Section 2.1, which becomes
0b010 if the numbers are allocated as proposed. IANA note: To make 0b010 if the numbers are allocated as proposed. IANA note: To make
the calculations work, TDB64 to TBD87 need to come from a contiguous the calculations work, TDB64 to TBD87 need to come from a contiguous
range the start of which is divisible by 32, which they do if the range the start of which is divisible by 32, which they do if the
"TBD" is simply removed. "TBD" is simply removed.
7. Security Considerations 7. Security Considerations
skipping to change at page 14, line 9 skipping to change at page 14, line 9
[TypedArrayUpdate] [TypedArrayUpdate]
Herman, D. and K. Russell, "Typed Array Specification", Herman, D. and K. Russell, "Typed Array Specification",
July 2013, July 2013,
<https://www.khronos.org/registry/typedarray/specs/ <https://www.khronos.org/registry/typedarray/specs/
latest/>. latest/>.
Contributors Contributors
Glenn Engel suggested the tags for multi-dimensional arrays and Glenn Engel suggested the tags for multi-dimensional arrays and
homogeneous arrays, Jim Schaad reminded us that column-major order homogeneous arrays, Jim Schaad reminded us that column-major order
still is in use. still is in use. IANA helped correct an error in a previous version.
Acknowledgements Acknowledgements
TBD TBD
Authors' Addresses Authors' Addresses
Johnathan Roatch Johnathan Roatch
Email: jroatch@gmail.com Email: jroatch@gmail.com
 End of changes. 6 change blocks. 
45 lines changed or deleted 47 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/