2.1.5 Higher-Layer Triggered Events

This section describes operations the object store performs in response to events triggered by higher-layer applications. The higher-layer application for this document is generally a server application that is processing requests for a local or remote client.

In performing these operations, the object store MAY make persistent changes to objects described in the abstract data model, section 2.1.1. If any operation fails, the object store SHOULD undo any persistent changes that were made prior to the failure, unless specifically noted otherwise in the operation.

In addition to the parameters explicitly listed, each operation in this section takes an implementation-specific parameter (IORequest) that uniquely identifies the in-progress I/O operation. The caller generates the IORequest value and passes it in as an additional parameter to the event. The IORequest parameter is used to support operation cancellation, as specified in section 2.1.5.19.

When an operation completes or is canceled the object store MUST remove the associated IORequest operation from CancelableOperations.CancelableOperationList.