summaryrefslogtreecommitdiff
path: root/include/usermanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/usermanager.h')
-rw-r--r--include/usermanager.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/include/usermanager.h b/include/usermanager.h
index a67f90224..941569e8c 100644
--- a/include/usermanager.h
+++ b/include/usermanager.h
@@ -56,6 +56,11 @@ class CoreExport UserManager : public fakederef<UserManager>
*/
LocalList local_users;
+ /** Last used already sent id, used when sending messages to neighbors to help determine whether the message has
+ * been sent to a particular user or not. See User::ForEachNeighbor() for more info.
+ */
+ already_sent_t already_sent_id;
+
public:
/** Constructor, initializes variables
*/
@@ -83,12 +88,6 @@ class CoreExport UserManager : public fakederef<UserManager>
*/
unsigned int unregistered_count;
- /**
- * Reset the already_sent IDs so we don't wrap it around and drop a message
- * Also removes all expired invites
- */
- void GarbageCollect();
-
/** Perform background user events such as PING checks
*/
void DoBackgroundUserStuff();
@@ -187,4 +186,9 @@ class CoreExport UserManager : public fakederef<UserManager>
* @param ... The format arguments
*/
void ServerNoticeAll(const char* text, ...) CUSTOM_PRINTF(2, 3);
+
+ /** Retrieves the next already sent id, guaranteed to be not equal to any user's already_sent field
+ * @return Next already_sent id
+ */
+ already_sent_t NextAlreadySentId();
};