#include <Action.h>
![Inheritance graph](classMgr_1_1Action__inherit__graph.png)
![Collaboration graph](classMgr_1_1Action__coll__graph.png)
Public Types | |
typedef RefCount< Action > | Pointer |
Public Member Functions | |
Action (const CommandPointer &aCmd) | |
~Action () override | |
void | run (StoreEntry *entry, bool writeHttpHeader) |
collect + fillEntry: collect local information and fill the store entry More... | |
void | fillEntry (StoreEntry *entry, bool writeHttpHeader) |
prepare store entry, dump info, close store entry (if possible) More... | |
virtual void | add (const Action &action) |
incrementally merge in remote information (of the same action type) More... | |
virtual void | respond (const Request &request) |
respond to Coordinator request; default is to collect and sendResponse More... | |
virtual void | pack (Ipc::TypedMsgHdr &) const |
pack collected action info into a message to be sent to Coordinator More... | |
virtual void | unpack (const Ipc::TypedMsgHdr &) |
unpack action info from the message received by Coordinator More... | |
void | sendResponse (Ipc::RequestId) |
notify Coordinator that this action is done with local processing More... | |
virtual bool | aggregatable () const |
virtual Format | format () const |
action report syntax More... | |
bool | atomic () const |
dump() call writes everything before returning More... | |
const char * | name () const |
label as seen in the cache manager menu More... | |
const Command & | command () const |
the cause of this action More... | |
StoreEntry * | createStoreEntry () const |
creates store entry from params More... | |
const char * | contentType () const |
HTTP Content-Type header value for this Action report. More... | |
Protected Member Functions | |
virtual void | collect () |
calculate and keep local action-specific information More... | |
virtual void | dump (StoreEntry *) |
Private Member Functions | |
Action (const Action &) | |
Action & | operator= (const Action &) |
Private Attributes | |
const CommandPointer | cmd |
the command that caused this action More... | |
Detailed Description
Base API for organizing the processing of a compiled cache manager command. Not a job because all methods are synchronous (but they may start jobs).
Member Typedef Documentation
◆ Pointer
typedef RefCount<Action> Mgr::Action::Pointer |
Constructor & Destructor Documentation
◆ Action() [1/2]
Mgr::Action::Action | ( | const CommandPointer & | aCmd | ) |
◆ ~Action()
◆ Action() [2/2]
|
private |
Member Function Documentation
◆ add()
|
virtual |
Reimplemented in DiskdAction, SBufStatsAction, Mgr::IntervalAction, Mgr::InfoAction, Mgr::CountersAction, Mgr::ServiceTimesAction, Mgr::IoAction, and Mgr::StoreIoAction.
◆ aggregatable()
|
inlinevirtual |
whether at least some local kid info can be combined and, hence, the combined data should be written at the end of the coordinated response
Reimplemented in Ssl::CertificateStorageAction, and Mgr::FunAction.
◆ atomic()
◆ collect()
|
inlineprotectedvirtual |
Reimplemented in Mgr::IntervalAction, Mgr::InfoAction, Mgr::CountersAction, DiskdAction, Mgr::ServiceTimesAction, Mgr::IoAction, Mgr::StoreIoAction, and SBufStatsAction.
◆ command()
const Mgr::Command & Mgr::Action::command | ( | ) | const |
◆ contentType()
const char * Mgr::Action::contentType | ( | ) | const |
Definition at line 61 of file Action.cc.
References assert, Mgr::informal, and Mgr::yaml.
◆ createStoreEntry()
StoreEntry * Mgr::Action::createStoreEntry | ( | ) | const |
Definition at line 74 of file Action.cc.
References Mgr::ActionParams::httpFlags, Mgr::ActionParams::httpMethod, Mgr::ActionParams::httpUri, storeCreateEntry(), and String::termedBuf().
◆ dump()
|
inlineprotectedvirtual |
start writing action-specific info to Store entry; may collect info during dump, especially if collect() did nothing non-atomic() actions may continue writing asynchronously after returning
Reimplemented in Ssl::CertificateStorageAction, Mgr::IntervalAction, Mgr::InfoAction, Mgr::CountersAction, Mgr::OfflineToggleAction, Mgr::RotateAction, DiskdAction, Mgr::ReconfigureAction, Mgr::ServiceTimesAction, Mgr::ShutdownAction, Mgr::IoAction, Mgr::StoreIoAction, Mgr::MenuAction, Mgr::FunAction, Mgr::IndexAction, and SBufStatsAction.
◆ fillEntry()
void Mgr::Action::fillEntry | ( | StoreEntry * | entry, |
bool | writeHttpHeader | ||
) |
Definition at line 118 of file Action.cc.
References StoreEntry::buffer(), StoreEntry::complete(), debugs, StoreEntry::flush(), MYNAME, CacheManager::PutCommonResponseHeaders(), StoreEntry::replaceHttpReply(), Http::scOkay, HttpReply::setHeaders(), and squid_curtime.
◆ format()
|
virtual |
◆ name()
◆ operator=()
◆ pack()
|
inlinevirtual |
Reimplemented in Mgr::IntervalAction, Mgr::InfoAction, Mgr::CountersAction, Mgr::ServiceTimesAction, Mgr::IoAction, Mgr::StoreIoAction, SBufStatsAction, and DiskdAction.
◆ respond()
|
virtual |
Reimplemented in Mgr::InfoAction, and Mgr::FunAction.
Definition at line 87 of file Action.cc.
References Mgr::Request::conn, debugs, Comm::Connection::fd, MYNAME, and Ipc::Request::requestId.
◆ run()
void Mgr::Action::run | ( | StoreEntry * | entry, |
bool | writeHttpHeader | ||
) |
◆ sendResponse()
void Mgr::Action::sendResponse | ( | Ipc::RequestId | requestId | ) |
Definition at line 101 of file Action.cc.
References Ipc::Port::CoordinatorAddr(), Mgr::Response::pack(), and Ipc::SendMessage().
◆ unpack()
|
inlinevirtual |
Reimplemented in Mgr::IntervalAction, Mgr::InfoAction, Mgr::CountersAction, Mgr::ServiceTimesAction, Mgr::IoAction, Mgr::StoreIoAction, SBufStatsAction, and DiskdAction.
Member Data Documentation
◆ cmd
|
private |
Definition at line 90 of file Action.h.
Referenced by Action(), SBufStatsAction::Create(), and Mgr::IndexAction::Create().
The documentation for this class was generated from the following files:
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products