3.5.5.2.1.3 Processing Details

For each entry in DownloadEntryVector, the server MUST perform the following:

  • Attempt to retrieve the file data in an implementation-specific manner.

  • Construct the DOWNLOAD_RESPONSE_ENTRY structure.

  • Set SyncItemId to the value received in the request.

  • Set Data to empty if the server is unable to retrieve the file data. Otherwise, set Data to the retrieved data.

  • Set DataLength to the size of Data.

  • Set Result to an implementation-specific error code if the server is unable to retrieve the file data. Otherwise, set Result to zero.

  • Set Hash to zero if the server is unable to retrieve the file data. Otherwise, the server MUST generate an identifier by computing MD5 hash of the retrieved data as specified in [RFC1321]. Server MUST serialize the identifier in SYNC_MD5HASH format as specified in section 2.2.2.15 and set Hash to this identifier.

The server MUST insert all the entries into DownloadResponseEntryVector in the response body. The server MUST set the HTTP status code to 200. The server MUST send the response to the client.