Squid internals The Storage Manager (src/store*.c) Swapping an object out - storeSwapOut() storeSwapOut() is called by storeAppend() to swap object data out storeSwapOut() does the following decides whether the object is able to be swapped out or not decides whether to delay swapping out in case a "better" choice for the storedir can be made -> per-storedir "maxobjsize" handles creating the disk object, packing and writing the object metadata -> through storeSwapOutStart() decides how much of the object can be swapped out frees the unused lead parts of an object if the object is too big to keep in memory -> config parameter 'maximum_object_size_in_memory' If storeSwapOut() is called on an object which can not be swapped out, it simply returns