-
Dag Erling Smørgrav authored
- Wrap the storage code so we don't need to duplicate the "toss out some old crap and try again" logic everywhere. This will also help when / if we decide to add support for multiple concurrent storage arenas. - While I'm at it, implement sma_trim(). - Rework the interaction between the LRU and expiry code. Instead of placing objects retired by the LRU on death row, immediately terminate them. - Give the LRU code its own fake session and worker so we don't have to pass it a session pointer. - Rework the LRU API, and add LRU_DiscardOne() which discards a single object. This is what the stevedore code uses. Known or suspected issues: - The LRU and expiry code should use the same mutex, and / or the possiblity for races between them should be examined closely. - LRU_Init() needs to be looked at and possibly moved. - LRU_DiscardSpace() and LRU_DiscardTime() are unused and quite possibly useless. - Logging and statistics related to the LRU need more attention. - The stevedore API can probably be improved. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1586 d4fa192b-c00b-0410-8231-f00ffab90ce4
059e1bdf