• Dag Erling Smørgrav's avatar
    Mostly finish the LRU code and its integration: · 059e1bdf
    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
Name
Last commit
Last update
bin Loading commit data...
debian Loading commit data...
doc Loading commit data...
etc Loading commit data...
include Loading commit data...
lib Loading commit data...
man Loading commit data...
redhat Loading commit data...
ChangeLog Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile.am Loading commit data...
README Loading commit data...
autogen.des Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...