diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-03-24 11:59:18 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-03-24 11:59:18 +0000 |
| commit | 2065b049ab60cf5399b08c525acba116a3480d36 (patch) | |
| tree | b2c410ff62d943b9c8046df3f79db5bc3317f29e /src/PeerInteractionCommand.cc | |
| parent | be44f3a7369fb896b372f7e0286b428e4e66bac9 (diff) | |
* Request.h: Added AFTER_COMPLETED event.
* TorrentDownloadEngine.cc: Prints "Download complete" message
instead of downloaded size and progress(%) after download
completes.
* PeerInteractionCommand.cc: After download completes, sends
unchoke
message to the peer if it is interested in what localhost has
downloaded.
* TorrentMan.cc: In single-file mode, copy temporary file to the
final
destination instead of just renaming it.
* TorrentMan.cc: Added deleteTempFile().
* PeerAbstractCommand.cc: do not stop execution after download
completes. This makes localhost a seeder.
* Util.{h,cc}: Added fileCopy().
* PeerListenCommand.cc: do not stop execution after download
completes.
This makes localhost a seeder.
* main.cc: Do not call TorrentMan::fixFilename() in
torrentHandler.
Added TorrentMan::deleteTempFile() to torrentHandler.
Initialized the variable dir as ".".
* TorrentMan.h: Changed DEFAULT_ANNOUNCE_INTERVAL to 120
seconds.
Deleted renameSingleFile().
Added copySingleFile(), deleteTempFile().
* DownloadEngine.h: Added virtual function afterEachIteration().
* TorrentDownloadEngine.cc: Move a call to
TorrentMan::fixFilename()
in onEndOfRun() to afterEachIteration().
In onEndOfRun(), changed if condition to check whether
filenameFixed is
true.
* Util.cc: Implemented fileCopy() using rangedFileCopy().
In rangedFileCopy(), added try-catch block to properly close
file
descriptors.
* TorrentDownloadEngine.cc: Added a member variable
filenameFixed.
Added afterEachIteration(), isFilenameFixed().
* Peer.cc: Changed choking strategy.
* PreAllocationDiskWriter.cc: Drop O_DIRECT flag.
* TrackerInitCommand.cc: Send completed event only once.
* DownloadEngine.cc: Added a call to afterEachIteration().
* TrackerUpdateCommand.cc: Do not stop execution after download
completes.
* TorrentMan.h: Defined MAX_PEER_UPDATE as 15. aria2 attempts to
connect the peers at most MAX_PEER_UPDATE when a peer list is
received from a tracker.
* TrackerUpdateCommand.cc: Implemented above mentioned behavior.
Decreased the number of failure peers to delete to 0(just
comment out
the line).
* Release 0.3.1
Diffstat (limited to 'src/PeerInteractionCommand.cc')
| -rw-r--r-- | src/PeerInteractionCommand.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/PeerInteractionCommand.cc b/src/PeerInteractionCommand.cc index 6c6b3ab5..4e2a6969 100644 --- a/src/PeerInteractionCommand.cc +++ b/src/PeerInteractionCommand.cc @@ -124,6 +124,13 @@ void PeerInteractionCommand::syncPiece() { } void PeerInteractionCommand::decideChoking() { + if(e->torrentMan->downloadComplete()) { + if(peer->amChocking && peer->peerInterested) { + PendingMessage pendingMessage(PeerMessage::UNCHOKE, peerConnection); + pendingMessages.push_back(pendingMessage); + } + return; + } if(peer->shouldChoke()) { if(!peer->amChocking) { PendingMessage pendingMessage(PeerMessage::CHOKE, peerConnection); |
