implement aggregated interval actions More...

#include <IntervalAction.h>

Inheritance diagram for Mgr::IntervalAction:
Collaboration diagram for Mgr::IntervalAction:

Public Types

typedef RefCount< ActionPointer
 

Public Member Functions

void add (const Action &action) override
 incrementally merge in remote information (of the same action type) More...
 
void pack (Ipc::TypedMsgHdr &msg) const override
 pack collected action info into a message to be sent to Coordinator More...
 
void unpack (const Ipc::TypedMsgHdr &msg) override
 unpack action info from the message received by Coordinator More...
 
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 respond (const Request &request)
 respond to Coordinator request; default is to collect and sendResponse 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 Commandcommand () const
 the cause of this action More...
 
StoreEntrycreateStoreEntry () const
 creates store entry from params More...
 
virtual const char * contentType () const
 

Static Public Member Functions

static Pointer Create5min (const CommandPointer &cmd)
 
static Pointer Create60min (const CommandPointer &cmd)
 

Protected Member Functions

 IntervalAction (const CommandPointer &cmd, int aMinutes, int aHours)
 
void collect () override
 calculate and keep local action-specific information More...
 
void dump (StoreEntry *entry) override
 

Private Attributes

int minutes
 
int hours
 
IntervalActionData data
 
const CommandPointer cmd
 the command that caused this action More...
 

Detailed Description

Definition at line 110 of file IntervalAction.h.

Member Typedef Documentation

◆ Pointer

typedef RefCount<Action> Mgr::Action::Pointer
inherited

Definition at line 27 of file Action.h.

Constructor & Destructor Documentation

◆ IntervalAction()

Mgr::IntervalAction::IntervalAction ( const CommandPointer cmd,
int  aMinutes,
int  aHours 
)
protected

Definition at line 128 of file IntervalAction.cc.

References debugs, and MYNAME.

Member Function Documentation

◆ add()

void Mgr::IntervalAction::add ( const Action action)
overridevirtual

Reimplemented from Mgr::Action.

Definition at line 135 of file IntervalAction.cc.

References action(), debugs, and MYNAME.

◆ aggregatable()

virtual bool Mgr::Action::aggregatable ( ) const
inlinevirtualinherited

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.

Definition at line 64 of file Action.h.

◆ atomic()

bool Mgr::Action::atomic ( ) const
inherited

Definition at line 43 of file Action.cc.

◆ collect()

void Mgr::IntervalAction::collect ( )
overrideprotectedvirtual

Reimplemented from Mgr::Action.

Definition at line 142 of file IntervalAction.cc.

References GetAvgStat().

◆ command()

const Mgr::Command & Mgr::Action::command ( ) const
inherited

Definition at line 36 of file Action.cc.

References Must.

◆ contentType()

virtual const char * Mgr::Action::contentType ( ) const
inlinevirtualinherited

Definition at line 73 of file Action.h.

◆ Create5min()

Mgr::IntervalAction::Pointer Mgr::IntervalAction::Create5min ( const CommandPointer cmd)
static

Definition at line 117 of file IntervalAction.cc.

Referenced by statRegisterWithCacheManager().

◆ Create60min()

Mgr::IntervalAction::Pointer Mgr::IntervalAction::Create60min ( const CommandPointer cmd)
static

Definition at line 123 of file IntervalAction.cc.

Referenced by statRegisterWithCacheManager().

◆ createStoreEntry()

StoreEntry * Mgr::Action::createStoreEntry ( ) const
inherited

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()

void Mgr::IntervalAction::dump ( StoreEntry )
overrideprotectedvirtual

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 from Mgr::Action.

Definition at line 148 of file IntervalAction.cc.

References debugs, DumpAvgStat(), Must, and MYNAME.

◆ fillEntry()

void Mgr::Action::fillEntry ( StoreEntry entry,
bool  writeHttpHeader 
)
inherited

◆ name()

const char * Mgr::Action::name ( ) const
inherited

Definition at line 49 of file Action.cc.

◆ pack()

void Mgr::IntervalAction::pack ( Ipc::TypedMsgHdr ) const
overridevirtual

Reimplemented from Mgr::Action.

Definition at line 156 of file IntervalAction.cc.

References Ipc::mtCacheMgrResponse, Ipc::TypedMsgHdr::putPod(), and Ipc::TypedMsgHdr::setType().

◆ respond()

void Mgr::Action::respond ( const Request request)
virtualinherited

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 
)
inherited

Definition at line 91 of file Action.cc.

References debugs, and MYNAME.

◆ sendResponse()

void Mgr::Action::sendResponse ( Ipc::RequestId  requestId)
inherited

Definition at line 82 of file Action.cc.

References Ipc::Port::CoordinatorAddr(), Mgr::Response::pack(), and Ipc::SendMessage().

◆ unpack()

void Mgr::IntervalAction::unpack ( const Ipc::TypedMsgHdr )
overridevirtual

Reimplemented from Mgr::Action.

Definition at line 163 of file IntervalAction.cc.

References Ipc::TypedMsgHdr::checkType(), Ipc::TypedMsgHdr::getPod(), and Ipc::mtCacheMgrResponse.

Member Data Documentation

◆ cmd

const CommandPointer Mgr::Action::cmd
privateinherited

Definition at line 86 of file Action.h.

Referenced by Mgr::Action::Action(), Mgr::IndexAction::Create(), and SBufStatsAction::Create().

◆ data

IntervalActionData Mgr::IntervalAction::data
private

Definition at line 131 of file IntervalAction.h.

◆ hours

int Mgr::IntervalAction::hours
private

Definition at line 130 of file IntervalAction.h.

◆ minutes

int Mgr::IntervalAction::minutes
private

Definition at line 129 of file IntervalAction.h.


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors