Skip to content
Snippets Groups Projects
Commit 4b5f4f4e authored by chris's avatar chris
Browse files

parser caching update

This patch primarily updates p_cached_xhtml() and p_cached_instructions() to
allow their caching logic to be surrounded by an event trigger.

p_cached_xhtml() has been rewritten as the more general p_cached_output() to
support other render output formats besides 'xhtml'. All calls to
p_cached_xhtml() have been changed to refer to the new function.

New event:

name:        PARSER_CACHE_USE
data:        cache object (see below)
action:      determine if cache file can be used
preventable: yes
result:      bool, true to use cache file, false otherwise

Cache operations have been generalised in a new class, cache, extended to
cache_parser, cache_renderer & cache_instructions. Details can be found in
inc/cache.php

For handling of above event, key properties are:
- page, if present the wiki page id,
        may not always be present, e.g. when called for locale xhtml files
- file, source file
- mode, renderer mode (e.g. 'xhtml') or 'i' for instructions

Other changes:
- cache class counts cache hits against attempts, results are stored in
  {cache_dir}/cache_stats.txt
- adds metadata dependency to renderer page cache
- replaces purgefile dependency for renderer cache with metadata
  'relation references' (internal link) dependency for wiki pages only

darcs-hash:20060911021418-9b6ab-19601ed194b8c8e45236ab72c3e23d78bf777e6c.gz
parent c6ea345d
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment