2
0
mirror of synced 2025-02-24 14:48:27 +00:00

521 Commits

Author SHA1 Message Date
Matt Joiner
838c35f3ea Solve the mystery bug with TestMaxEstablishedConns
Adding Torrent by infohash wasn't triggering connections to be accepted, when both TCP and uTP were enabled.
2016-07-07 14:49:18 +10:00
Matt Joiner
40a78b7cdd Improve logging heuristic for sending chunks of pieces that go missing 2016-07-06 14:03:11 +10:00
Matt Joiner
38048672a7 Rework locking in Client.acceptConnections 2016-07-06 00:38:43 +10:00
Matt Joiner
326b36545b Prepare to allow max conns per torrent to be configured 2016-07-05 16:23:17 +10:00
Matt Joiner
6b447c8d2b Track closing of outbound TCP connections
Got all inbound and outbound UTP, missed this one I think.
2016-06-20 17:51:40 +10:00
Matt Joiner
cee200a5a2 Add piece completion storage
Toward fixing https://github.com/anacrolix/torrent/issues/50.
2016-06-20 17:51:05 +10:00
Matt Joiner
b84298351a Move a few methods to Torrent, and track how many DHT announces occur
I suspect that DHT announces may occur too regularly, or without a break for torrents that aren't able to get over the lower water pending peer mark.
2016-06-15 15:29:47 +10:00
Matt Joiner
c2bdb31bb3 Client.announceTorrentDHT -> Torrent.announceDHT 2016-06-15 15:13:53 +10:00
Matt Joiner
060ff72175 Improve the logic for which address to use for DHT 2016-05-24 19:46:24 +10:00
Matt Joiner
7a4b491ede Tidy up the listen function 2016-05-24 19:45:42 +10:00
lovedboy
ca8d9de944 add return when utpsock's err is not nil 2016-05-24 13:24:29 +08:00
lovedboy
0b36de4be9 Merge branch 'master' of https://github.com/lovedboy/torrent 2016-05-24 13:19:55 +08:00
lovedboy
fd1b4dc489 listenedAddr fix when TCP or UDP bind dynamic port 2016-05-24 13:18:04 +08:00
Matt Joiner
b55e67dc22 Ban IPs that contribute to failed piece checks 2016-05-24 02:09:47 +10:00
Matt Joiner
c6ec935e53 Update Torrent.wantPeersEvent in several places 2016-05-23 10:19:14 +10:00
Matt Joiner
7a60873ec8 Don't create an empty tracker URL if both AnnounceList and Announce are empty 2016-05-22 23:43:55 +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
8cdcbe9d40 Fix the tracker method receivers and names 2016-05-19 23:58:00 +10:00
Matt Joiner
7600ac70e3 Move torrent tracker methods into torrent.go 2016-05-19 22:49:37 +10:00
Matt Joiner
73a648fb32 Torrent.writeStatus: Include human readable torrent size 2016-05-19 17:15:10 +10:00
Matt Joiner
a69044b9ea Break out KRPC stuff from dht into new package 2016-05-17 16:40:08 +10:00
Matt Joiner
cf55055d12 Improve the note about chunk writing concurrency
Everytime I see memory spike I suspect this, and it isn't it.
2016-05-17 02:12:06 +10:00
Matt Joiner
02ea8b1081 Rename storage.I->Client 2016-05-16 21:50:43 +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
2b46a17b39 Bit of a tidy in the tracker code 2016-05-12 12:43:37 +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
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
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
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
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
Seth Hoenig
9f4bf70e17 refactor struct identifiers to follow conventional go names 2016-04-18 23:11:11 -05:00
Matt Joiner
da4d40ed7e Merge all our global consts and vars into global.go
For easier referral to other parties.
2016-04-14 17:19:07 +10:00
Matt Joiner
f83771b660 Apply ineffassign linter 2016-04-04 15:39:26 +10:00
Matt Joiner
82ee860e8d Apply unconvert linter 2016-04-04 15:28:25 +10: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
fa511154e4 Move Magnet and friends into metainfo package 2016-04-04 13:48:39 +10:00
Matt Joiner
b80bb6393a Use metainfo.Hash for piece and info hashes 2016-04-04 13:01:31 +10:00
Matt Joiner
00f33c848e Adding a torrent without info after waitAccept has blocked wouldn't trigger further accepts immediately 2016-04-03 22:06:25 +10:00
Matt Joiner
22ad654420 Fix deadlocks in WriteStatus due to incomplete renaming 2016-04-03 20:54:14 +10:00