• Dridi Boukelmoune's avatar
    Introduce a new "busy" VCL temperature · 57a5b9c7
    Dridi Boukelmoune authored
    Now that VCLs can be referenced, there are two different situations
    stalling the cooldown. The "cooling" one is kept for VCLs that have
    received a COLD event, and the "busy" one is introduced to wait for
    ongoing transactions.
    
    Basically, if there are transactions, the VCL is still active even
    though it's not *the* active VCL and should therefore be considered
    warm. This guarantees that WARM and COLD events are balanced, and
    also that a "busy" VCL doesn't need to warm up if it is set to warm
    again.
    
    The new VCL temperature engine looks like this:
    
      .----------W>---------------.
      |              .--W>---.    v
    init ---> cold --|       |-- warm --.
              ^  ^   '---<C--'    |     |
              |  |                |     |
              |  '--- cooling <C--'     |
              |         ^               |
              |         C               |
              |         |    .---<---.  |
              '--<C-- busy --|       |--'
                             '--->---'
    
    The transitions marked with a 'W' or a 'C' are the one dispatching
    WARM and COLD events respectively.
    
    Since the "busy" state is considered warm, VMODs should operate as
    such and backend creation remains possible.
    57a5b9c7
Name
Last commit
Last update
..
cache Loading commit data...
common Loading commit data...
hash Loading commit data...
http1 Loading commit data...
mgt Loading commit data...
proxy Loading commit data...
storage Loading commit data...
waiter Loading commit data...
Makefile.am Loading commit data...
Makefile.phk Loading commit data...
builtin.vcl Loading commit data...
flint.lnt Loading commit data...
flint.sh Loading commit data...
vclflint.lnt Loading commit data...
vclflint.sh Loading commit data...