Squid Web Cache
master
Loading...
Searching...
No Matches
DiskDaemonDiskIOModule.cc
Go to the documentation of this file.
1
/*
2
* Copyright (C) 1996-2025 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
#include "
squid.h
"
10
#include "
DiskDaemonDiskIOModule.h
"
11
#include "
DiskdIOStrategy.h
"
12
#include "
DiskIO/DiskDaemon/DiskdAction.h
"
13
#include "
mgr/Registration.h
"
14
#include "
Store.h
"
15
16
DiskDaemonDiskIOModule::DiskDaemonDiskIOModule
() : initialised(false)
17
{
18
ModuleAdd
(*
this
);
19
}
20
21
DiskDaemonDiskIOModule
&
22
DiskDaemonDiskIOModule::GetInstance
()
23
{
24
return
Instance
;
25
}
26
27
void
28
DiskDaemonDiskIOModule::init
()
29
{
30
/* We may be reused - for instance in coss - eventually.
31
* When we do, we either need per-using-module stats (
32
* no singleton pattern), or we need to refcount the
33
* initialisation level and handle multiple clients.
34
* RBC - 20030718.
35
*/
36
assert
(!
initialised
);
37
memset(&
diskd_stats
,
'\0'
,
sizeof
(
diskd_stats
));
38
39
initialised
=
true
;
40
41
registerWithCacheManager
();
42
}
43
44
void
45
DiskDaemonDiskIOModule::registerWithCacheManager
(
void
)
46
{
47
Mgr::RegisterAction
(
"diskd"
,
"DISKD Stats"
, &
DiskdAction::Create
, 0, 1);
48
}
49
50
void
51
DiskDaemonDiskIOModule::gracefulShutdown
()
52
{
53
initialised
=
false
;
54
}
55
56
DiskIOStrategy
*
57
DiskDaemonDiskIOModule::createStrategy
()
58
{
59
return
new
DiskdIOStrategy
();
60
}
61
62
DiskDaemonDiskIOModule
DiskDaemonDiskIOModule::Instance
;
63
64
char
const
*
65
DiskDaemonDiskIOModule::type
()
const
66
{
67
return
"DiskDaemon"
;
68
}
69
DiskDaemonDiskIOModule.h
DiskdAction.h
DiskdIOStrategy.h
Registration.h
Store.h
assert
#define assert(EX)
Definition
assert.h:17
DiskDaemonDiskIOModule
Definition
DiskDaemonDiskIOModule.h:15
DiskDaemonDiskIOModule::init
void init() override
Definition
DiskDaemonDiskIOModule.cc:28
DiskDaemonDiskIOModule::registerWithCacheManager
void registerWithCacheManager(void)
Definition
DiskDaemonDiskIOModule.cc:45
DiskDaemonDiskIOModule::GetInstance
static DiskDaemonDiskIOModule & GetInstance()
Definition
DiskDaemonDiskIOModule.cc:22
DiskDaemonDiskIOModule::createStrategy
DiskIOStrategy * createStrategy() override
Definition
DiskDaemonDiskIOModule.cc:57
DiskDaemonDiskIOModule::DiskDaemonDiskIOModule
DiskDaemonDiskIOModule()
Definition
DiskDaemonDiskIOModule.cc:16
DiskDaemonDiskIOModule::Instance
static DiskDaemonDiskIOModule Instance
Definition
DiskDaemonDiskIOModule.h:26
DiskDaemonDiskIOModule::initialised
bool initialised
Definition
DiskDaemonDiskIOModule.h:27
DiskDaemonDiskIOModule::gracefulShutdown
void gracefulShutdown() override
Definition
DiskDaemonDiskIOModule.cc:51
DiskDaemonDiskIOModule::type
char const * type() const override
Definition
DiskDaemonDiskIOModule.cc:65
DiskIOModule::ModuleAdd
static void ModuleAdd(DiskIOModule &)
Definition
DiskIOModule.cc:72
DiskIOStrategy
Definition
DiskIOStrategy.h:20
DiskdAction::Create
static Pointer Create(const Mgr::CommandPointer &aCmd)
Definition
DiskdAction.cc:60
DiskdIOStrategy
Definition
DiskdIOStrategy.h:43
diskd_stats
diskd_stats_t diskd_stats
Definition
DiskdIOStrategy.cc:38
Mgr::RegisterAction
void RegisterAction(char const *action, char const *desc, OBJH *handler, Protected, Atomic, Format)
Definition
Registration.cc:54
squid.h
squid
src
DiskIO
DiskDaemon
DiskDaemonDiskIOModule.cc
Generated by
1.9.8