18.104.22.168 Server Requests Canceling an Operation
The server provides:
No information is returned.
Cancellation provides the ability for operations that block for extended periods of time to be terminated, thus providing better end-user responsiveness. How operation cancellation is implemented is object store specific.
The Object Store MUST maintain a list of waiting operations that can be canceled by adding them to the CancelableOperations.CancelableOperationList as defined in section 22.214.171.124.
Each operation receives an implementation-specific identifier (IORequest) that uniquely identifies an in-progress I/O operation, as specified in section 2.1.5.
When a cancellation request is received, scan CancelableOperations.CancelableOperationList looking for an operation CanceledOperation that matches IORequest. If found, CanceledOperation MUST be removed from CancelableOperations.CancelableOperationList and CanceledOperation MUST be failed with STATUS_CANCELED returned for the status of the canceled operation. If not found, the cancel request returns performing no action.<168>