Feature description
Expired notification channels are currently removed lazily when their identifiers are read. If a channel is never accessed again, its record and topic index entry can remain in storage indefinitely.
Add a configurable periodic sweep that enumerates stored channels, removes entries that are still expired after revalidation under their channel lock, and shuts its timer down during server finalization. The sweep interval should be configurable and disabling it should remain possible for storage backends where enumeration is undesirable.
Feature description
Expired notification channels are currently removed lazily when their identifiers are read. If a channel is never accessed again, its record and topic index entry can remain in storage indefinitely.
Add a configurable periodic sweep that enumerates stored channels, removes entries that are still expired after revalidation under their channel lock, and shuts its timer down during server finalization. The sweep interval should be configurable and disabling it should remain possible for storage backends where enumeration is undesirable.