java.lang.Object
org.neo4j.driver.internal.packstream.PackStream
PackStream is a messaging serialisation format heavily inspired by MessagePack.
The key differences are in the type system itself which (among other things) replaces extensions with structures.
The Packer and Unpacker implementations are also faster than their MessagePack counterparts.
Note that several marker byte values are RESERVED for future use. Extra markers should not be added casually and such additions must be follow a strict process involving both client and server software.
The table below shows all allocated marker byte values.
Marker | Binary | Type | Description |
---|---|---|---|
00..7F | 0xxxxxxx | +TINY_INT | Integer 0 to 127 |
80..8F | 1000xxxx | TINY_STRING | |
90..9F | 1001xxxx | TINY_LIST | |
A0..AF | 1010xxxx | TINY_MAP | |
B0..BF | 1011xxxx | TINY_STRUCT | |
C0 | 11000000 | NULL | |
C1 | 11000001 | FLOAT_64 | 64-bit floating point number (double) |
C2 | 11000010 | FALSE | Boolean false |
C3 | 11000011 | TRUE | Boolean true |
C4..C7 | 110001xx | RESERVED | |
C8 | 11001000 | INT_8 | 8-bit signed integer |
C9 | 11001001 | INT_8 | 16-bit signed integer |
CA | 11001010 | INT_8 | 32-bit signed integer |
CB | 11001011 | INT_8 | 64-bit signed integer |
CC | 11001100 | BYTES_8 | Byte string (fewer than 28 bytes) |
CD | 11001101 | BYTES_16 | Byte string (fewer than 216 bytes) |
CE | 11001110 | BYTES_32 | Byte string (fewer than 232 bytes) |
CF | 11001111 | RESERVED | |
D0 | 11010000 | STRING_8 | UTF-8 encoded string (fewer than 28 bytes) |
D1 | 11010001 | STRING_16 | UTF-8 encoded string (fewer than 216 bytes) |
D2 | 11010010 | STRING_32 | UTF-8 encoded string (fewer than 232 bytes) |
D3 | 11010011 | RESERVED | |
D4 | 11010100 | LIST_8 | List (fewer than 28 items) |
D5 | 11010101 | LIST_16 | List (fewer than 216 items) |
D6 | 11010110 | LIST_32 | List (fewer than 232 items) |
D7 | 11010111 | RESERVED | |
D8 | 11011000 | MAP_8 | Map (fewer than 28 key:value pairs) |
D9 | 11011001 | MAP_16 | Map (fewer than 216 key:value pairs) |
DA | 11011010 | MAP_32 | Map (fewer than 232 key:value pairs) |
DB | 11011011 | RESERVED | |
DC | 11011100 | STRUCT_8 | Structure (fewer than 28 fields) |
DD | 11011101 | STRUCT_16 | Structure (fewer than 216 fields) |
DE | 11011110 | RESERVED | |
DF | 11011111 | RESERVED | |
DF | 11011111 | RESERVED | |
E0..EF | 1110xxxx | RESERVED | |
F0..FF | 1111xxxx | -TINY_INT | Integer -1 to -16 |
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
static class
static class
static class
static class
static class
-
Field Summary
Modifier and TypeFieldDescriptionstatic final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
-
Method Summary
-
Field Details
-
TINY_STRING
public static final byte TINY_STRING- See Also:
-
TINY_LIST
public static final byte TINY_LIST- See Also:
-
TINY_MAP
public static final byte TINY_MAP- See Also:
-
TINY_STRUCT
public static final byte TINY_STRUCT- See Also:
-
NULL
public static final byte NULL- See Also:
-
FLOAT_64
public static final byte FLOAT_64- See Also:
-
FALSE
public static final byte FALSE- See Also:
-
TRUE
public static final byte TRUE- See Also:
-
RESERVED_C4
public static final byte RESERVED_C4- See Also:
-
RESERVED_C5
public static final byte RESERVED_C5- See Also:
-
RESERVED_C6
public static final byte RESERVED_C6- See Also:
-
RESERVED_C7
public static final byte RESERVED_C7- See Also:
-
INT_8
public static final byte INT_8- See Also:
-
INT_16
public static final byte INT_16- See Also:
-
INT_32
public static final byte INT_32- See Also:
-
INT_64
public static final byte INT_64- See Also:
-
BYTES_8
public static final byte BYTES_8- See Also:
-
BYTES_16
public static final byte BYTES_16- See Also:
-
BYTES_32
public static final byte BYTES_32- See Also:
-
RESERVED_CF
public static final byte RESERVED_CF- See Also:
-
STRING_8
public static final byte STRING_8- See Also:
-
STRING_16
public static final byte STRING_16- See Also:
-
STRING_32
public static final byte STRING_32- See Also:
-
RESERVED_D3
public static final byte RESERVED_D3- See Also:
-
LIST_8
public static final byte LIST_8- See Also:
-
LIST_16
public static final byte LIST_16- See Also:
-
LIST_32
public static final byte LIST_32- See Also:
-
RESERVED_D7
public static final byte RESERVED_D7- See Also:
-
MAP_8
public static final byte MAP_8- See Also:
-
MAP_16
public static final byte MAP_16- See Also:
-
MAP_32
public static final byte MAP_32- See Also:
-
RESERVED_DB
public static final byte RESERVED_DB- See Also:
-
STRUCT_8
public static final byte STRUCT_8- See Also:
-
STRUCT_16
public static final byte STRUCT_16- See Also:
-
RESERVED_DE
public static final byte RESERVED_DE- See Also:
-
RESERVED_DF
public static final byte RESERVED_DF- See Also:
-
RESERVED_E0
public static final byte RESERVED_E0- See Also:
-
RESERVED_E1
public static final byte RESERVED_E1- See Also:
-
RESERVED_E2
public static final byte RESERVED_E2- See Also:
-
RESERVED_E3
public static final byte RESERVED_E3- See Also:
-
RESERVED_E4
public static final byte RESERVED_E4- See Also:
-
RESERVED_E5
public static final byte RESERVED_E5- See Also:
-
RESERVED_E6
public static final byte RESERVED_E6- See Also:
-
RESERVED_E7
public static final byte RESERVED_E7- See Also:
-
RESERVED_E8
public static final byte RESERVED_E8- See Also:
-
RESERVED_E9
public static final byte RESERVED_E9- See Also:
-
RESERVED_EA
public static final byte RESERVED_EA- See Also:
-
RESERVED_EB
public static final byte RESERVED_EB- See Also:
-
RESERVED_EC
public static final byte RESERVED_EC- See Also:
-
RESERVED_ED
public static final byte RESERVED_ED- See Also:
-
RESERVED_EE
public static final byte RESERVED_EE- See Also:
-
RESERVED_EF
public static final byte RESERVED_EF- See Also:
-