]> git.ipfire.org Git - thirdparty/squid.git/blame - src/DiskIO/DiskDaemon/DiskdAction.h
Source Format Enforcement (#532)
[thirdparty/squid.git] / src / DiskIO / DiskDaemon / DiskdAction.h
CommitLineData
8822ebee 1/*
77b1029d 2 * Copyright (C) 1996-2020 The Squid Software Foundation and contributors
8822ebee 3 *
bbc27441
AJ
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.
8822ebee
AR
7 */
8
bbc27441
AJ
9/* DEBUG: section 79 Squid-side DISKD I/O functions. */
10
8822ebee
AR
11#ifndef SQUID_DISKD_ACTION_H
12#define SQUID_DISKD_ACTION_H
13
14#include "ipc/forward.h"
8822ebee 15#include "mgr/Action.h"
602d9612 16#include "mgr/forward.h"
8822ebee 17
8822ebee
AR
18/// store disk daemon stats
19class DiskdActionData
20{
21public:
22 DiskdActionData();
23 DiskdActionData& operator += (const DiskdActionData& stats);
24
25public:
26 double sent_count;
27 double recv_count;
28 double max_away;
29 double max_shmuse;
30 double open_fail_queue_len;
31 double block_queue_len;
32 double open_ops;
33 double open_success;
34 double open_fail;
35 double create_ops;
36 double create_success;
37 double create_fail;
38 double close_ops;
39 double close_success;
40 double close_fail;
41 double unlink_ops;
42 double unlink_success;
43 double unlink_fail;
44 double read_ops;
45 double read_success;
46 double read_fail;
47 double write_ops;
48 double write_success;
49 double write_fail;
50};
51
52/// implement aggregated 'diskd' action
53class DiskdAction: public Mgr::Action
54{
55protected:
56 DiskdAction(const Mgr::CommandPointer &aCmd);
57
58public:
59 static Pointer Create(const Mgr::CommandPointer &aCmd);
60 /* Action API */
61 virtual void add(const Mgr::Action& action);
62 virtual void pack(Ipc::TypedMsgHdr& hdrMsg) const;
63 virtual void unpack(const Ipc::TypedMsgHdr& hdrMsg);
64
65protected:
66 /* Action API */
67 virtual void collect();
68 virtual void dump(StoreEntry* entry);
69
70private:
71 DiskdActionData data;
72};
73
74#endif /* SQUID_DISKD_ACTION_H */
f53969cc 75