2.2.5.4 MSG_SEGLIST

The MSG_SEGLIST message is the response message containing the segment range array describing the segments currently available for download. This message is sent by the server-role peer in response to a MSG_GETSEGLIST (section 2.2.4.4) message from a requesting client-role peer. The MSG_SEGLIST MUST be formatted as follows.<8>


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

RequestID

...

...

...

SegmentRangeCount

SegmentRanges (variable)

...

SizeOfExtensibleBlob

ExtensibleBlob (variable)

...

RequestID (16 bytes): Unique identifier matching the RequestID received in the associated GetSegmentList Request.

SegmentRangeCount (4 bytes): Number of items in the SegmentRanges field. The server MUST set the SegmentRangeCount field to 0 if it does not have any of the requested segments.

SegmentRanges (variable): A SEGMENT_RANGE_ARRAY (section 2.2.1.4) that describes the segments (full or partial) currently available for download from the current server-role peer. The indexes specified in each range in the response are the relative indexes of the segment in the original array of segment IDs specified in the associated GetSegmentList message.

SizeOfExtensibleBlob (4 bytes): The size in bytes of the ExtensibleBlob field.

ExtensibleBlob (variable): An extensible binary large object (BLOB). For the definitions of extensible BLOBs that are currently defined, see section 2.2.6. The relative indexes contained in the extensible BLOB are relative to the first segment in the first SEGMENT_RANGE (section 2.2.1.2) carried by the current MSG_SEGLIST message.