-void ClientBacklogManager::checkForBacklog(const BufferId bufferId) {
- if(_backlogReceived.contains(bufferId))
- return;
-
- QList<BufferId> bufferIds;
- bufferIds << bufferId;
- checkForBacklog(bufferIds);
+BufferIdList ClientBacklogManager::filterNewBufferIds(const BufferIdList &bufferIds) {
+ BufferIdList newBuffers;
+ QSet<BufferId> availableBuffers = Client::networkModel()->allBufferIds().toSet();
+ foreach(BufferId bufferId, bufferIds) {
+ if(_buffersRequested.contains(bufferId) || !availableBuffers.contains(bufferId))
+ continue;
+ newBuffers << bufferId;
+ }
+ return newBuffers;