3.6.7.1 Result Found on Peers
When the BITS Peer-Caching: Content Retrieval Protocol client reports RESULT_FOUND ([MS-BPCR] section 3.1.7.3.2), update the table of cached contents with the returned results, as follows.
Set RECORD_OFFSET to zero.
Iterate over each range in the cache record:
Set URL_OFFSET and URL_LENGTH to the current range’s offset and length respectively.
For all rows of APPLICATION_RANGES whose offset and length match URL_OFFSET and URL_LENGTH, update the corresponding rows in the Table of Contents as follows:
Row.Offset = RECORD_OFFSET
Row.Source = peer server address
Row.Record = peer record ID
Increment RECORD_OFFSET by URL_LENGTH.
If the cache record contains another range, then advance to the next range and go to step 1.
If all rows of APPLICATION_RANGE have a non-NULL Source field, then cancel the FileSearchRequest element in Progress as specified in [MS-BPCR] section 3.1.4.2 and set STATE to STATE_DOWNLOAD.