3.1.4.5 Receiving a DELETE_NOTIFY Message

The DELETE_NOTIFY message is received by the server as part of a LnkSvrMessage request, as defined in section 3.1.4.1.

The server uses the information in this message to update the FileTable used to process SEARCH requests (see section 3.1.4.6).

This message consists of a TRKSVR_CALL_DELETE structure (defined in section 2.2.12.4). In this structure, the adroidBirth array field represents an array of FileID values. In this message, the client notifies the server that each of the files associated with this FileID has been deleted.

For each of the FileID values, if each of the following is true:

  • The RecentTableUpdateCount has not reached its maximum value.

  • There is an entry in the FileTable whose PreviousFileLocation value is the FileID specified in this request.

  • The VolumeID in the FileID matches the VolumeID of an entry in the ServerVolumeTable, and the VolumeOwner for that entry is equal to the RequestMachine. (As defined in section 1.1, a FileID has an embedded VolumeID value within it.)

then the entry found in the FileTable MUST be removed, and the RecentTableUpdateCount MUST be incremented. If as previously described the RecentTableUpdateCount reaches its maximum value, the server MUST NOT process any more FileID values, and MUST return to the client with a failure return value.

If the previous step does not result in a failure—that is, the RecentTableUpdateCount does not reach its maximum value—then the server MUST set the cdroidBirth field of the TRKSVR_CALL_DELETE structure to zero.