Torrent example: replace Java-style iteration with STL iterators
Java-iterators are going to be deprecated. Change-Id: I2e6353f3fd9e2ddaf0767e7f6cea713249d9591e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
parent
070517f628
commit
77e708d167
|
|
@ -123,11 +123,11 @@ void RateController::transfer()
|
|||
qint64 writeChunk = qMax<qint64>(1, bytesToWrite / pendingSockets.size());
|
||||
qint64 readChunk = qMax<qint64>(1, bytesToRead / pendingSockets.size());
|
||||
|
||||
QSetIterator<PeerWireClient *> it(pendingSockets);
|
||||
while (it.hasNext() && (bytesToWrite > 0 || bytesToRead > 0)) {
|
||||
PeerWireClient *socket = it.next();
|
||||
for (auto it = pendingSockets.begin(), end = pendingSockets.end(); it != end && (bytesToWrite > 0 || bytesToRead > 0); /*erasing*/) {
|
||||
auto current = it++;
|
||||
PeerWireClient *socket = *current;
|
||||
if (socket->state() != QAbstractSocket::ConnectedState) {
|
||||
pendingSockets.remove(socket);
|
||||
pendingSockets.erase(current);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -156,7 +156,7 @@ void RateController::transfer()
|
|||
if (dataTransferred && socket->canTransferMore())
|
||||
canTransferMore = true;
|
||||
else
|
||||
pendingSockets.remove(socket);
|
||||
pendingSockets.erase(current);
|
||||
}
|
||||
} while (canTransferMore && (bytesToWrite > 0 || bytesToRead > 0) && !pendingSockets.isEmpty());
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue