|
Squid Web Cache master
|
#include <DiskIOModule.h>
Public Types | |
| typedef std::vector< DiskIOModule * >::iterator | iterator |
| typedef std::vector< DiskIOModule * >::const_iterator | const_iterator |
Public Member Functions | |
| DiskIOModule () | |
| virtual | ~DiskIOModule () |
| virtual void | init ()=0 |
| virtual void | gracefulShutdown ()=0 |
| virtual DiskIOStrategy * | createStrategy ()=0 |
| virtual char const * | type () const =0 |
| DiskIOModule (DiskIOModule const &) | |
| DiskIOModule & | operator= (DiskIOModule const &) |
Static Public Member Functions | |
| static void | SetupAllModules () |
| static void | ModuleAdd (DiskIOModule &) |
| static void | FreeAllModules () |
| static DiskIOModule * | Find (char const *type) |
| static DiskIOModule * | FindDefault () |
| static std::vector< DiskIOModule * > const & | Modules () |
Static Protected Member Functions | |
| static void | RegisterAllModulesWithCacheManager (void) |
Static Private Member Functions | |
| static std::vector< DiskIOModule * > & | GetModules () |
Static Private Attributes | |
| static std::vector< DiskIOModule * > * | _Modules = nullptr |
Definition at line 20 of file DiskIOModule.h.
| typedef std::vector<DiskIOModule*>::const_iterator DiskIOModule::const_iterator |
Definition at line 37 of file DiskIOModule.h.
| typedef std::vector<DiskIOModule*>::iterator DiskIOModule::iterator |
Definition at line 36 of file DiskIOModule.h.
| DiskIOModule::DiskIOModule | ( | ) |
We cannot call ModuleAdd(*this) here as the virtual methods are not yet available. We leave that to SetupAllModules() later.
Definition at line 36 of file DiskIOModule.cc.
|
inlinevirtual |
Definition at line 39 of file DiskIOModule.h.
| DiskIOModule::DiskIOModule | ( | DiskIOModule const & | ) |
Definition at line 25 of file stub_libdiskio.cc.
References STUB.
|
pure virtual |
Implemented in BlockingDiskIOModule, DiskDaemonDiskIOModule, DiskThreadsDiskIOModule, IpcIoDiskIOModule, and MmappedDiskIOModule.
|
static |
Definition at line 114 of file DiskIOModule.cc.
References GetModules(), and type().
Referenced by Fs::Ufs::UFSSwapDir::UFSSwapDir(), FindDefault(), Rock::SwapDir::init(), Rock::SwapDir::needsDiskStrand(), and TestUfs::testUfsSearch().
|
static |
Find any usable disk module. This will look for the 'best' available module for this system.
Best IO options are in order:
Definition at line 124 of file DiskIOModule.cc.
References Find().
|
static |
Called when a graceful shutdown is to occur of each fs module.
Definition at line 104 of file DiskIOModule.cc.
References GetModules(), and gracefulShutdown().
Referenced by SquidShutdown().
|
staticprivate |
Definition at line 91 of file DiskIOModule.cc.
References _Modules.
Referenced by Find(), FreeAllModules(), ModuleAdd(), Modules(), and SetupAllModules().
|
pure virtual |
Implemented in BlockingDiskIOModule, DiskDaemonDiskIOModule, DiskThreadsDiskIOModule, IpcIoDiskIOModule, and MmappedDiskIOModule.
Referenced by FreeAllModules().
|
pure virtual |
Implemented in BlockingDiskIOModule, DiskDaemonDiskIOModule, DiskThreadsDiskIOModule, IpcIoDiskIOModule, and MmappedDiskIOModule.
|
static |
Definition at line 72 of file DiskIOModule.cc.
References assert, GetModules(), and type().
Referenced by BlockingDiskIOModule::BlockingDiskIOModule(), DiskDaemonDiskIOModule::DiskDaemonDiskIOModule(), DiskThreadsDiskIOModule::DiskThreadsDiskIOModule(), IpcIoDiskIOModule::IpcIoDiskIOModule(), and MmappedDiskIOModule::MmappedDiskIOModule().
|
static |
Definition at line 85 of file DiskIOModule.cc.
References GetModules().
| DiskIOModule & DiskIOModule::operator= | ( | DiskIOModule const & | ) |
Definition at line 26 of file stub_libdiskio.cc.
References STUB.
|
staticprotected |
|
static |
Poke all compiled modules for self-setup
Definition at line 45 of file DiskIOModule.cc.
References BlockingDiskIOModule::GetInstance(), DiskDaemonDiskIOModule::GetInstance(), DiskThreadsDiskIOModule::GetInstance(), IpcIoDiskIOModule::GetInstance(), MmappedDiskIOModule::GetInstance(), and GetModules().
Referenced by SquidMain().
|
pure virtual |
Implemented in BlockingDiskIOModule, DiskDaemonDiskIOModule, DiskThreadsDiskIOModule, IpcIoDiskIOModule, and MmappedDiskIOModule.
Referenced by Fs::Ufs::UFSSwapDir::changeIO(), Find(), and ModuleAdd().
|
staticprivate |
Definition at line 57 of file DiskIOModule.h.
Referenced by GetModules().