Commit Graph

1271 Commits

Author SHA1 Message Date
Matt Joiner 9c837a03d0 Move issue #95 tests into their own file 2016-07-09 00:36:53 +10:00
Matt Joiner 11a53fa732 Fix issue #95: Closing torrent storage also closed client storage for some storage types 2016-07-09 00:36:32 +10:00
Matt Joiner 408686b440 Add a test for issue #95 2016-07-09 00:28:12 +10:00
Matt Joiner 5475555252 metainfo: Move method in wrong file 2016-07-09 00:12:32 +10:00
Matt Joiner 2490c96f2f metainfo.Info.BuildFromFilePath: Ensure stable file ordering
Spotted by @axet, with precedent in Transmission.
2016-07-07 19:40:26 +10:00
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 f39ab0cb8f Revert "Revert "TestSetMaxEstablishedConn does now work with utp""
This reverts commit 9b3869f3c5.
2016-07-07 14:16:06 +10:00
Matt Joiner a6cecc6b5f missinggo.Sort->SortSlice 2016-07-07 14:14:59 +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 40a78b7cdd Improve logging heuristic for sending chunks of pieces that go missing 2016-07-06 14:03:11 +10:00
Matt Joiner cd1c1a9fed mmap storage: Close pieceCompletion on Close 2016-07-06 14:02:15 +10:00
Matt Joiner dbb3c25b1a storage: Move pieceCompletion interface into correct file 2016-07-06 13:38:16 +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 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 12191dbfa3 Add counters for uploads
Fixes #71.
2016-07-05 15:52:33 +10:00
Matt Joiner 12486412b3 Remove redundant check in Torrent.SetInfoBytes 2016-06-27 15:46:43 +10:00
Matt Joiner afc76861e0 Throw away Torrent display name when info becomes available 2016-06-27 15:46:27 +10:00
Matt Joiner 874bba43f8 Fix crash causing deadlock in connection writer when no messages have been posted yet 2016-06-27 15:45:15 +10:00
Matt Joiner 364f617ade Add metainfo.NewHashFromHex 2016-06-21 02:35:53 +10:00
Matt Joiner ce0a3d56f1 storage: Remove debug log 2016-06-20 18:21:16 +10:00
Matt Joiner d80d0db9d5 storage: Also use completion DB in mmap implementation 2016-06-20 18:20:59 +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 b75e85d187 storage.MMapTorrent should not be exported 2016-06-20 16:11:43 +10:00
Matt Joiner 9b48d0c7a5 Suppress tracker scraping errors until I decide what to do with them
They're not really necessary, but I had them enabled while I rewrote the tracker scraper code.
2016-06-18 17:23:53 +10:00
Matt Joiner 1b3e37b9ed cmd/torrent: Remove unused "short" tag 2016-06-18 16:02:59 +10:00
Matt Joiner d20384b421 cmd/torrent-create: Improve spelling and descriptions 2016-06-16 12:27:49 +10:00
Alexey Kuznetsov ad5d5bc350 -a option (#86)
* add -a option

* name
2016-06-16 01:25:48 +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 727d002e5a bencode.Encoder: Unembed the Writer and wrap it in a minimal interface
I won't remove the bufio.Buffer for Marshal now, it isn't a performance issue as far as I can tell, and I'd have to fake Flush().
2016-06-15 15:09:34 +10:00
Matt Joiner ac3b40ace3 bencode: Remove private types encoder and decoder
Instead the functionality is exposed directly on the public types.
2016-06-15 15:00:51 +10:00
Matt Joiner d9b7e7f297 bencode.Unmarshal: Remove unnecessary intermediate bufio.Reader 2016-06-15 14:54:40 +10:00
Matt Joiner 9d1a33facc bencode: Unembed the Reader type, and minimize the interface surface
Want to remove some unnecessary allocations.
2016-06-15 14:51:58 +10:00
Matt Joiner 9e0cae9113 README: Improve the cmd/torrent doc 2016-06-01 22:44:22 +10:00
Matt Joiner 7123523634 Merge pull request #84 from gdouezangrard/master
fix disabling of global bootstrap servers for announce when the node table is empty
2016-06-01 12:12:38 +10:00
Guillaume Douézan-Grard 4d917b059c fix bootstrap from global servers disabling 2016-06-01 03:02:21 +02:00
Matt Joiner 6cac882030 Reduce the impact of preferring earlier pieces
I think urgent pieces at the end of a torrent were getting fairly starved.
2016-05-28 22:04:33 +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
Matt Joiner 000f430105 Add tests for #81 2016-05-24 19:35:23 +10:00
Matt Joiner 0a9db65df1 Merge pull request #81 from lovedboy/master
fix listenedAddr  bug when TCP or UDP bind dynamic port
2016-05-24 19:09:57 +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