2.2.5.3 MSG_BLK
The MSG_BLK message is the response message containing a download block. This message is sent by the server-role peer in response to a MSG_GETBLKS message from a requesting client-role peer.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SizeOfSegmentId |
|||||||||||||||||||||||||||||||
SegmentId (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
ZeroPad (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
BlockIndex |
|||||||||||||||||||||||||||||||
NextBlockIndex |
|||||||||||||||||||||||||||||||
SizeOfBlock |
|||||||||||||||||||||||||||||||
Block (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
ZeroPad_2 (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
SizeOfVrfBlock |
|||||||||||||||||||||||||||||||
VrfBlock (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
ZeroPad_3 (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
SizeOfIVBlock |
|||||||||||||||||||||||||||||||
IVBlock (variable) |
|||||||||||||||||||||||||||||||
... |
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.
BlockIndex (4 bytes): The index in the target segment of the block sent in the current message.
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.
SizeOfBlock (4 bytes): The size, in bytes, of the subsequent Block field. The server MUST set the SizeOfBlock field to zero if it does not have the requested block.
Block (variable): The actual block of data, encrypted according to the cryptographic algorithm specified in the header of the message itself, not including the initialization vector.
ZeroPad_2 (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.
SizeOfVrfBlock (4 bytes): The size, in bytes, of the subsequent VrfBlock field, which SHOULD be zero.
VrfBlock (variable): Currently not used and SHOULD be empty.
ZeroPad_3 (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.
SizeOfIVBlock (4 bytes): The size, in bytes, of the subsequent IVBlock field.
IVBlock (variable): The initialization vector used by the server-role peer when encrypting the block of data (Block field) sent with this message.