2.2.5.2 MSG_BLKLIST

The MSG_BLKLIST message is the response message containing the download block ranges available on the responding server-role peer. The message is sent by the server-role peer in response to a MSG_GETBLKLIST message from a requesting client-role peer.


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

SizeOfSegmentId

SegmentId (variable)

...

ZeroPad (variable)

...

BlockRangeCount

BlockRanges (variable)

...

NextBlockIndex

SizeOfSegmentId (4 bytes): The size, in bytes, of the subsequent SegmentId field.

SegmentId (variable): The Public Segment Identifier for the target segment of content (also known as HoHoDk). See [MS-PCCRC] for details.

ZeroPad (variable): A sequence of N bytes added (only as needed) to restore 4-byte alignment, where 0 <= N <= 3. Each byte's value MUST be set to zero.

BlockRangeCount (4 bytes): Number of items in the subsequent block range array. The server MUST set the BlockRangeCount field to 0 if it does not have any of the requested block ranges.

BlockRanges (variable): A block range array describing the blocks currently available for download from the current server-role peer for the target segment, within the boundaries of the list of block ranges of interest (NeededBlockRanges) specified by the client-role peer in the previously received GetBlockList request message (MSG_GETBLKLIST (section 2.2.4.2)).<7>

NextBlockIndex (4 bytes): The index of the first block after the block sent in the current message, currently available for download from this server-role peer. If no such next block is available, this index MUST be zero.