return !_buffersWaiting.isEmpty();
}
-QList<BufferId> BacklogRequester::allBufferIds() const {
+BufferIdList BacklogRequester::allBufferIds() const {
QSet<BufferId> bufferIds = Client::bufferViewOverlay()->bufferIds();
bufferIds += Client::bufferViewOverlay()->tempRemovedBufferIds();
return bufferIds.toList();
}
+void BacklogRequester::flushBuffer() {
+ if(!_buffersWaiting.isEmpty()) {
+ qWarning() << Q_FUNC_INFO << "was called before all backlog was received:"
+ << _buffersWaiting.count() << "buffers are waiting.";
+ }
+ _bufferedMessages.clear();
+ _totalBuffers = 0;
+ _buffersWaiting.clear();
+}
+
// ========================================
// FIXED BACKLOG REQUESTER
// ========================================
_backlogCount = backlogSettings.fixedBacklogAmount();
}
-void FixedBacklogRequester::requestBacklog(const QList<BufferId> &bufferIds) {
+void FixedBacklogRequester::requestBacklog(const BufferIdList &bufferIds) {
setWaitingBuffers(bufferIds);
backlogManager->emitMessagesRequested(QObject::tr("Requesting a total of up to %1 backlog messages for %2 buffers").arg(_backlogCount * bufferIds.count()).arg(bufferIds.count()));
foreach(BufferId bufferId, bufferIds) {
_additional = backlogSettings.globalUnreadBacklogAdditional();
}
-void GlobalUnreadBacklogRequester::requestBacklog() {
+void GlobalUnreadBacklogRequester::requestInitialBacklog() {
MsgId oldestUnreadMessage;
foreach(BufferId bufferId, allBufferIds()) {
MsgId msgId = Client::networkModel()->lastSeenMsgId(bufferId);
_additional = backlogSettings.perBufferUnreadBacklogAdditional();
}
-void PerBufferUnreadBacklogRequester::requestBacklog(const QList<BufferId> &bufferIds) {
+void PerBufferUnreadBacklogRequester::requestBacklog(const BufferIdList &bufferIds) {
setWaitingBuffers(bufferIds);
backlogManager->emitMessagesRequested(QObject::tr("Requesting a total of up to %1 unread backlog messages for %2 buffers").arg((_limit + _additional) * bufferIds.count()).arg(bufferIds.count()));
foreach(BufferId bufferId, bufferIds) {