diff options
| author | Adam <Adam@anope.org> | 2014-11-24 14:27:23 -0500 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2014-11-24 14:27:23 -0500 |
| commit | 42238034490fb5479d787bd1695750387d508200 (patch) | |
| tree | c93c62e0e1c936e656ae5b9ee1b62380ce2a194c /modules/commands/os_stats.cpp | |
| parent | d492923610d9c9146b2a2b63de38deab2cfd4ca7 (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.cpp | 18 |
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 |
