IoAction.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 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_MGR_IO_ACTION_H
12 #define SQUID_MGR_IO_ACTION_H
13 
14 #include "IoStats.h"
15 #include "mgr/Action.h"
16 
17 namespace Mgr
18 {
19 
22 {
23 public:
24  IoActionData();
26 
27 public:
28  double http_reads;
29  double ftp_reads;
30  double gopher_reads;
34 };
35 
37 class IoAction: public Action
38 {
39 protected:
40  IoAction(const CommandPointer &cmd);
41 
42 public:
43  static Pointer Create(const CommandPointer &cmd);
44  /* Action API */
45  virtual void add(const Action& action);
46  virtual void pack(Ipc::TypedMsgHdr& msg) const;
47  virtual void unpack(const Ipc::TypedMsgHdr& msg);
48 
49 protected:
50  /* Action API */
51  virtual void collect();
52  virtual void dump(StoreEntry* entry);
53 
54 private:
56 };
57 
58 } // namespace Mgr
59 
60 #endif /* SQUID_MGR_IO_ACTION_H */
61 
double http_reads
Definition: IoAction.h:28
store size histograms of network read() from peer server
Definition: IoAction.h:21
static Pointer Create(const CommandPointer &cmd)
Definition: IoAction.cc:46
double gopher_reads
Definition: IoAction.h:30
class Ping::pingStats_ stats
double http_read_hist[IoStats::histSize]
Definition: IoAction.h:31
implement aggregated 'io' action
Definition: IoAction.h:37
IoAction(const CommandPointer &cmd)
Definition: IoAction.cc:51
virtual void collect()
calculate and keep local action-specific information
Definition: IoAction.cc:65
double gopher_read_hist[IoStats::histSize]
Definition: IoAction.h:33
virtual void pack(Ipc::TypedMsgHdr &msg) const
pack collected action info into a message to be sent to Coordinator
Definition: IoAction.cc:79
IoActionData data
Definition: IoAction.h:55
virtual void dump(StoreEntry *entry)
Definition: IoAction.cc:71
const CommandPointer cmd
the command that caused this action
Definition: Action.h:86
bool action(int fd, size_t metasize, const char *fn, const char *url, const SquidMetaList &meta)
Definition: purge.cc:311
IoActionData & operator+=(const IoActionData &stats)
Definition: IoAction.cc:30
double ftp_reads
Definition: IoAction.h:29
virtual void add(const Action &action)
incrementally merge in remote information (of the same action type)
Definition: IoAction.cc:58
struct msghdr with a known type, fixed-size I/O and control buffers
Definition: TypedMsgHdr.h:31
double ftp_read_hist[IoStats::histSize]
Definition: IoAction.h:32
virtual void unpack(const Ipc::TypedMsgHdr &msg)
unpack action info from the message received by Coordinator
Definition: IoAction.cc:86
static const int histSize
Definition: IoStats.h:16

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors