]> git.ipfire.org Git - thirdparty/squid.git/commit - src/Transients.cc
Store API and layout polishing. No functionality changes intended.
authorAlex Rousskov <rousskov@measurement-factory.com>
Thu, 19 Nov 2015 05:51:49 +0000 (22:51 -0700)
committerAlex Rousskov <rousskov@measurement-factory.com>
Thu, 19 Nov 2015 05:51:49 +0000 (22:51 -0700)
commitdc12e84bcedce7d225212499ed6299bc74132b78
treeb5971c9612faf36f8589b45510dd28428ebbb91c
parent305fcd0143a1d5f88fd379601e8cf504e4c670f4
parent6b7290d61e5aa5a542260465c9aea6bf10ef72a5
Store API and layout polishing. No functionality changes intended.

Fixes "any Store is a Root" API that forced us to bloat the base
Store class with methods needed only in Store::Root() Controller.
Unblocks bug #7 (cached headers update) fixes.

Class renaming and source file movement map:

  src/SwapDir.h => src/store/Disk.h (and Controller.h)
  src/SwapDir.cc => src/store/Disk.cc
  src/StoreHashIndex.h => src/store/Disks.h (and LocalSearch.h)
  src/store_dir.cc => src/store/Controller.cc (and Disks.cc, LocalSearch.cc)
  src/disk.* => src/fs_io.*

The Store namespace hierarchy now looks like this:

* Storage: Any storage. Similar to the old Store class, but leaner.
* Controller: Combined memory/disks caches and transients. Root API.
* Controlled: Memory cache, disk(s) cache, or transient Storage.
* Disks: All disk caches combined.
* Disk: A single cache_dir Storage.
* Memory: A memory cache.
* Transients: Entries capable of being collapsed for CF.

Please see merged branch commits for details.
configure.ac
src/Makefile.am
src/cache_cf.cc
src/main.cc
src/mem/old_api.cc
src/ssl/helper.cc
src/stat.cc
src/store.cc
src/store_digest.cc
src/tools.cc