summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-01-16 07:59:09 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-01-16 07:59:09 +0000
commit1963fba97f107f73fa825b22e9ae5a027f5292d9 (patch)
tree4d8dd787804a68ffef42f90fbac8b00a708017b8 /include
parentb7a990e474461921f79b0b8846fcb338dd18982c (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.h12
-rw-r--r--include/users.h12
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;