3.8.1 Lock Policy for Independent Devices

The following describes how the categories of requests are handled, in each of the lock states of a service. Note that although the description refers to queues and other implied implementation characteristics, this is only for convenience; no particular implementation techniques are required.

Service state: UNLOCKED

Service state: LOCK_PENDING

Service state: LOCKED

Note that most requests include a timeout parameter which must be managed appropriately, i.e., when the specified time expires, the request is rejected with the error code WFS_ERR_TIMEOUT. The timeout parameter is particularly important with the WFSLock request, since it allows applications to set a maximum time to wait for a lock to be granted, to allow prevention of deadlock situations when requesting locks of multiple devices.