3.3.4.14 RdcGetFileData Completes
This method uses the Remote Differential Compression Algorithm (as specified in [MS-RDC]) when replicating a changed file. The data stream returned by the RdcGetFileData method is composed of ranges from the marshaled source file.
Upon successful completion, the client has successfully received file data as specified by previous calls to the RdcPushSourceNeeds method.
Actions Triggered: The data stream is broken into blocks of compressed and uncompressed data. To receive all the source data requested by the RdcPushSourceNeeds method call, a client MUST call the RdcGetFileData method, possibly repeatedly, until the server returns zero as the value of the RdcGetFileData method’s sizeReturned output parameter.
Sequencing: This method is used after a server context is established via the InitializeFileTransferAsync method and after the set of source needs for this file has been sent to the server via the RdcPushSourceNeeds method.
Error Handling: The following table summarizes the set of errors returned by the RdcGetFileData method that cause a client to behave in specific ways.
|
Error code |
Client response |
|---|---|
|
0x00000000 ERROR_SUCCESS |
The client MUST perform the actions listed under the Actions Triggered heading. |
|
0x00002344 FRS_ERROR_CONTENTSET_NOT_FOUND |
The client MUST remain in the Polling connection state (as specified in section 3.3.1.1) and enter the Restart replicated folder session state (as specified in section 3.3.1.2). |
|
0x00002358 FRS_ERROR_XPRESS_INVALID_DATA |
The client MUST retry the download, setting the stagingPolicy parameter to RESTAGING_REQUIRED. |
|
0x000006A4 – 0x00000788 RPC errors |
The client MUST transition to the Disconnected connection state. The client SHOULD try to re-establish the connection by calling the EstablishConnection method after a time-out interval of its choice. |
|
Any other non-zero error code |
The client MUST retry the download. |