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
6f470a2d02
Don't log missing files during hashing
2016-05-16 19:50:46 +10:00
Matt Joiner
cbac2ecaff
Stop returning errors from the 2 callstacks to connectionLoop where errors are expected
2016-05-16 19:50:10 +10:00
Matt Joiner
c0283d3314
Return an error from Torrent.setMetadataSize
...
This should mean connections sending ridiculous metadata sizes get dropped.
2016-05-16 18:48:56 +10:00
Matt Joiner
d2951c6c4b
Move requestPendingMetadata onto connection from Client
2016-05-16 18:46:38 +10:00
Matt Joiner
0231beeac7
iplist/cmd/pack-blocklist use tagflag
2016-05-16 18:45:23 +10:00
Matt Joiner
61e43f4261
Add piece-per-resource storage
2016-05-16 18:44:58 +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
2b46a17b39
Bit of a tidy in the tracker code
2016-05-12 12:43:37 +10:00
Matt Joiner
b714da8184
Torrent.AddPeers can't fail, so don't return an error
2016-05-12 12:26:09 +10:00
Matt Joiner
dcfee93f96
Fix race marshalling a bitfield after a Have has also been posted
2016-05-11 23:50:21 +10:00
Matt Joiner
67dbccff40
Update package doc
...
In particular, ConfigDir has gone away.
2016-05-11 21:53:42 +10:00
Matt Joiner
528836ab4c
Get rid of obsoleted Torrent.ceaseNetworking, and clean up Torrent.closing
2016-05-11 21:44:55 +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
948552b282
Remove unused Client.pruneTimer
2016-05-11 21:08:55 +10:00
Matt Joiner
715a74985f
Wasn't using ChunkSize from TorrentSpec
2016-05-09 23:00:20 +10:00
Matt Joiner
c4a6f66a95
Lock now required around missinggo.Event variables
2016-05-09 16:44:06 +10:00
Matt Joiner
a45a09b877
Rework setting of info bytes
2016-05-09 15:47:39 +10:00
Matt Joiner
0aabd37e6e
Add some comments to file storage
2016-05-09 15:46:48 +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
b8e1edef27
Remove the vestiges of the expose tracker Client interface
2016-05-09 12:20:35 +10:00
Matt Joiner
b9a7cbfa14
dht: Fix race contacting starting addrs in Announce
2016-05-07 19:02:30 +10:00
Matt Joiner
1d87653738
Fix dht.Server.Announce never stopping if the starting addresses can't be contacted
2016-05-07 18:58:43 +10:00
Matt Joiner
69643860ea
Move some behaviour into Client.newConnection
2016-05-07 18:57:38 +10:00
Matt Joiner
0fd73396fd
missinggo.Event changed, connection.writeOptimizer changes
2016-05-07 18:56:44 +10:00
Matt Joiner
d5d3d9f623
tracker: Skip DNS error in UDP test
2016-05-07 18:17:40 +10:00
Matt Joiner
9c36d36654
cmd/torrent-infohash update for API changes
2016-05-06 15:09:59 +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
Matt Joiner
533f01147d
metainfo: Add HashBytes
2016-05-03 21:34:20 +10:00
Matt Joiner
e0451b0728
metainfo: Improve doc
2016-05-03 21:34:11 +10:00
Matt Joiner
bed302faa8
metainfo.Info.BuildFromFilePath contained unnecessary log, and didn't handle error correctly
2016-05-03 20:25:16 +10:00
Matt Joiner
3c612cbfc8
cmd/torrent-create: Tidy up flags and remove redundant function calls
...
Issue #80
2016-05-03 16:49:30 +10:00
Matt Joiner
f6b83130c9
Move a bunch of Torrent methods from client.go
2016-05-03 16:47:11 +10:00
Matt Joiner
d47ba4a08f
Rework handling of metadata data messages
...
There are some dubious logs probably resulting from poor ordering of some code for handling incoming metadata data messages.
2016-05-03 14:59:54 +10:00
Matt Joiner
726e763c46
Doc and logging improvements
2016-05-03 14:58:26 +10:00
Matt Joiner
8ae88151a8
cmd/torrent-metainfo-pprint: Add -files flag, and expose NumFiles and TotalLength in output
2016-05-03 12:51:31 +10:00
Matt Joiner
bdf36c09cf
Doc metainfo.Info.BuildFromFilePath
2016-05-03 12:51:03 +10:00
Matt Joiner
1936054615
cmd/torrent-metainfo-pprint: Also print InfoHash
2016-05-02 19:14:49 +10:00
Matt Joiner
7044161faa
Add metainfo.Hash.FromHexString
2016-05-02 11:21:03 +10:00
Matt Joiner
5882a3b32e
Remove metainfo.Builder, and issue #35 test for it
...
Builder is poorly designed, and issue #35 is poorly written. I don't want to support either of them.
2016-04-30 12:00:12 +10:00
Matt Joiner
0cd8b4fd3b
Allow encoding private=0 in metainfo, which fixes test for not using InfoEx.Bytes when marshalling as a shortcut
2016-04-30 11:59:10 +10:00
Matt Joiner
62c751ff7f
Also fix "context" in reader_test.go
2016-04-30 11:46:45 +10:00
Matt Joiner
d2fa0e814d
Ugh, "context" isn't in go 1.6
2016-04-30 11:33:07 +10:00
Matt Joiner
f62ff2f540
Add Reader.ReadContext
...
Allows cancelling reads etc. Torrents that get stuck can result in Reads that won't return until the torrent is dropped.
2016-04-30 11:08:29 +10:00
Matt Joiner
28c9ec2bd1
Some changes to metainfo.InfoEx and testutil
2016-04-30 11:07:29 +10:00
Matt Joiner
63c5ca1f01
Fix crash when peers have sent undersized bitfields and we get the torrent info
2016-04-30 04:08:02 +10:00
Matt Joiner
1fab765329
Change the behaviour of Torrent.Length with when info isn't available
2016-04-20 20:10:39 +10:00
Matt Joiner
61acdf6184
Improve some docs
2016-04-20 20:10:10 +10:00