#include <DiskIOModule.h>

Inheritance diagram for DiskIOModule:
Collaboration diagram for DiskIOModule:

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 DiskIOStrategycreateStrategy ()=0
 
virtual char const * type () const =0
 
 DiskIOModule (DiskIOModule const &)
 
DiskIOModuleoperator= (DiskIOModule const &)
 

Static Public Member Functions

static void SetupAllModules ()
 
static void ModuleAdd (DiskIOModule &)
 
static void FreeAllModules ()
 
static DiskIOModuleFind (char const *type)
 
static DiskIOModuleFindDefault ()
 
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
 

Detailed Description

Definition at line 20 of file DiskIOModule.h.

Member Typedef Documentation

◆ const_iterator

Definition at line 37 of file DiskIOModule.h.

◆ iterator

Definition at line 36 of file DiskIOModule.h.

Constructor & Destructor Documentation

◆ DiskIOModule() [1/2]

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.

◆ ~DiskIOModule()

virtual DiskIOModule::~DiskIOModule ( )
inlinevirtual

Definition at line 39 of file DiskIOModule.h.

◆ DiskIOModule() [2/2]

DiskIOModule::DiskIOModule ( DiskIOModule const &  )

Definition at line 25 of file stub_libdiskio.cc.

References STUB.

Member Function Documentation

◆ createStrategy()

virtual DiskIOStrategy * DiskIOModule::createStrategy ( )
pure virtual

◆ Find()

◆ FindDefault()

DiskIOModule * DiskIOModule::FindDefault ( )
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().

Referenced by TestDiskIO::testFindDefault().

◆ FreeAllModules()

void DiskIOModule::FreeAllModules ( )
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().

◆ GetModules()

std::vector< DiskIOModule * > & DiskIOModule::GetModules ( )
staticprivate

Definition at line 91 of file DiskIOModule.cc.

References _Modules.

Referenced by Find(), FreeAllModules(), ModuleAdd(), Modules(), and SetupAllModules().

◆ gracefulShutdown()

virtual void DiskIOModule::gracefulShutdown ( )
pure virtual

◆ init()

virtual void DiskIOModule::init ( )
pure virtual

◆ ModuleAdd()

◆ Modules()

std::vector< DiskIOModule * > const & DiskIOModule::Modules ( )
static

Definition at line 85 of file DiskIOModule.cc.

References GetModules().

◆ operator=()

DiskIOModule & DiskIOModule::operator= ( DiskIOModule const &  )

Definition at line 26 of file stub_libdiskio.cc.

References STUB.

◆ RegisterAllModulesWithCacheManager()

static void DiskIOModule::RegisterAllModulesWithCacheManager ( void  )
staticprotected

◆ SetupAllModules()

void DiskIOModule::SetupAllModules ( )
static

◆ type()

virtual char const * DiskIOModule::type ( ) const
pure virtual

Member Data Documentation

◆ _Modules

std::vector< DiskIOModule * > * DiskIOModule::_Modules = nullptr
staticprivate

Definition at line 57 of file DiskIOModule.h.

Referenced by GetModules().


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors