|
Squid Web Cache master
|
#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 | |
| void | fillEntry (StoreEntry *entry, bool writeHttpHeader) |
| prepare store entry, dump info, close store entry (if possible) | |
| virtual void | add (const Action &action) |
| incrementally merge in remote information (of the same action type) | |
| virtual void | respond (const Request &request) |
| respond to Coordinator request; default is to collect and sendResponse | |
| virtual void | pack (Ipc::TypedMsgHdr &) const |
| pack collected action info into a message to be sent to Coordinator | |
| virtual void | unpack (const Ipc::TypedMsgHdr &) |
| unpack action info from the message received by Coordinator | |
| void | sendResponse (Ipc::RequestId) |
| notify Coordinator that this action is done with local processing | |
| virtual bool | aggregatable () const |
| virtual Format | format () const |
| action report syntax | |
| bool | atomic () const |
| dump() call writes everything before returning | |
| const char * | name () const |
| label as seen in the cache manager menu | |
| const Command & | command () const |
| the cause of this action | |
| StoreEntry * | createStoreEntry () const |
| creates store entry from params | |
| const char * | contentType () const |
| HTTP Content-Type header value for this Action report. | |
Protected Member Functions | |
| virtual void | collect () |
| calculate and keep local action-specific information | |
| 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 | |
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).
| typedef RefCount<Action> Mgr::Action::Pointer |
| Mgr::Action::Action | ( | const CommandPointer & | aCmd | ) |
|
private |
|
virtual |
Reimplemented in Mgr::CountersAction, Mgr::InfoAction, Mgr::IntervalAction, Mgr::IoAction, Mgr::ServiceTimesAction, Mgr::StoreIoAction, DiskdAction, and SBufStatsAction.
|
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.
|
inlineprotectedvirtual |
Reimplemented in DiskdAction, Mgr::CountersAction, Mgr::InfoAction, Mgr::IntervalAction, Mgr::IoAction, Mgr::ServiceTimesAction, Mgr::StoreIoAction, and SBufStatsAction.
| const Mgr::Command & Mgr::Action::command | ( | ) | const |
| const char * Mgr::Action::contentType | ( | ) | const |
Definition at line 62 of file Action.cc.
References assert, Mgr::informal, and Mgr::yaml.
| StoreEntry * Mgr::Action::createStoreEntry | ( | ) | const |
Definition at line 75 of file Action.cc.
References Mgr::ActionParams::httpFlags, Mgr::ActionParams::httpMethod, Mgr::ActionParams::httpUri, storeCreateEntry(), and String::termedBuf().
|
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.
| void Mgr::Action::fillEntry | ( | StoreEntry * | entry, |
| bool | writeHttpHeader | ||
| ) |
Definition at line 119 of file Action.cc.
References StoreEntry::buffer(), StoreEntry::complete(), debugs, StoreEntry::flush(), MYNAME, CacheManager::PutCommonResponseHeaders(), StoreEntry::replaceHttpReply(), Http::scOkay, HttpReply::setHeaders(), and squid_curtime.
|
virtual |
|
inlinevirtual |
Reimplemented in DiskdAction, Mgr::CountersAction, Mgr::InfoAction, Mgr::IntervalAction, Mgr::IoAction, Mgr::ServiceTimesAction, Mgr::StoreIoAction, and SBufStatsAction.
|
virtual |
Reimplemented in Mgr::FunAction, and Mgr::InfoAction.
Definition at line 88 of file Action.cc.
References Mgr::Request::conn, debugs, Comm::Connection::fd, MYNAME, Ipc::Request::requestId, and xclose().
| void Mgr::Action::run | ( | StoreEntry * | entry, |
| bool | writeHttpHeader | ||
| ) |
| void Mgr::Action::sendResponse | ( | Ipc::RequestId | requestId | ) |
Definition at line 102 of file Action.cc.
References Ipc::Port::CoordinatorAddr(), Mgr::Response::pack(), and Ipc::SendMessage().
|
inlinevirtual |
Reimplemented in DiskdAction, Mgr::CountersAction, Mgr::InfoAction, Mgr::IntervalAction, Mgr::IoAction, Mgr::ServiceTimesAction, Mgr::StoreIoAction, and SBufStatsAction.
|
private |
Definition at line 90 of file Action.h.
Referenced by Action(), Mgr::IndexAction::Create(), and SBufStatsAction::Create().