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, Open.Connection is NULL, and Open.DurableOpenTimeout is earlier than the current time, the server MUST close the open as specified in section

The timer MUST then be restarted to expire again at the time of the next durable open time-out. If no other durable opens have Open.Connection equal to NULL, the timer MUST NOT be restarted.