design: Codify usage of CN + 1 bytes everywhere
This commit is contained in:
parent
f5de450c39
commit
5778616965
@ -75,16 +75,16 @@ connection. Thus, the value may range from 0 to 31 if unsigned, and from -16 to
|
|||||||
17 if signed.
|
17 if signed.
|
||||||
|
|
||||||
#### Large Integer (LI)
|
#### Large Integer (LI)
|
||||||
LI encodes an integer of up to 256 bits, which are stored in the payload. The CN
|
LI encodes an integer of up to 256 bits, which are stored in the payload. The
|
||||||
determine the length of the payload in bytes. The integer is big-endian. Whether
|
length of the payload (in bytes) is CN + 1. The integer is big-endian. Whether
|
||||||
the payload is interpreted as unsigned or as signed two's complement is semantic
|
the payload is interpreted as unsigned or as signed two's complement is semantic
|
||||||
information and must be agreed upon by both sides of the connection. Thus, the
|
information and must be agreed upon by both sides of the connection. Thus, the
|
||||||
value may range from 0 to 31 if unsigned, and from -16 to 17 if signed.
|
value may range from 0 to 31 if unsigned, and from -16 to 17 if signed.
|
||||||
|
|
||||||
#### Floating Point (FP)
|
#### Floating Point (FP)
|
||||||
FP encodes an IEEE 754 floating point number of up to 256 bits, which are stored
|
FP encodes an IEEE 754 floating point number of up to 256 bits, which are stored
|
||||||
in the payload. The CN determines the length of the payload in bytes, and it may
|
in the payload. The length of the payload (in bytes) is CN + 1. The only
|
||||||
only be one of these values: 16, 32, 64, 128, or 256.
|
supported bit widths for floats are as follows: 16, 32, 64, 128, and 256.
|
||||||
|
|
||||||
#### Small Byte Array (SBA)
|
#### Small Byte Array (SBA)
|
||||||
SBA encodes an array of up to 32 bytes, which are stored in the paylod. The
|
SBA encodes an array of up to 32 bytes, which are stored in the paylod. The
|
||||||
@ -98,15 +98,16 @@ in bytes is determined by the CN.
|
|||||||
#### One-Tag Array (OTA)
|
#### One-Tag Array (OTA)
|
||||||
OTA encodes an array of up to 2^256 items, which are stored in the payload after
|
OTA encodes an array of up to 2^256 items, which are stored in the payload after
|
||||||
the length field and the item tag, where the length field comes first. Each item
|
the length field and the item tag, where the length field comes first. Each item
|
||||||
must be the same length, as they all share the same tag. The length of the data
|
must be the same length, as they all share the same tag. The length of the
|
||||||
length field in bytes is determined by the CN.
|
length field (in bytes) is CN + 1.
|
||||||
|
|
||||||
#### Key-Tag-Value Table (KTV)
|
#### Key-Tag-Value Table (KTV)
|
||||||
KTV encodes a table of up to 2^256 key/value pairs, which are stored in the
|
KTV encodes a table of up to 2^256 key/value pairs, which are stored in the
|
||||||
payload after the length field. The pairs themselves consist of a 16-bit
|
payload after the length field. The pairs themselves consist of a 16-bit
|
||||||
unsigned big-endian key followed by a tag and then the payload. Pair values can
|
unsigned big-endian key followed by a tag and then the payload. Pair values can
|
||||||
be of different types and sizes. The order of the pairs is not significant and
|
be of different types and sizes. The order of the pairs is not significant and
|
||||||
should never be treated as such.
|
should never be treated as such. The length of the length field (in bytes) is
|
||||||
|
CN + 1.
|
||||||
|
|
||||||
## Transports
|
## Transports
|
||||||
A transport is a protocol that HOPP connections can run on top of. HOPP
|
A transport is a protocol that HOPP connections can run on top of. HOPP
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user