Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Allow the cache core to tag a cache entry to be served stale, and for how long. This functionality would be exposed through three paths:
  • *# Explicitly set via a plugin using new APIs.
    1. Implicitly set via the stale-while-revalidate Cache-Control: header as specific in RFC5861. This could be overriden by a plugin above.
    2. Defaulted via records.config and/or hosting.config settings. If in records.config, it could be configured per-remap via conf_remap plugin.
  • Allow the HTTP State Machine to restart the cache-sm any number of times (not just once or twice). This requires both changes to the core, and additions to the APIs. It's a more generic implementation to the current 2nd cache state machine.

...

There's a large amount of code around this. I'm suggesting we remove the 2nd cache state machine, and reduce the number of URL objects stored. Instead, we store a single INK_MD5 for the cache key. We should also investigate how the existing cache key (TSCacheKey, for non-HTTP caches) can possibly interact with this.