Squid internals The Storage Manager (src/store*.c) Replacement Policies - API repl = createRemovalPolicy(policyname); /* Create a repl object */ repl->Add(repl, object, replnode); /* Add the object into the replacement policy */ repl->Remove(repl, object, replnode); /* Remove the object from the replacement policy */ repl->Referenced(repl, object, replnode); /* An object has been referenced */ repl->Dereferenced(repl, object, replnode); /* An object has been dereferenced */ walker = repl->WalkInit(repl); /* Create a walker (eg to flush the object list to disk) */ object = walker->Next(walker); /* get the next object in the repl list */ walker = repl->PurgeInit(repl); /* Create a purge walker (used when deleting the objects) */