[squid-dev] [PATCH] PayloadFormatter (was PackableStream)
Amos Jeffries
squid3 at treenet.co.nz
Wed Aug 12 12:28:37 UTC 2015
On 12/08/2015 5:07 a.m., Alex Rousskov wrote:
> On 08/10/2015 08:20 AM, Amos Jeffries wrote:
>> Here is mk2 of the Formatter class for doing display things to CacheMgr
>> report payloads.
>
> Please post the patch (your post had no attachments), preferably
> reflecting the discussion that happened since then.
>
Oops. Sorry.
Amos
-------------- next part --------------
=== modified file 'src/ipc/Coordinator.cc'
--- src/ipc/Coordinator.cc 2015-01-13 07:25:36 +0000
+++ src/ipc/Coordinator.cc 2015-08-10 04:53:39 +0000
@@ -1,39 +1,40 @@
/*
* Copyright (C) 1996-2015 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
* Please see the COPYING and CONTRIBUTORS files for details.
*/
/* DEBUG: section 54 Interprocess Communication */
#include "squid.h"
#include "base/Subscription.h"
#include "base/TextException.h"
#include "CacheManager.h"
#include "comm.h"
#include "comm/Connection.h"
#include "ipc/Coordinator.h"
#include "ipc/SharedListen.h"
#include "mgr/Inquirer.h"
+#include "mgr/PayloadFormatter.h"
#include "mgr/Request.h"
#include "mgr/Response.h"
#include "tools.h"
#if SQUID_SNMP
#include "snmp/Inquirer.h"
#include "snmp/Request.h"
#include "snmp/Response.h"
#endif
#include <cerrno>
CBDATA_NAMESPACED_CLASS_INIT(Ipc, Coordinator);
Ipc::Coordinator* Ipc::Coordinator::TheInstance = NULL;
Ipc::Coordinator::Coordinator():
Port(Ipc::Port::CoordinatorAddr())
{
}
void Ipc::Coordinator::start()
=== modified file 'src/mgr/Action.cc'
--- src/mgr/Action.cc 2015-01-13 07:25:36 +0000
+++ src/mgr/Action.cc 2015-08-10 03:56:00 +0000
@@ -1,54 +1,62 @@
/*
* Copyright (C) 1996-2015 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
* Please see the COPYING and CONTRIBUTORS files for details.
*/
/* DEBUG: section 16 Cache Manager API */
#include "squid.h"
#include "comm/Connection.h"
#include "HttpReply.h"
#include "ipc/Port.h"
#include "mgr/Action.h"
#include "mgr/ActionCreator.h"
#include "mgr/ActionParams.h"
#include "mgr/ActionProfile.h"
#include "mgr/Command.h"
+#include "mgr/PayloadOldCgi.h"
#include "mgr/Request.h"
#include "mgr/Response.h"
#include "SquidTime.h"
#include "Store.h"
Mgr::Action::Action(const Command::Pointer &aCmd): cmd(aCmd)
{
Must(cmd != NULL);
Must(cmd->profile != NULL);
}
Mgr::Action::~Action()
{
}
+void
+Mgr::Action::dump(StoreEntry *e)
+{
+ Mgr::PayloadOldCgi p(*e);
+ displayWith(p);
+}
+
const Mgr::Command &
Mgr::Action::command() const
{
Must(cmd != NULL);
return *cmd;
}
bool
Mgr::Action::atomic() const
{
return command().profile->isAtomic;
}
const char*
Mgr::Action::name() const
{
return command().profile->name;
}
StoreEntry*
=== modified file 'src/mgr/Action.h'
--- src/mgr/Action.h 2015-01-13 07:25:36 +0000
+++ src/mgr/Action.h 2015-08-10 05:37:40 +0000
@@ -1,35 +1,36 @@
/*
* Copyright (C) 1996-2015 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
* Please see the COPYING and CONTRIBUTORS files for details.
*/
/* DEBUG: section 16 Cache Manager API */
#ifndef SQUID_MGR_ACTION_H
#define SQUID_MGR_ACTION_H
#include "ipc/forward.h"
#include "mgr/forward.h"
+#include "mgr/PayloadFormatter.h"
class StoreEntry;
namespace Mgr
{
/// 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).
class Action: public RefCountable
{
public:
typedef RefCount<Action> Pointer;
public:
Action(const CommandPointer &aCmd);
virtual ~Action();
/* for local Cache Manager use */
/// collect + fillEntry: collect local information and fill the store entry
@@ -63,34 +64,38 @@
/// combined data should be written at the end of the coordinated response
virtual bool aggregatable() const { return true; } // most kid classes are
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
///< Content-Type: header value for this report
virtual const char *contentType() const {return "text/plain;charset=utf-8";}
protected:
/// calculate and keep local action-specific information
virtual void collect() {}
/** 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
*/
- virtual void dump(StoreEntry *) {}
+ virtual void displayWith(Mgr::PayloadFormatter &p) {p.notImplemented(name(), strlen(name()));}
+
+ // deprecated wrapper for displayWith().
+ // old code will override this instead of the new displayWith() method.
+ virtual void dump(StoreEntry *e);
private:
const CommandPointer cmd; ///< the command that caused this action
private:
Action(const Action &); // not implemented
Action &operator= (const Action &); // not implemented
};
} // namespace Mgr
#endif /* SQUID_MGR_ACTION_H */
=== modified file 'src/mgr/BasicActions.cc'
--- src/mgr/BasicActions.cc 2015-01-13 07:25:36 +0000
+++ src/mgr/BasicActions.cc 2015-08-10 05:38:50 +0000
@@ -14,41 +14,41 @@
#include "mgr/ActionCreator.h"
#include "mgr/ActionProfile.h"
#include "mgr/BasicActions.h"
#include "mgr/Registration.h"
#include "protos.h"
#include "SquidConfig.h"
#include "Store.h"
Mgr::IndexAction::Pointer
Mgr::IndexAction::Create(const Command::Pointer &cmd)
{
return new IndexAction(cmd);
}
Mgr::IndexAction::IndexAction(const Command::Pointer &aCmd): Action(aCmd)
{
debugs(16, 5, HERE);
}
void
-Mgr::IndexAction::dump(StoreEntry *)
+Mgr::IndexAction::displayWith(Mgr::PayloadFormatter &)
{
debugs(16, 5, HERE);
}
Mgr::MenuAction::Pointer
Mgr::MenuAction::Create(const Command::Pointer &cmd)
{
return new MenuAction(cmd);
}
Mgr::MenuAction::MenuAction(const Command::Pointer &aCmd): Action(aCmd)
{
debugs(16, 5, HERE);
}
void
Mgr::MenuAction::dump(StoreEntry* entry)
{
debugs(16, 5, HERE);
Must(entry != NULL);
@@ -58,102 +58,104 @@
for (Iterator a = menu.begin(); a != menu.end(); ++a) {
storeAppendPrintf(entry, " %-22s\t%-32s\t%s\n",
(*a)->name, (*a)->desc,
CacheManager::GetInstance()->ActionProtection(*a));
}
}
Mgr::ShutdownAction::Pointer
Mgr::ShutdownAction::Create(const Command::Pointer &cmd)
{
return new ShutdownAction(cmd);
}
Mgr::ShutdownAction::ShutdownAction(const Command::Pointer &aCmd): Action(aCmd)
{
debugs(16, 5, HERE);
}
void
-Mgr::ShutdownAction::dump(StoreEntry *)
+Mgr::ShutdownAction::displayWith(Mgr::PayloadFormatter &)
{
debugs(16, DBG_CRITICAL, "Shutdown by Cache Manager command.");
shut_down(SIGTERM);
}
Mgr::ReconfigureAction::Pointer
Mgr::ReconfigureAction::Create(const Command::Pointer &cmd)
{
return new ReconfigureAction(cmd);
}
Mgr::ReconfigureAction::ReconfigureAction(const Command::Pointer &aCmd):
Action(aCmd)
{
debugs(16, 5, HERE);
}
void
-Mgr::ReconfigureAction::dump(StoreEntry* entry)
+Mgr::ReconfigureAction::displayWith(Mgr::PayloadFormatter &p)
{
debugs(16, DBG_IMPORTANT, "Reconfigure by Cache Manager command.");
- storeAppendPrintf(entry, "Reconfiguring Squid Process ....");
+ static const SBuf s("Reconfiguring Squid Process ....");
+ p.notice(s);
reconfigure(SIGHUP);
}
Mgr::RotateAction::Pointer
Mgr::RotateAction::Create(const Command::Pointer &cmd)
{
return new RotateAction(cmd);
}
Mgr::RotateAction::RotateAction(const Command::Pointer &aCmd): Action(aCmd)
{
debugs(16, 5, HERE);
}
void
-Mgr::RotateAction::dump(StoreEntry* entry)
+Mgr::RotateAction::displayWith(Mgr::PayloadFormatter &p)
{
debugs(16, DBG_IMPORTANT, "Rotate Logs by Cache Manager command.");
- storeAppendPrintf(entry, "Rotating Squid Process Logs ....");
+ static const SBuf s("Rotating Squid Process Logs ....");
+ p.notice(s);
#if defined(_SQUID_LINUX_THREADS_)
rotate_logs(SIGQUIT);
#else
rotate_logs(SIGUSR1);
#endif
}
Mgr::OfflineToggleAction::Pointer
Mgr::OfflineToggleAction::Create(const Command::Pointer &cmd)
{
return new OfflineToggleAction(cmd);
}
Mgr::OfflineToggleAction::OfflineToggleAction(const Command::Pointer &aCmd):
Action(aCmd)
{
debugs(16, 5, HERE);
}
void
-Mgr::OfflineToggleAction::dump(StoreEntry* entry)
+Mgr::OfflineToggleAction::displayWith(Mgr::PayloadFormatter &p)
{
Config.onoff.offline = !Config.onoff.offline;
- debugs(16, DBG_IMPORTANT, "offline_mode now " << (Config.onoff.offline ? "ON" : "OFF") << " by Cache Manager request.");
-
- storeAppendPrintf(entry, "offline_mode is now %s\n",
- Config.onoff.offline ? "ON" : "OFF");
+ static const SBuf offline("offline_mode is now OFF");
+ static const SBuf online("offline_mode is now ON");
+ debugs(16, DBG_IMPORTANT, (Config.onoff.offline ? online : offline ) << " by Cache Manager request.");
+ p.notice(Config.onoff.offline ? online : offline);
}
void
Mgr::RegisterBasics()
{
RegisterAction("index", "Cache Manager Interface", &Mgr::IndexAction::Create, 0, 1);
RegisterAction("menu", "Cache Manager Menu", &Mgr::MenuAction::Create, 0, 1);
RegisterAction("offline_toggle", "Toggle offline_mode setting", &Mgr::OfflineToggleAction::Create, 1, 1);
RegisterAction("shutdown", "Shut Down the Squid Process", &Mgr::ShutdownAction::Create, 1, 1);
RegisterAction("reconfigure", "Reconfigure Squid", &Mgr::ReconfigureAction::Create, 1, 1);
RegisterAction("rotate", "Rotate Squid Logs", &Mgr::RotateAction::Create, 1, 1);
}
=== modified file 'src/mgr/BasicActions.h'
--- src/mgr/BasicActions.h 2015-01-13 07:25:36 +0000
+++ src/mgr/BasicActions.h 2015-08-10 03:34:14 +0000
@@ -10,93 +10,93 @@
#ifndef SQUID_MGR_BASIC_ACTIONS_H
#define SQUID_MGR_BASIC_ACTIONS_H
#include "mgr/Action.h"
/* a collection of simple, mostly stateless actions */
namespace Mgr
{
/// A dummy action placeholder for the no-action requests
/// a templated Cache Manager index ('home') page.
/// Display output is produced directly by the receiving worker
/// without invoking the co-ordinator or action Job.
class IndexAction: public Action
{
public:
static Pointer Create(const CommandPointer &cmd);
/* Action API */
- virtual void dump(StoreEntry *entry);
+ virtual void displayWith(Mgr::PayloadFormatter &) override final;
protected:
IndexAction(const CommandPointer &cmd);
};
/// returns available Cache Manager actions and their access requirements
class MenuAction: public Action
{
public:
static Pointer Create(const CommandPointer &cmd);
/* Action API */
virtual void dump(StoreEntry *entry);
protected:
MenuAction(const CommandPointer &cmd);
};
/// shuts Squid down
class ShutdownAction: public Action
{
public:
static Pointer Create(const CommandPointer &cmd);
/* Action API */
- virtual void dump(StoreEntry *entry);
+ virtual void displayWith(Mgr::PayloadFormatter &) override final;
protected:
ShutdownAction(const CommandPointer &cmd);
};
/// reconfigures Squid
class ReconfigureAction: public Action
{
public:
static Pointer Create(const CommandPointer &cmd);
/* Action API */
- virtual void dump(StoreEntry *entry);
+ virtual void displayWith(Mgr::PayloadFormatter &) override final;
protected:
ReconfigureAction(const CommandPointer &cmd);
};
/// starts log rotation
class RotateAction: public Action
{
public:
static Pointer Create(const CommandPointer &cmd);
/* Action API */
- virtual void dump(StoreEntry *entry);
+ virtual void displayWith(Mgr::PayloadFormatter &) override final;
protected:
RotateAction(const CommandPointer &cmd);
};
/// changes offline mode
class OfflineToggleAction: public Action
{
public:
static Pointer Create(const CommandPointer &cmd);
/* Action API */
- virtual void dump(StoreEntry *entry);
+ virtual void displayWith(Mgr::PayloadFormatter &) override final;
protected:
OfflineToggleAction(const CommandPointer &cmd);
};
/// Registeres profiles for the actions above; \todo move elsewhere?
void RegisterBasics();
} // namespace Mgr
#endif /* SQUID_MGR_BASIC_ACTIONS_H */
=== modified file 'src/mgr/Makefile.am'
--- src/mgr/Makefile.am 2015-01-13 07:25:36 +0000
+++ src/mgr/Makefile.am 2015-08-10 09:24:03 +0000
@@ -25,39 +25,42 @@
BasicActions.h \
Command.cc \
Command.h \
CountersAction.cc \
CountersAction.h \
Filler.cc \
Filler.h \
Forwarder.cc \
Forwarder.h \
forward.h \
FunAction.cc \
FunAction.h \
InfoAction.cc \
InfoAction.h \
Inquirer.cc \
Inquirer.h \
IntervalAction.cc \
IntervalAction.h \
IoAction.cc \
IoAction.h \
+ PayloadFormatter.h \
+ PayloadOldCgi.cc \
+ PayloadOldCgi.h \
Registration.cc \
Registration.h \
Request.cc \
Request.h \
Response.cc \
Response.h \
ServiceTimesAction.cc \
ServiceTimesAction.h \
StoreIoAction.cc \
StoreIoAction.h \
StoreToCommWriter.cc \
StoreToCommWriter.h \
QueryParam.h \
QueryParams.cc \
QueryParams.h \
IntParam.cc \
IntParam.h \
StringParam.cc \
StringParam.h
=== added file 'src/mgr/PayloadFormatter.h'
--- src/mgr/PayloadFormatter.h 1970-01-01 00:00:00 +0000
+++ src/mgr/PayloadFormatter.h 2015-08-10 05:59:45 +0000
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+/* DEBUG: section 16 Cache Manager API */
+
+#ifndef SQUID_SRC_MGR_PAYLOADFORMATTER_H
+#define SQUID_SRC_MGR_PAYLOADFORMATTER_H
+
+#include "base/Packable.h"
+#include "mgr/forward.h"
+
+class SBuf;
+
+namespace Mgr
+{
+
+/// 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).
+class PayloadFormatter
+{
+public:
+ explicit PayloadFormatter(Packable &p) : outBuf(p) {}
+ virtual ~PayloadFormatter() = default;
+
+ void notImplemented(const char *name, size_t len) {
+ outBuf.append(name, len);
+ outBuf.append(" is Not Implemented",19);
+ }
+
+ // a comment
+ virtual void notice(const SBuf &) = 0;
+
+protected:
+ Packable &outBuf;
+};
+
+} // namepace Mgr
+
+#endif /* SQUID_SRC_MGR_PAYLOADFORMATTER_H */
=== added file 'src/mgr/PayloadOldCgi.cc'
--- src/mgr/PayloadOldCgi.cc 1970-01-01 00:00:00 +0000
+++ src/mgr/PayloadOldCgi.cc 2015-08-12 02:39:55 +0000
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+/* DEBUG: section 16 Cache Manager API */
+
+#include "squid.h"
+#include "base/Packable.h"
+#include "mgr/PayloadOldCgi.h"
+#include "SBuf.h"
+
+void
+Mgr::PayloadOldCgi::notice(const SBuf &s)
+{
+ outBuf.append(s.rawContent(), s.length());
+ outBuf.append("\n",2);
+}
+
=== added file 'src/mgr/PayloadOldCgi.h'
--- src/mgr/PayloadOldCgi.h 1970-01-01 00:00:00 +0000
+++ src/mgr/PayloadOldCgi.h 2015-08-12 11:07:37 +0000
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+/* DEBUG: section 16 Cache Manager API */
+
+#ifndef SQUID_SRC_MGR_PAYLOADOLDCGI_H
+#define SQUID_SRC_MGR_PAYLOADOLDCGI_H
+
+#include "mgr/PayloadFormatter.h"
+
+namespace Mgr
+{
+
+/**
+ * Produces cache manager report payloads in a human-readable markup syntax
+ * which is parsed by the cachemgr.cgi tool.
+ *
+ * Syntax ABNF:
+ * payload = *( table / kv-list / notice / LF )
+ * table = [ label ':' [ table-row ] ] 1*( table-row )
+ * table-row = 1*( [ string ] '\t' ) string LF
+ * kv-list = label ( '=' / ':' ' ' ) string LF
+ * label = 1*( VCHAR / SP ) ; any printable excluding ':' and '='
+ * notice = string LF
+ * string = 1*OCTET ; any characters excluding LF (\n) and TAB (\t)
+ */
+class PayloadOldCgi: public PayloadFormatter
+{
+public:
+ PayloadOldCgi(Packable &p): PayloadFormatter(p) {}
+ virtual ~PayloadOldCgi() = default;
+
+ /* PayloadFormatter API */
+ virtual void notice(const SBuf &) override final;
+};
+
+} // namepace Mgr
+
+#endif /* SQUID_SRC_MGR_PAYLOADOLDCGI_H */
=== modified file 'src/mgr/forward.h'
--- src/mgr/forward.h 2015-08-01 02:13:13 +0000
+++ src/mgr/forward.h 2015-08-10 05:06:30 +0000
@@ -6,40 +6,42 @@
* Please see the COPYING and CONTRIBUTORS files for details.
*/
/* DEBUG: section 16 Cache Manager API */
#ifndef SQUID_MGR_FORWARD_H
#define SQUID_MGR_FORWARD_H
#include "base/RefCount.h"
/// Cache Manager API
namespace Mgr
{
class Action;
class ActionCreator;
class ActionPasswordList;
class ActionProfile;
class ActionWriter;
class Command;
+class PayloadFormatter;
+class PayloadOldCgi;
class Request;
class Response;
class QueryParam;
class QueryParams;
typedef RefCount<Action> ActionPointer;
typedef RefCount<ActionProfile> ActionProfilePointer;
typedef RefCount<ActionCreator> ActionCreatorPointer;
typedef RefCount<Command> CommandPointer;
typedef ActionPointer (ClassActionCreationHandler)(const CommandPointer &cmd);
} // namespace Mgr
class StoreEntry;
/**
* Handler for "dumping" out a cachemgr report to a StoreEntry
*/
typedef void OBJH(StoreEntry *);
=== modified file 'src/tests/stub_libmgr.cc'
--- src/tests/stub_libmgr.cc 2015-01-13 07:25:36 +0000
+++ src/tests/stub_libmgr.cc 2015-08-10 13:21:50 +0000
@@ -15,76 +15,77 @@
// NP: used by Command.h instantiations
#include "mgr/ActionProfile.h"
// NP: used by Action.h instantiations
#include "mgr/Command.h"
std::ostream &operator <<(std::ostream &os, const Mgr::Command &cmd) STUB_RETVAL(os)
#include "mgr/Action.h"
Mgr::Action::Action(const CommandPointer &aCmd) STUB
Mgr::Action::~Action() STUB
void Mgr::Action::run(StoreEntry *entry, bool writeHttpHeader) STUB
void Mgr::Action::fillEntry(StoreEntry *entry, bool writeHttpHeader) STUB
void Mgr::Action::add(const Action &action) STUB
void Mgr::Action::respond(const Request &request) STUB
void Mgr::Action::sendResponse(unsigned int requestId) STUB
bool Mgr::Action::atomic() const STUB_RETVAL(false)
const char * Mgr::Action::name() const STUB_RETVAL(NULL)
static Mgr::Command static_Command;
const Mgr::Command & Mgr::Action::command() const STUB_RETVAL(static_Command)
StoreEntry * Mgr::Action::createStoreEntry() const STUB_RETVAL(NULL)
+void Mgr::Action::dump(StoreEntry *) STUB
static Mgr::Action::Pointer dummyAction;
#include "mgr/ActionParams.h"
Mgr::ActionParams::ActionParams() STUB_NOP
Mgr::ActionParams::ActionParams(const Ipc::TypedMsgHdr &msg) STUB_NOP
void Mgr::ActionParams::pack(Ipc::TypedMsgHdr &msg) const STUB
std::ostream &operator <<(std::ostream &os, const Mgr::ActionParams ¶ms) STUB_RETVAL(os)
#include "mgr/ActionWriter.h"
//Mgr::ActionWriter::ActionWriter(const Action::Pointer &anAction, int aFd) STUB
//protected:
void Mgr::ActionWriter::start() STUB
#include "mgr/BasicActions.h"
Mgr::Action::Pointer Mgr::MenuAction::Create(const Mgr::CommandPointer &cmd) STUB_RETVAL(dummyAction)
void Mgr::MenuAction::dump(StoreEntry *entry) STUB
//protected:
//Mgr::MenuAction::MenuAction(const CommandPointer &cmd) STUB
Mgr::Action::Pointer Mgr::ShutdownAction::Create(const Mgr::CommandPointer &cmd) STUB_RETVAL(dummyAction)
-void Mgr::ShutdownAction::dump(StoreEntry *entry) STUB
+void Mgr::ShutdownAction::displayWith(Mgr::PayloadFormatter &) STUB
// protected:
//Mgr::ShutdownAction::ShutdownAction(const CommandPointer &cmd) STUB
Mgr::Action::Pointer Mgr::ReconfigureAction::Create(const Mgr::CommandPointer &cmd) STUB_RETVAL(dummyAction)
-void Mgr::ReconfigureAction::dump(StoreEntry *entry) STUB
+void Mgr::ReconfigureAction::displayWith(Mgr::PayloadFormatter &) STUB
//protected:
//Mgr::ReconfigureAction::ReconfigureAction(const CommandPointer &cmd) STUB
Mgr::Action::Pointer Mgr::RotateAction::Create(const Mgr::CommandPointer &cmd) STUB_RETVAL(dummyAction)
-void Mgr::RotateAction::dump(StoreEntry *entry) STUB
+void Mgr::RotateAction::displayWith(Mgr::PayloadFormatter &) STUB
//protected:
//Mgr::RotateAction::RotateAction(const CommandPointer &cmd) STUB
Mgr::Action::Pointer Mgr::OfflineToggleAction::Create(const CommandPointer &cmd) STUB_RETVAL(dummyAction)
-void Mgr::OfflineToggleAction::dump(StoreEntry *entry) STUB
+void Mgr::OfflineToggleAction::displayWith(Mgr::PayloadFormatter &) STUB
//protected:
//Mgr::OfflineToggleAction::OfflineToggleAction(const CommandPointer &cmd) STUB
void Mgr::RegisterBasics() STUB
#include "mgr/CountersAction.h"
//Mgr::CountersActionData::CountersActionData() STUB
Mgr::CountersActionData& Mgr::CountersActionData::operator +=(const Mgr::CountersActionData& stats) STUB_RETVAL(*this)
Mgr::Action::Pointer Mgr::CountersAction::Create(const CommandPointer &cmd) STUB_RETVAL(dummyAction)
void Mgr::CountersAction::add(const Action& action) STUB
void Mgr::CountersAction::pack(Ipc::TypedMsgHdr& msg) const STUB
void Mgr::CountersAction::unpack(const Ipc::TypedMsgHdr& msg) STUB
//protected:
//Mgr::CountersAction::CountersAction(const CommandPointer &cmd) STUB
void Mgr::CountersAction::collect() STUB
void Mgr::CountersAction::dump(StoreEntry* entry) STUB
#include "mgr/Filler.h"
//Mgr::Filler::Filler(const Action::Pointer &anAction, int aFd, unsigned int aRequestId) STUB
More information about the squid-dev
mailing list