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:

  1. Set URL_OFFSET and URL_LENGTH to the current range’s offset and length respectively.

  2. 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

  3. Increment RECORD_OFFSET by URL_LENGTH.

  4. 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.