Commit Graph

1103 Commits

Author SHA1 Message Date
Matt Joiner 7ac5dfd828 Reinstate File.PrioritizeRegion() for backward compatibility 2016-02-07 17:15:06 +11:00
Matt Joiner 77d6e9e5cb Use new missinggo iterator style, and speed up torrent.connHasWantedPieces() 2016-02-07 01:22:31 +11:00
Matt Joiner 814daf6420 Publish changes in piece hashing state 2016-02-07 01:21:12 +11:00
Matt Joiner 2e3bc1090b Speed up torrent.needData, and use new missinggo iterator interface 2016-02-07 01:20:40 +11:00
Matt Joiner 1b8bc1498c Use missinggo.bitmap for tracking dirty chunks 2016-02-05 15:45:32 +11:00
Matt Joiner 1ea9beb802 tracker: Rename the http client type to httpClient 2016-02-05 15:42:23 +11:00
Matt Joiner 95aa411699 missinggo.ZeroReader is now a var, not a type 2016-02-05 01:20:02 +11:00
Matt Joiner 6942f3e6d5 Changes to piece priority need to be published as a piece state change
This occurs because we're now able to deprioritize pieces after readers seek or close
2016-02-05 01:19:42 +11:00
Matt Joiner 63c73e18b3 Add File.Cancel 2016-02-05 01:18:54 +11:00
Matt Joiner b4f04ddc61 Missing Reader.Close in some tests 2016-02-05 01:17:26 +11:00
Matt Joiner 9b9a3fb20a Fix the mess that is the connectionLoop after messages are decoded 2016-02-05 01:17:06 +11:00
Matt Joiner 3acdcc3b45 Tidy code 2016-02-04 15:04:46 +11:00
Matt Joiner 89f23c226c Fix bug in readahead 2016-02-02 04:45:57 +11:00
Matt Joiner 19a304b8ea connection.Close must be called under the Client lock 2016-02-02 00:45:26 +11:00
Matt Joiner 0e85ff190d go vet 2016-02-02 00:44:29 +11:00
Matt Joiner 430f26f726 Recalculate all piece priorities more efficiently 2016-02-01 22:06:13 +11:00
Matt Joiner afa264e6c5 Reintroduce connection piece inclinations, and begin caching piece priorities 2016-02-01 21:11:41 +11:00
Matt Joiner b8e9ef4be2 Export leecher and seeder in TestClientTransfer 2016-02-01 21:09:25 +11:00
Matt Joiner 3ed628356b Use missinggo.Event for connection closing event 2016-02-01 21:08:52 +11:00
Matt Joiner eb838a894c newTorrent doesn't need to return error 2016-02-01 07:05:43 +11:00
Matt Joiner b90dacd324 Abstract the pendingPieces as a bitmap 2016-02-01 01:46:28 +11:00
Matt Joiner 9824041e5a Begin tracking use of file descriptors in UDP tracker 2016-01-31 19:04:15 +11:00
Matt Joiner 3a206d4f12 util/profile was replaced by github.com/anacrolix/envpprof 2016-01-31 18:35:51 +11:00
Matt Joiner f98d9c0a47 util/levelmu is no longer in use 2016-01-31 18:35:23 +11:00
Matt Joiner b6947546a9 TODO 2016-01-31 18:35:08 +11:00
Matt Joiner 06e073c026 Obsolete NOTES file 2016-01-30 05:19:39 +11:00
Matt Joiner 16ae96eb29 Merge pull request #60 from jpillora/patch-1
list cloud torrent in "projects using Torrent"
2016-01-29 18:04:36 +11:00
Jaime Pillora 72702155ba list cloud torrent in "projects using Torrent" 2016-01-29 16:13:24 +11:00
Matt Joiner 2a0b78e7ef Merge branch 'noprio2' 2016-01-28 20:21:04 +11:00
Matt Joiner 779085c6fe Remove obsolete note about priorities 2016-01-28 17:22:10 +11:00
Matt Joiner 9e50da4892 Fix stall if data goes missing during a read 2016-01-28 13:21:50 +11:00
Matt Joiner 84c34e2c37 TODO 2016-01-28 13:04:25 +11:00
Matt Joiner ae9bba2611 Fix downloading of unwanted chunks, and write out downloaded chunks using the connection loop goroutine
Doing the writes with the connection loop goroutine prevents memory use blowing out when chunks aren't written out quickly enough.
2016-01-28 05:54:48 +11:00
Matt Joiner 90348f6a48 Add pending write helpers 2016-01-25 07:22:33 +11:00
Matt Joiner 94d764e6be Readers changing wasn't triggering waitAccept
Caused occasional stall in TestSeedAfterDownloading.
2016-01-25 04:14:19 +11:00
Matt Joiner 9091c0518d Use pendingPieces in needData 2016-01-24 15:21:31 +11:00
Matt Joiner 0ad4dda9fc Move fillRequests and replenishConnRequests into connection.go 2016-01-24 15:21:17 +11:00
Matt Joiner cafac95de4 Delete finished pieces from pending 2016-01-19 01:41:53 +11:00
Matt Joiner 9f79838033 require->assert in test 2016-01-19 01:41:33 +11:00
Matt Joiner 2f40c48d37 Fix the download/prioritize piece functions
This involves adding a pendingPieces field to torrent.
2016-01-19 01:28:56 +11:00
Matt Joiner df07d93330 dht: Start timer under transaction lock
Satisfies race detector
2016-01-19 00:34:40 +11:00
Matt Joiner fe9d5702f6 Fixes for torrent.Reader not having ReadAt 2016-01-18 20:12:51 +11:00
Matt Joiner 08c0c49c4a Remove internal/pieceordering 2016-01-18 20:11:53 +11:00
Matt Joiner 06445f2a1e It's working and the tests are usually passing
I still need to handle "prefetch"-style downloading, and some functions haven't been committed to force this issue.
2016-01-18 18:35:14 +11:00
Matt Joiner 8bbfcfcaa4 Resurrect some comments on Torrent methods 2016-01-17 01:49:34 +11:00
Matt Joiner 1a20ac23da Reexport Torrent.MetaInfo 2016-01-17 01:49:04 +11:00
Matt Joiner 89a6a20af6 Finally make Torrent.torrent private
A lot of code was using unintentionally exported stuff from the embedded *torrent in Torrent.
2016-01-17 00:14:15 +11:00
Matt Joiner 8696f32e58 Make Config.DHTConfig not a pointer 2016-01-17 00:12:53 +11:00
Matt Joiner 2beb5f8bd4 Track dirty chunks, instead of pending chunk specs
This is the first step toward having purely Reader-based priorities. If a chunk is pending, that currently implies that we want to download it. I want to move that kind of state out to the readers.
2016-01-13 17:11:59 +11:00
Matt Joiner 153c13db43 Revert "Merge pull request #54 from zhulik/master"
This reverts commit 5cf75b869c, reversing
changes made to 09050ff2c5.
2016-01-06 12:19:49 +11:00