2.2.1.4 SEGMENT_INFO_MESSAGE

A SEGMENT_INFO_MESSAGE is a request message sent by the client to the hosted cache containing the segment hash of data (HoD) for the previously offered segment, as well as the range of block hashes in the segment. Whether a SEGMENT_INFO_MESSAGE is sent depends on the hosted cache's response to the previous INITIAL_OFFER_MESSAGE containing the same HoHoDk. This message consists of the following fields.

Note This message is only available for protocol version 1.0.


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

MessageHeader

...

ConnectionInformation

...

ContentTag

...

...

...

SegmentInformation (variable)

...

MessageHeader (8 bytes): A MESSAGE_HEADER structure (section 2.2.1.1), with the Type field set to 0x0002.

ConnectionInformation (8 bytes): A CONNECTION_INFORMATION structure (section 2.2.1.2).

ContentTag (16 bytes): A structure consisting of 16 bytes of opaque data.

This field contains a tag supplied by a higher-layer protocol on the client. The tag is added to the information being sent by the client to the hosted cache. The data is then passed to the higher-layer application on the hosted cache.

SegmentInformation (variable): A Content Information data structure ([MS-PCCRC] section 2.3).

This field describes the single segment being offered, with information retrieved from the content server. The SegmentInformation field also contains the subfields of the segment's Content Information data structure, SegmentDescription, and SegmentContentBlocks, as specified in [MS-PCCRC] sections 2.3.1.1 and 2.3.1.2, respectively:

  • The Version and dwHashAlgo fields MUST be copied directly from the client's Content Information data structure for the content containing the segment being offered.

  • The dwOffsetInFirstSegment field MUST be set to the offset in the segment being offered at which the content range begins.

  • The dwReadBytesInLastSegment field MUST be set to the total number of bytes in the segment being offered.

  • The cSegments field MUST be set to 1.

  • The segments field MUST contain the single SegmentDescription ([MS-PCCRC] section 2.3.1.1) in the original Content Information data structure corresponding to the segment being offered.

  • The blocks field MUST contain a single SegmentContentBlocks ([MS-PCCRC] section 2.3.1.2) corresponding to the segment being offered, copied from the blocks field in the original Content Information data structure.