/***************************************************************************
- * Copyright (C) 2005-2019 by the Quassel Project *
+ * Copyright (C) 2005-2022 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
InvalidRequester = 0,
PerBufferFixed,
PerBufferUnread,
+ AsNeeded, ///< Only request backlog on cores without Feature::BufferActivitySync
GlobalUnread
};
int _limit;
int _additional;
};
+
+// ========================================
+// AS NEEDED BACKLOG REQUESTER
+// ========================================
+/**
+ * Backlog requester that only fetches initial backlog when the core doesn't support buffer activity
+ * tracking
+ */
+class AsNeededBacklogRequester : public BacklogRequester
+{
+public:
+ AsNeededBacklogRequester(ClientBacklogManager* backlogManager);
+ void requestBacklog(const BufferIdList& bufferIds) override;
+
+private:
+ int _legacyBacklogCount;
+};