Squid Web Cache master
Loading...
Searching...
No Matches
StoreIoAction.h
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/* DEBUG: section 16 Cache Manager API */
10
11#ifndef SQUID_SRC_MGR_STOREIOACTION_H
12#define SQUID_SRC_MGR_STOREIOACTION_H
13
14#include "mgr/Action.h"
15
16namespace Mgr
17{
18
32
34class StoreIoAction: public Action
35{
36protected:
38
39public:
40 static Pointer Create(const CommandPointer &cmd);
41 /* Action API */
42 void add(const Action& action) override;
43 void pack(Ipc::TypedMsgHdr& msg) const override;
44 void unpack(const Ipc::TypedMsgHdr& msg) override;
45
46protected:
47 /* Action API */
48 void collect() override;
49 void dump(StoreEntry* entry) override;
50
51private:
53};
54
55} // namespace Mgr
56
57#endif /* SQUID_SRC_MGR_STOREIOACTION_H */
58
struct msghdr with a known type, fixed-size I/O and control buffers
Definition TypedMsgHdr.h:35
const CommandPointer cmd
the command that caused this action
Definition Action.h:90
Store IO interface data.
StoreIoActionData & operator+=(const StoreIoActionData &stats)
implement aggregated 'store_io' action
void pack(Ipc::TypedMsgHdr &msg) const override
pack collected action info into a message to be sent to Coordinator
void collect() override
calculate and keep local action-specific information
void add(const Action &action) override
incrementally merge in remote information (of the same action type)
void unpack(const Ipc::TypedMsgHdr &msg) override
unpack action info from the message received by Coordinator
static Pointer Create(const CommandPointer &cmd)
StoreIoActionData data
void dump(StoreEntry *entry) override
Cache Manager API.
Definition Action.h:21