diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-06-13 21:34:08 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-06-13 21:34:08 +0900 |
| commit | e3506b04fb22c2770487793a2bcf79d0dfbd5ca5 (patch) | |
| tree | 7d074c86fa64226947e0dd46b56a8a7a3151fe60 /src/BtPieceMessage.cc | |
| parent | 9eea95945568ecc01221fb827ff211d98207bf79 (diff) | |
Revert 9eea959 only the parts which affect src/BtPieceMessage.cc
This is because we are not sure that peer has a piece just sending off
its block. It should be notified by the peer.
Diffstat (limited to 'src/BtPieceMessage.cc')
| -rw-r--r-- | src/BtPieceMessage.cc | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/src/BtPieceMessage.cc b/src/BtPieceMessage.cc index 12ffa2f0..04025f48 100644 --- a/src/BtPieceMessage.cc +++ b/src/BtPieceMessage.cc @@ -179,10 +179,8 @@ size_t BtPieceMessage::getMessageHeaderLength() namespace { struct PieceSendUpdate : public ProgressUpdate { - PieceSendUpdate(const SharedHandle<Peer>& peer, size_t headerLength, - size_t index, const SharedHandle<PieceStorage>& pieceStorage) - : peer(peer), headerLength(headerLength), index(index), - pieceStorage(pieceStorage) {} + PieceSendUpdate(const SharedHandle<Peer>& peer, size_t headerLength) + : peer(peer), headerLength(headerLength) {} virtual void update(size_t length, bool complete) { if(headerLength > 0) { @@ -191,17 +189,9 @@ struct PieceSendUpdate : public ProgressUpdate { length -= m; } peer->updateUploadLength(length); - if(complete && !peer->hasPiece(index)) { - // Update peer's bitfield because peer may not send HAVE message - // to us. - peer->updateBitfield(index, 1); - pieceStorage->addPieceStats(index); - } } SharedHandle<Peer> peer; size_t headerLength; - size_t index; - SharedHandle<PieceStorage> pieceStorage; }; } // namespace @@ -234,9 +224,7 @@ void BtPieceMessage::pushPieceData(int64_t offset, int32_t length) const buf.reset(0); getPeerConnection()->pushBytes(dbuf, length+MESSAGE_HEADER_LENGTH, new PieceSendUpdate(getPeer(), - MESSAGE_HEADER_LENGTH, - index_, - getPieceStorage())); + MESSAGE_HEADER_LENGTH)); // To avoid upload rate overflow, we update the length here at // once. downloadContext_->updateUploadLength(length); |
