#include <Action.h>
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 |
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... | |
virtual const char * | contentType () const |
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 Mgr::CountersAction, Mgr::InfoAction, Mgr::IntervalAction, Mgr::IoAction, Mgr::ServiceTimesAction, Mgr::StoreIoAction, DiskdAction, and SBufStatsAction.
◆ 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 Mgr::FunAction, and Ssl::CertificateStorageAction.
◆ atomic()
◆ collect()
|
inlineprotectedvirtual |
Reimplemented in DiskdAction, Mgr::CountersAction, Mgr::InfoAction, Mgr::IntervalAction, Mgr::IoAction, Mgr::ServiceTimesAction, Mgr::StoreIoAction, and SBufStatsAction.
◆ command()
const Mgr::Command & Mgr::Action::command | ( | ) | const |
◆ contentType()
|
inlinevirtual |
◆ createStoreEntry()
StoreEntry * Mgr::Action::createStoreEntry | ( | ) | const |
Content-Type: header value for this report
Definition at line 55 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 DiskdAction, Mgr::IndexAction, Mgr::MenuAction, Mgr::ShutdownAction, Mgr::ReconfigureAction, Mgr::RotateAction, Mgr::OfflineToggleAction, Mgr::CountersAction, Mgr::FunAction, Mgr::InfoAction, Mgr::IntervalAction, Mgr::IoAction, Mgr::ServiceTimesAction, Mgr::StoreIoAction, SBufStatsAction, and Ssl::CertificateStorageAction.
◆ fillEntry()
void Mgr::Action::fillEntry | ( | StoreEntry * | entry, |
bool | writeHttpHeader | ||
) |
Definition at line 99 of file Action.cc.
References StoreEntry::buffer(), StoreEntry::complete(), debugs, StoreEntry::flush(), MYNAME, CacheManager::PutCommonResponseHeaders(), StoreEntry::replaceHttpReply(), Http::scOkay, HttpReply::setHeaders(), and squid_curtime.
◆ name()
◆ operator=()
◆ pack()
|
inlinevirtual |
Reimplemented in DiskdAction, Mgr::CountersAction, Mgr::InfoAction, Mgr::IntervalAction, Mgr::IoAction, Mgr::ServiceTimesAction, Mgr::StoreIoAction, and SBufStatsAction.
◆ respond()
|
virtual |
Reimplemented in Mgr::FunAction, and Mgr::InfoAction.
Definition at line 68 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 82 of file Action.cc.
References Ipc::Port::CoordinatorAddr(), Mgr::Response::pack(), and Ipc::SendMessage().
◆ unpack()
|
inlinevirtual |
Reimplemented in DiskdAction, Mgr::CountersAction, Mgr::InfoAction, Mgr::IntervalAction, Mgr::IoAction, Mgr::ServiceTimesAction, Mgr::StoreIoAction, and SBufStatsAction.
Member Data Documentation
◆ cmd
|
private |
Definition at line 86 of file Action.h.
Referenced by Action(), Mgr::IndexAction::Create(), and SBufStatsAction::Create().
The documentation for this class was generated from the following files: