2.2.2.1 Sub-Requests

A sub-request 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

Sub-request Start

Request ID (variable)

...

Request Type (variable)

...

Priority (variable)

...

Target Partition Id (variable)

...

Sub-request data (variable)

...

Sub-request End

Sub-request Start (4 bytes): A 32-bit Stream Object Header (section 2.2.1.5.2) that specifies a sub-request start.

Request ID (variable): A compact unsigned 64-bit integer (section 2.2.1.1) that MUST be less than 0xFFFFFFFF that specifies the request number for each sub-request. The Request ID for this sub-request MUST be unique within the sub-requests in the request.

Request Type (variable): A compact unsigned 64-bit integer that specifies the request type (section 2.2.1.6).

Priority (variable): A compact unsigned 64-bit integer that specifies the priority of the sub-request. The server executes the set of sub-requests contained in a request in ascending numerical priority. Sub-requests with the same priority are executed in any order with respect to each other.<8>

Target Partition Id (variable): An optional Target Partition Id (section 2.2.2.1.1) that specifies the target partition for this sub-request.<9>

Sub-request data (variable): A structure that specifies additional data for this sub-request. The structure used depends on the value of the Request Type, as specified by the following table.

Value

Meaning

1

Query Access (section 2.2.2.1.2).

2

Query Changes (section 2.2.2.1.3).

5

Put Changes (section 2.2.2.1.4).

11

Allocate Extended GUID Range (section 2.2.2.1.5).

Sub-request End (2 bytes): A 16-bit Stream Object Header (section 2.2.1.5.4) that specifies a sub-request end.