3.3.6.2 Durable Open Scavenger Timer Event

The durable open scavenger timer MUST be started (if it is not already active) when the transport connection associated with a durable open is lost.

When the durable open scavenger timer expires, the server MUST scan for durable opens that have not been reclaimed by a client within the configured time. It does this by enumerating all opens in the GlobalOpenTable. For each open, if Open.IsDurable is TRUE and Open.DurableOpenScavengerTimeout is earlier than the system time, the server MUST close the open as specified in section 3.3.4.17. The server MUST guarantee that the open is not closed before the timer expires. The configured time, if any, sent to the client is a lower bound.

If there is an Open in GlobalOpenTable where Open.IsDurable is TRUE, and connection is available as specified in section 3.3.4.1.6, the timer MUST be restarted.