diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-01-16 07:59:09 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-01-16 07:59:09 +0000 |
commit | 1963fba97f107f73fa825b22e9ae5a027f5292d9 (patch) | |
tree | 4d8dd787804a68ffef42f90fbac8b00a708017b8 /include | |
parent | b7a990e474461921f79b0b8846fcb338dd18982c (diff) |
Hacked-up culllist: stores user pointers rather than CullItem, as creating them seems to be very expensive and wasteful. Doesn't support silent quits (yet), and User::QuitUser seems to trigger *many* times per user before they are removed (socketengine getting write events to closed socket perhaps). It's still much quicker than the old way (NO perceptible lag AT ALL :))
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8714 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include')
-rw-r--r-- | include/cull_list.h | 12 | ||||
-rw-r--r-- | include/users.h | 12 |
2 files changed, 10 insertions, 14 deletions
diff --git a/include/cull_list.h b/include/cull_list.h index eb670580e..25c4b48a5 100644 --- a/include/cull_list.h +++ b/include/cull_list.h @@ -115,7 +115,7 @@ class CoreExport CullList : public classbase * See the information for CullItem for * more information. */ - std::vector<CullItem *> list; + std::vector<User *> list; public: /** Constructor. @@ -131,15 +131,7 @@ class CoreExport CullList : public classbase * @param reason The quit reason of the user being added * @param o_reason The quit reason to show only to opers */ - void AddItem(User* user, std::string &reason, const char* o_reason = ""); - - /** Adds a user to the cull list for later - * removal via QUIT. - * @param user The user to add - * @param reason The quit reason of the user being added - * @param o_reason The quit reason to show only to opers - */ - void AddItem(User* user, const char* reason, const char* o_reason = ""); + void AddItem(User* user); /* Turn an item into a silent item (don't send out QUIT for this user) */ diff --git a/include/users.h b/include/users.h index c795ae1a4..9d210931c 100644 --- a/include/users.h +++ b/include/users.h @@ -481,10 +481,6 @@ class CoreExport User : public connection */ void DecrementModes(); - /** Oper-only quit message for this user if non-null - */ - char* operquit; - /** Max channels for this user */ unsigned int MaxChans; @@ -616,6 +612,14 @@ class CoreExport User : public connection */ std::string sendq; + /** Message user will quit with. Not to be set externally. + */ + std::string quitmsg; + + /** Quit message shown to opers - not to be set externally. + */ + std::string operquitmsg; + /** Flood counters - lines received */ unsigned int lines_in; |