]> git.ipfire.org Git - thirdparty/squid.git/blame - src/mgr/StoreIoAction.h
Boilerplate: update copyright blurbs on src/
[thirdparty/squid.git] / src / mgr / StoreIoAction.h
CommitLineData
8822ebee 1/*
bbc27441 2 * Copyright (C) 1996-2014 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 16 Cache Manager API */
10
8822ebee
AR
11#ifndef SQUID_MGR_STORE_IO_ACTION_H
12#define SQUID_MGR_STORE_IO_ACTION_H
13
14#include "mgr/Action.h"
15
8822ebee
AR
16namespace Mgr
17{
18
19/// Store IO interface data
20class StoreIoActionData
21{
22public:
23 StoreIoActionData();
24 StoreIoActionData& operator += (const StoreIoActionData& stats);
25
26public:
27 double create_calls;
28 double create_select_fail;
29 double create_create_fail;
30 double create_success;
31};
32
33/// implement aggregated 'store_io' action
34class StoreIoAction: public Action
35{
36protected:
37 StoreIoAction(const CommandPointer &cmd);
38
39public:
40 static Pointer Create(const CommandPointer &cmd);
41 /* Action API */
42 virtual void add(const Action& action);
43 virtual void pack(Ipc::TypedMsgHdr& msg) const;
44 virtual void unpack(const Ipc::TypedMsgHdr& msg);
45
46protected:
47 /* Action API */
48 virtual void collect();
49 virtual void dump(StoreEntry* entry);
50
51private:
52 StoreIoActionData data;
53};
54
55} // namespace Mgr
56
57#endif /* SQUID_MGR_STORE_IO_ACTION_H */