Matt Joiner
000f430105
Add tests for #81
2016-05-24 19:35:23 +10:00
Matt Joiner
20870ec4ff
Rework torrent tracker scraping
...
New scrapers are added anytime trackers are added to a torrent. In the future they will also be stopped as soon as they're removed. All trackers are concurrently scraped, the old-style of sticking to one tracker that works is abandoned for now.
2016-05-22 22:45:08 +10:00
Matt Joiner
c1e0d37266
Rename some storage funcs
2016-05-16 22:02:03 +10:00
Matt Joiner
02ea8b1081
Rename storage.I->Client
2016-05-16 21:50:43 +10:00
Matt Joiner
9b5d3cac03
Test both resource and file backends to piece storage
2016-05-16 20:11:00 +10:00
Matt Joiner
52e285ea86
Remove unused fields in testDownloadCancelParams
2016-05-16 20:10:33 +10:00
Matt Joiner
506ad00fd5
Probably fix test failure
...
Due to some changes in the Torrent instantiation code, I think there's a race in this test to verify the piece before counting the pending chunks. The torrent isn't supposed to be complete to begin with, so give it a bogus data directory to ensure it.
2016-05-12 12:44:51 +10:00
Matt Joiner
dce3a7f675
Rework Client listeners
...
In particular, if the ListenAddr used a dynamic port ":0", and both TCP and uTP were enabled. If the TCP listen succeeded, and the uTP did not, the TCP listener was leaked, and another port number was not tried.
2016-05-11 21:11:52 +10:00
Matt Joiner
a45a09b877
Rework setting of info bytes
2016-05-09 15:47:39 +10:00
Matt Joiner
cee49435e0
Add Client.AddTorrentInfoHash, and some other tidying
...
Remove Client.bannedTorrents, which shouldn't have been in use anymore. Also fix Client.newTorrent.
2016-05-09 14:37:29 +10:00
Matt Joiner
0fd73396fd
missinggo.Event changed, connection.writeOptimizer changes
2016-05-07 18:56:44 +10:00
Matt Joiner
b5812bb0b7
Remove the last of the "config dir" stuff
...
This just conflates the Client. It should be done orthogonally.
2016-05-05 23:05:28 +10:00
Matt Joiner
2d160b0419
metainfo.InfoEx.Hash becomes a function, UpdateBytes is added, and Bytes used in marshalling
...
Fixes #80 .
2016-05-05 22:40:38 +10:00
Seth Hoenig
9f4bf70e17
refactor struct identifiers to follow conventional go names
2016-04-18 23:11:11 -05:00
Matt Joiner
1566e2afdc
Remove deadcode
2016-04-04 15:18:51 +10:00
Matt Joiner
8f164ae956
Remove some of the magic ConfigDir stuff
...
This might become a helper. Torrent file cache still remains.
2016-04-04 14:04:48 +10:00
Matt Joiner
b80bb6393a
Use metainfo.Hash for piece and info hashes
2016-04-04 13:01:31 +10:00
Matt Joiner
d3a1c79c79
Merge Torrent and torrent types
2016-04-03 18:40:43 +10:00
Matt Joiner
08830b97a1
Make everything on type torrent private
2016-04-03 16:50:53 +10:00
Matt Joiner
446e11b1fc
Missing error checks in test
2016-03-30 19:16:40 +11:00
Matt Joiner
c0e060de63
Suppress logging noise in tests
2016-03-30 19:12:57 +11:00
Matt Joiner
7790e72832
Move storage.FileStore interface to missinggo
2016-03-30 19:12:33 +11:00
Matt Joiner
5856b91af0
Fix missinggo import
2016-03-30 19:11:55 +11:00
Matt Joiner
ee22446440
Reimplement piece storage
2016-03-29 11:14:34 +11:00
Matt Joiner
a5b54f21a1
Make opening a torrent in storage an explicit method
...
This is storage types where opening can fail, like mmap
2016-03-28 22:40:29 +11:00
Matt Joiner
775cf53809
Get mmap storage working
2016-03-28 21:57:04 +11:00
Matt Joiner
b97b50aca9
New storage interface
2016-03-28 20:38:30 +11:00
Matt Joiner
ac184c8f52
Tidy up a test that fails with the wrong reasons
2016-03-24 23:52:38 +11:00
Matt Joiner
0c877a9d94
Add a test for bad have messages
...
The reason for the cleanup to peer have-related messages in the first place.
2016-03-22 13:09:02 +11:00
Matt Joiner
67aea29ba9
Extend the timeout, drone.io is slow?
2016-02-26 22:18:08 +11:00
Matt Joiner
a8ad7dfd0e
Add test checking that cancel works
2016-02-26 22:10:29 +11:00
Matt Joiner
5cc8d8a652
Catch error creating client in tests
2016-02-26 22:10:09 +11:00
Matt Joiner
976510db60
Add DHT nodes from metainfo when added to Client
2016-02-24 21:56:50 +11:00
Matt Joiner
5665505dc7
Test that metainfo nodes are added to the DHT
2016-02-24 01:48:44 +11:00
Matt Joiner
c03593bc01
Catch error creating new client in test
2016-02-22 14:30:02 +11:00
Matt Joiner
033c95d73b
Add a client transfer test with limited file cache, and a second pass read
2016-02-22 02:41:07 +11:00
Matt Joiner
c50742fdac
Move exportClientStatus to testutil.ExportStatusWriter
2016-02-22 02:36:41 +11:00
Matt Joiner
fd42ed877f
Don't run TestCompletedPieceWrongSize in parallel because it messes up logs
2016-02-22 00:31:06 +11:00
Matt Joiner
c64ad19dbb
Test a ton of permutations for readahead and responsive
2016-02-22 00:30:42 +11:00
Matt Joiner
4846021c0c
Tidy up TestClientTransfer
2016-02-21 22:08:01 +11:00
Matt Joiner
d5f888069f
Ditch Data.WriteSectionTo, and fix cmd/torrent-verify
2016-02-18 11:45:31 +11:00
Matt Joiner
dcce061152
Rework Reader reading, and TestCompletedPieceWrongSize
2016-02-17 18:26:10 +11:00
Matt Joiner
7ab984ab52
Add a test for starting a torrent where pieces are already complete
2016-02-17 17:09:05 +11:00
Matt Joiner
0f9f7ba01b
Add torrent.completedPieces bitmap
...
Reduce load on data.PieceComplete for torrents with lots of pieces, when reader position changes. Not sure of the improvement yet.
2016-02-17 00:00:55 +11:00
Matt Joiner
dc215d083e
Export PieceStateChange through piece state change pubsub
2016-02-07 21:55:47 +11:00
Matt Joiner
0c28a0f1b1
Use new tracker package interface
2016-02-07 18:49:35 +11:00
Matt Joiner
b4f04ddc61
Missing Reader.Close in some tests
2016-02-05 01:17:26 +11:00
Matt Joiner
b8e9ef4be2
Export leecher and seeder in TestClientTransfer
2016-02-01 21:09:25 +11:00
Matt Joiner
eb838a894c
newTorrent doesn't need to return error
2016-02-01 07:05:43 +11:00
Matt Joiner
94d764e6be
Readers changing wasn't triggering waitAccept
...
Caused occasional stall in TestSeedAfterDownloading.
2016-01-25 04:14:19 +11:00