1 /* 2 * Copyright (C) 1996-2021 The Squid Software Foundation and contributors 3 * 4 * Squid software is distributed under GPLv2+ license and includes 5 * contributions from numerous individuals and organizations. 6 * Please see the COPYING and CONTRIBUTORS files for details. 7 */ 8 9 #ifndef TEST_TESTSWAPDIR 10 #define TEST_TESTSWAPDIR 11 12 #include "store/Disk.h" 13 14 class TestSwapDir : public SwapDir 15 { 16 17 public: TestSwapDir()18 TestSwapDir() : SwapDir("test"), statsCalled (false) {} 19 20 bool statsCalled; 21 22 /* Store::Disk API */ 23 virtual uint64_t maxSize() const override; 24 virtual uint64_t currentSize() const override; 25 virtual uint64_t currentCount() const override; 26 virtual void stat(StoreEntry &) const override; finalizeSwapoutSuccess(const StoreEntry &)27 virtual void finalizeSwapoutSuccess(const StoreEntry &) override {} finalizeSwapoutFailure(StoreEntry &)28 virtual void finalizeSwapoutFailure(StoreEntry &) override {} 29 virtual void reconfigure() override; 30 virtual void init() override; 31 virtual bool unlinkdUseful() const override; 32 virtual bool canStore(const StoreEntry &e, int64_t diskSpaceNeeded, int &load) const override; 33 virtual StoreIOState::Pointer createStoreIO(StoreEntry &, StoreIOState::STFNCB *, StoreIOState::STIOCB *, void *) override; 34 virtual StoreIOState::Pointer openStoreIO(StoreEntry &, StoreIOState::STFNCB *, StoreIOState::STIOCB *, void *) override; 35 virtual void parse(int, char*) override; evictCached(StoreEntry &)36 virtual void evictCached(StoreEntry &) override {} evictIfFound(const cache_key *)37 virtual void evictIfFound(const cache_key *) override {} hasReadableEntry(const StoreEntry &)38 virtual bool hasReadableEntry(const StoreEntry &) const override { return false; } 39 }; 40 41 typedef RefCount<TestSwapDir> TestSwapDirPointer; 42 43 #endif /* TEST_TESTSWAPDIR */ 44 45