]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/fs/ufs/UFSStrategy.h
2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
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.
9 #ifndef SQUID_FS_UFS_UFSSTRATEGY_H
10 #define SQUID_FS_UFS_UFSSTRATEGY_H
12 #include "DiskIO/DiskFile.h"
13 #include "StoreIOState.h"
27 UFSStrategy (DiskIOStrategy
*);
28 virtual ~UFSStrategy ();
29 virtual bool shedLoad();
33 StoreIOState::Pointer
createState(SwapDir
*SD
, StoreEntry
*e
, StoreIOState::STIOCB
* callback
, void *callback_data
) const;
35 virtual RefCount
<DiskFile
> newFile (char const *path
);
36 StoreIOState::Pointer
open(SwapDir
*, StoreEntry
*, StoreIOState::STFNCB
*,
37 StoreIOState::STIOCB
*, void *);
38 StoreIOState::Pointer
create(SwapDir
*, StoreEntry
*, StoreIOState::STFNCB
*,
39 StoreIOState::STIOCB
*, void *);
41 virtual void unlinkFile (char const *);
44 virtual int callback();
46 /** Init per-instance logic */
49 /** cachemgr output on the IO instance stats */
50 virtual void statfs(StoreEntry
& sentry
)const;
52 /** The io strategy in use */
57 friend class UFSSwapDir
;
60 UFSStrategy(); //disabled
61 UFSStrategy(UFSStrategy
const &); //disabled
62 UFSStrategy
&operator=(UFSStrategy
const &); //disabled
69 #endif /* SQUID_FS_UFS_UFSSTRATEGY_H */