summaryrefslogtreecommitdiff
path: root/modules/commands/os_stats.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2014-11-24 14:27:23 -0500
committerAdam <Adam@anope.org>2014-11-24 14:27:23 -0500
commit42238034490fb5479d787bd1695750387d508200 (patch)
treec93c62e0e1c936e656ae5b9ee1b62380ce2a194c /modules/commands/os_stats.cpp
parentd492923610d9c9146b2a2b63de38deab2cfd4ca7 (diff)
Rewrite serializable to have field level granularity
Represent serializable objects in a digraph, and as a result made most object relationships implicitly defined, and use the graph to trace references between objects to determine relationships. Edges may also be marked as having a dependency of the object they point to, which allows for automatic cleanup and deletion of most objects when no longer needed. Additionally, this allows not having to require in-memory copies of everything when using external databases. db_sql has been rewritten for this and now always requires a database to function. db_sql with MySQL now requires InnoDB to make use of transactions and foreign key constraints.
Diffstat (limited to 'modules/commands/os_stats.cpp')
-rw-r--r--modules/commands/os_stats.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/modules/commands/os_stats.cpp b/modules/commands/os_stats.cpp
index a4a2a858a..6e74303ce 100644
--- a/modules/commands/os_stats.cpp
+++ b/modules/commands/os_stats.cpp
@@ -12,11 +12,12 @@
#include "module.h"
#include "modules/os_session.h"
-struct Stats : Serializable
+#if 0
+struct Stats : Serialize::Object
{
static Stats *me;
- Stats() : Serializable("Stats")
+ Stats() : Serialize::Object("Stats")
{
me = this;
}
@@ -180,10 +181,10 @@ class CommandOSStats : public Command
GetHashStats(ChanServ::service->GetChannels(), entries, buckets, max_chain);
source.Reply(_("Registered channels: {0} entries, {1} buckets, longest chain is {2}"), entries, buckets, max_chain);
- GetHashStats(NickServ::service->GetNickList(), entries, buckets, max_chain);
+ GetHashStats(NickServ::service->GetNickMap(), entries, buckets, max_chain);
source.Reply(_("Registered nicknames: {0} entries, {1} buckets, longest chain is {2}"), entries, buckets, max_chain);
- GetHashStats(NickServ::service->GetAccountList(), entries, buckets, max_chain);
+ GetHashStats(NickServ::service->GetAccountMap(), entries, buckets, max_chain);
source.Reply(_("Registered nick groups: {0} entries, {1} buckets, longest chain is {2}"), entries, buckets, max_chain);
if (session_service)
@@ -244,26 +245,27 @@ class CommandOSStats : public Command
};
class OSStats : public Module
- , public EventHook<Event::UserConnect>
{
CommandOSStats commandosstats;
- Serialize::Type stats_type;
+ //Serialize::TypeBase stats_type;
Stats stats_saver;
public:
OSStats(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR)
- , EventHook<Event::UserConnect>("OnUserConnect")
, commandosstats(this)
- , stats_type("Stats", Stats::Unserialize)
+// , stats_type("Stats", Stats::Unserialize)
{
}
+#if 0
void OnUserConnect(User *u, bool &exempt) override
{
if (UserListByNick.size() == MaxUserCount && Anope::CurTime == MaxUserTime)
stats_saver.QueueUpdate();
}
+#endif
};
MODULE_INIT(OSStats)
+#endif