diff options
Diffstat (limited to 'examples/network/torrent/torrentclient.cpp')
-rw-r--r-- | examples/network/torrent/torrentclient.cpp | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/examples/network/torrent/torrentclient.cpp b/examples/network/torrent/torrentclient.cpp index 6082e93b01..d9e66b9a17 100644 --- a/examples/network/torrent/torrentclient.cpp +++ b/examples/network/torrent/torrentclient.cpp @@ -70,9 +70,9 @@ public: int uploadScheduleTimer; // Pieces - QMap<int, PeerWireClient *> readIds; + QMap<qint32, PeerWireClient *> readIds; QMultiMap<PeerWireClient *, TorrentPiece *> payloads; - QMap<int, TorrentPiece *> pendingPieces; + QMap<qint32, TorrentPiece *> pendingPieces; QBitArray completedPieces; QBitArray incompletePieces; int pieceCount; @@ -269,8 +269,8 @@ void TorrentClient::setDumpedState(const QByteArray &dumpedState) stream >> d->completedPieces; while (!stream.atEnd()) { - int index; - int length; + qint32 index; + qint32 length; QBitArray completed; stream >> index >> length >> completed; if (stream.status() != QDataStream::Ok) { @@ -298,7 +298,7 @@ QByteArray TorrentClient::dumpedState() const // Save the state of all partially downloaded pieces into a format // suitable for storing in settings. - QMap<int, TorrentPiece *>::ConstIterator it = d->pendingPieces.constBegin(); + auto it = d->pendingPieces.constBegin(); while (it != d->pendingPieces.constEnd()) { TorrentPiece *piece = it.value(); if (blocksLeftForPiece(piece) > 0 && blocksLeftForPiece(piece) < piece->completedBlocks.size()) { @@ -497,7 +497,8 @@ void TorrentClient::timerEvent(QTimerEvent *event) } } -void TorrentClient::sendToPeer(int readId, int pieceIndex, int begin, const QByteArray &data) +void TorrentClient::sendToPeer(qint32 readId, qint32 pieceIndex, qint32 begin, + const QByteArray &data) { // Send the requested block to the peer if the client connection // still exists; otherwise do nothing. This slot is called by the @@ -516,7 +517,7 @@ void TorrentClient::fullVerificationDone() d->completedPieces = d->fileManager.completedPieces(); d->incompletePieces.resize(d->completedPieces.size()); d->pieceCount = d->completedPieces.size(); - for (int i = 0; i < d->fileManager.pieceCount(); ++i) { + for (qint32 i = 0; i < d->fileManager.pieceCount(); ++i) { if (!d->completedPieces.testBit(i)) d->incompletePieces.setBit(i); } @@ -525,7 +526,7 @@ void TorrentClient::fullVerificationDone() // If the checksums show that what the dumped state thought was // partial was in fact complete, then we trust the checksums. - QMap<int, TorrentPiece *>::Iterator it = d->pendingPieces.begin(); + auto it = d->pendingPieces.begin(); while (it != d->pendingPieces.end()) { if (d->completedPieces.testBit(it.key())) it = d->pendingPieces.erase(it); @@ -555,7 +556,7 @@ void TorrentClient::fullVerificationDone() d->trackerClient.start(d->metaInfo); } -void TorrentClient::pieceVerified(int pieceIndex, bool ok) +void TorrentClient::pieceVerified(qint32 pieceIndex, bool ok) { TorrentPiece *piece = d->pendingPieces.value(pieceIndex); @@ -583,7 +584,7 @@ void TorrentClient::pieceVerified(int pieceIndex, bool ok) if (!peer->interesting) continue; bool interesting = false; - for (int i = 0; i < d->pieceCount; ++i) { + for (qint32 i = 0; i < d->pieceCount; ++i) { if (peer->pieces.testBit(i) && d->incompletePieces.testBit(i)) { interesting = true; break; @@ -901,8 +902,8 @@ void TorrentClient::peerPiecesAvailable(const QBitArray &pieces) // Check for interesting pieces, and tell the peer whether we are // interested or not. bool interested = false; - int piecesSize = pieces.size(); - for (int pieceIndex = 0; pieceIndex < piecesSize; ++pieceIndex) { + qint32 piecesSize = pieces.size(); + for (qint32 pieceIndex = 0; pieceIndex < piecesSize; ++pieceIndex) { if (!pieces.testBit(pieceIndex)) continue; if (!d->completedPieces.testBit(pieceIndex)) { @@ -914,7 +915,7 @@ void TorrentClient::peerPiecesAvailable(const QBitArray &pieces) } QMultiMap<PeerWireClient *, TorrentPiece *>::Iterator it = d->payloads.find(client); - int inProgress = 0; + qint32 inProgress = 0; while (it != d->payloads.end() && it.key() == client) { if (it.value()->inProgress) inProgress += it.value()->requestedBlocks.count(true); @@ -932,7 +933,7 @@ void TorrentClient::peerPiecesAvailable(const QBitArray &pieces) } } -void TorrentClient::peerRequestsBlock(int pieceIndex, int begin, int length) +void TorrentClient::peerRequestsBlock(qint32 pieceIndex, qint32 begin, qint32 length) { PeerWireClient *client = qobject_cast<PeerWireClient *>(sender()); @@ -949,7 +950,7 @@ void TorrentClient::peerRequestsBlock(int pieceIndex, int begin, int length) qobject_cast<PeerWireClient *>(sender())); } -void TorrentClient::blockReceived(int pieceIndex, int begin, const QByteArray &data) +void TorrentClient::blockReceived(qint32 pieceIndex, qint32 begin, const QByteArray &data) { PeerWireClient *client = qobject_cast<PeerWireClient *>(sender()); if (data.size() == 0) { @@ -958,7 +959,7 @@ void TorrentClient::blockReceived(int pieceIndex, int begin, const QByteArray &d } // Ignore it if we already have this block. - int blockBit = begin / BlockSize; + qint32 blockBit = begin / BlockSize; TorrentPiece *piece = d->pendingPieces.value(pieceIndex); if (!piece || piece->completedBlocks.testBit(blockBit)) { // Discard blocks that we already have, and fill up the pipeline. @@ -1026,7 +1027,7 @@ void TorrentClient::peerWireBytesReceived(qint64 size) emit dataSent(size); } -int TorrentClient::blocksLeftForPiece(const TorrentPiece *piece) const +qint32 TorrentClient::blocksLeftForPiece(const TorrentPiece *piece) const { return piece->completedBlocks.count(false); } @@ -1113,7 +1114,7 @@ void TorrentClient::schedulePieceForClient(PeerWireClient *client) // Make a list of all the client's pending pieces, and count how // many blocks have been requested. - QList<int> currentPieces; + QList<qint32> currentPieces; bool somePiecesAreNotInProgress = false; TorrentPiece *lastPendingPiece = nullptr; QMultiMap<PeerWireClient *, TorrentPiece *>::Iterator it = d->payloads.find(client); @@ -1164,7 +1165,7 @@ void TorrentClient::schedulePieceForClient(PeerWireClient *client) // the same piece. In endgame mode, this only applies to // clients that are currently uploading (more than 1.0KB/s). if ((d->state == Endgame && client->uploadSpeed() < 1024) || d->state != WarmingUp) { - QMap<int, TorrentPiece *>::ConstIterator it = d->pendingPieces.constBegin(); + auto it = d->pendingPieces.constBegin(); while (it != d->pendingPieces.constEnd()) { if (it.value()->inProgress) incompletePiecesAvailableToClient.clearBit(it.key()); @@ -1176,7 +1177,7 @@ void TorrentClient::schedulePieceForClient(PeerWireClient *client) incompletePiecesAvailableToClient &= client->availablePieces(); // Remove all pieces that this client has already requested. - for (int i : std::as_const(currentPieces)) + for (qint32 i : std::as_const(currentPieces)) incompletePiecesAvailableToClient.clearBit(i); // Only continue if more pieces can be scheduled. If no pieces @@ -1188,7 +1189,7 @@ void TorrentClient::schedulePieceForClient(PeerWireClient *client) // Check if any of the partially completed pieces can be // recovered, and if so, pick a random one of them. QList<TorrentPiece *> partialPieces; - QMap<int, TorrentPiece *>::ConstIterator it = d->pendingPieces.constBegin(); + auto it = d->pendingPieces.constBegin(); while (it != d->pendingPieces.constEnd()) { TorrentPiece *tmp = it.value(); if (incompletePiecesAvailableToClient.testBit(it.key())) { |