Matt Joiner
ab8349eee1
Improve test reliability on Linux and reduce log noise in tests
2016-08-31 20:14:57 +10:00
Matt Joiner
3c2db92a83
Add boltdb storage backend
2016-08-31 17:48:50 +10:00
Matt Joiner
6f7623ff3c
Add missing error return check in benchmark
2016-08-30 14:09:01 +10:00
Matt Joiner
2a1cef7c9e
Remove the InfoEx type, and don't generate its infohash on the fly
...
Fixes #106 .
2016-08-26 20:29:05 +10:00
Matt Joiner
534275b625
Always run seeder and leecher on the same ports, to flex dht.Socket.CloseNow
2016-07-30 00:42:22 +10:00
Matt Joiner
debcb10b08
Some comments helping to break up the blocks in testClientTransfer
2016-07-24 00:35:34 +10:00
Matt Joiner
192bb829fb
Remove duplicate seeder stat test assertions
2016-07-12 18:09:24 +10:00
Matt Joiner
fbe0ded844
Add connection read stats
2016-07-12 16:42:04 +10:00
Matt Joiner
7f6b9dbf7a
Remove unnecessary log in test
2016-07-11 15:03:29 +10:00
Matt Joiner
40aa30d984
Rework the client transfer test to allow non-piece-based leecher storage
...
In preparation for tests for data going missing for the file-based storages. Issue #96
2016-07-10 15:01:08 +10:00
Matt Joiner
f39ab0cb8f
Revert "Revert "TestSetMaxEstablishedConn does now work with utp""
...
This reverts commit 9b3869f3c5
.
2016-07-07 14:16:06 +10:00
Matt Joiner
9b3869f3c5
Revert "TestSetMaxEstablishedConn does now work with utp"
...
This reverts commit eb1be48cc6
.
2016-07-06 14:05:03 +10:00
Matt Joiner
eb1be48cc6
TestSetMaxEstablishedConn does now work with utp
...
I think dialing out from a utp.Socket before its reader has initialized may be the cause. Either way moving the addPeers to after all the Clients are initialized has worked around it as a side effect.
2016-07-06 11:05:04 +10:00
Matt Joiner
b7cd79ef62
Use addClientPeer helper in tests
2016-07-06 08:31:30 +10:00
Matt Joiner
0661689228
Add more thorough tests for Torrent.SetMaxEstablishedConns
2016-07-06 08:30:34 +10:00
Matt Joiner
240abaf512
Add Torrent.SetMaxEstablishedConns
2016-07-06 00:42:16 +10:00
Matt Joiner
12191dbfa3
Add counters for uploads
...
Fixes #71 .
2016-07-05 15:52:33 +10:00
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