2.2.1.5.1 16-bit Stream Object Header Start

A 16-bit header for either a single or a start of a compound object has the following format.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

A

B

Type

Length

A - Header Type (2-bit): A flag that specifies a 16-bit stream object start. This MUST be set to 0x0.

B - Compound (1-bit): If set, a bit that specifies a compound parse type is needed, and MUST end with either an 8-bit Stream Object Header end (section 2.2.1.5.3) or a 16-bit Stream Object Header end (section 2.2.1.5.4). If the bit is not set, it specifies a single object.

Type (6-bits): A 6-bit unsigned integer that specifies the stream object type (see the following table for possible values).

Length (7-bits): A 7-bit unsigned integer that specifies the length in bytes for additional data (if any) before the next Stream Object Header start or Stream Object Header end. If the length is more than 127 bytes, a 32-bit Stream Object Header start (section 2.2.1.5.2) MUST be used.

The following table lists the possible stream object types, and the corresponding Compound value:

Stream object type

Value

Compound

Data Element

0x01

1

Object Data BLOB

0x02

0

Object Group Object Excluded Data

0x03

0

Waterline Knowledge Entry (section 2.2.1.13.4.1)

0x04

0

Object Group Object Data BLOB Declaration

0x05

0

Data Element Hash

0x06

0

Storage Manifest root declare

0x07

0

Revision Manifest root declare

0x0A

0

Cell Manifest current revision

0x0B

0

Storage Manifest schema GUID

0x0C

0

Storage Index Revision Mapping

0x0D

0

Storage Index Cell Mapping

0x0E

0

Cell Knowledge Range (section 2.2.1.13.2.1)

0x0F

0

Knowledge (section 2.2.1.13)

0x10

1

Storage Index Manifest Mapping

0x11

0

Cell Knowledge (section 2.2.1.13.2)

0x14

1

Data Element Package

0x15

1

Object Group Object Data

0x16

0

Cell Knowledge Entry (section 2.2.1.13.2.2)

0x17

0

Object Group Object Declare

0x18

0

Revision Manifest Object Group references

0x19

0

Revision Manifest

0x1A

0

Object Group Object Data BLOB reference

0x1C

0

Object Group Declarations

0x1D

1

Object Group Data

0x1E

1

Waterline Knowledge (section 2.2.1.13.4)

0x29

1

Content Tag Knowledge (section 2.2.1.13.5)

0x2D

1

Content Tag Knowledge Entry

0x2E

0

Query Changes Versioning

0x30

0