- virtual void receiveBacklog(BufferId bufferId, int lastMsgs, int offset, QVariantList msgs);
- void requestInitialBacklog();
+ QVariantList requestBacklog(BufferId bufferId, MsgId first = -1, MsgId last = -1, int limit = -1, int additional = 0) override;
+ void receiveBacklog(BufferId bufferId, MsgId first, MsgId last, int limit, int additional, QVariantList msgs) override;
+ void receiveBacklogAll(MsgId first, MsgId last, int limit, int additional, QVariantList msgs) override;
+
+ void requestInitialBacklog();
+
+ void checkForBacklog(BufferId bufferId);
+ void checkForBacklog(const BufferIdList& bufferIds);
+
+signals:
+ void messagesReceived(BufferId bufferId, int count) const;
+ void messagesRequested(const QString&) const;
+ void messagesProcessed(const QString&) const;
+
+ void updateProgress(int, int);
+
+private:
+ bool isBuffering();
+ BufferIdList filterNewBufferIds(const BufferIdList& bufferIds);
+
+ void dispatchMessages(const MessageList& messages, bool sort = false);
+
+ BacklogRequester* _requester{nullptr};
+ bool _initBacklogRequested{false};
+ QSet<BufferId> _buffersRequested;