Commit Graph

552 Commits

Author SHA1 Message Date
Matt Joiner fa025bdbee Disable AllowedFast 2015-03-18 18:21:00 +11:00
Matt Joiner 0d5c10ef53 mse: Check that readUntil doesn't read indefinitely while synchronizing 2015-03-18 18:16:27 +11:00
Matt Joiner eb29dcec80 mse: Clean-up 2015-03-18 18:14:57 +11:00
Matt Joiner 8d58fc28f6 data/blob: Change store eviction to LRU, from random replacement
It works *much* better for torrenting with a readahead window. When we want to
avoid downloading, we want to avoid downloading lots of dispersed pieces.
2015-03-18 18:12:46 +11:00
Matt Joiner 0f7c4c5bda util: Support CopyExact with pointer source
Nice to avoid copying large value types.
2015-03-18 18:09:54 +11:00
Matt Joiner 8e8d75dda1 Support initial payload, and improve tests 2015-03-13 14:30:48 +11:00
Matt Joiner 203da0aab0 Tidy up extension bytes handling; don't close conn from handshake writer; force protocol encryption for now 2015-03-13 06:21:13 +11:00
Matt Joiner d57f5896d4 mse: Tons of fixes and improvements 2015-03-13 06:16:49 +11:00
Matt Joiner 13a5b8b279 msg: Return usable object after handshake 2015-03-12 20:29:48 +11:00
Matt Joiner b3c4afbe25 Add BEP 41 support 2015-03-12 20:07:10 +11:00
Matt Joiner e85b7e228b Add support for Fast Extension 2015-03-12 20:06:23 +11:00
Matt Joiner 339c650085 Count peers obtained by tracker 2015-03-12 20:04:44 +11:00
Matt Joiner 954e03952a mse: Got basic message stream encryption working with some tests
Not complete yet.
2015-03-12 20:03:29 +11:00
Matt Joiner 5b2a91e24a Use testing config 2015-03-11 04:22:56 +11:00
Matt Joiner 26b21d1fcb Apply IP blocklist to trackers 2015-03-11 02:41:41 +11:00
Matt Joiner e6fbde0dc6 Rework piece completion 2015-03-11 02:41:21 +11:00
Matt Joiner 914bc12bb6 Harmless improvements 2015-03-11 02:39:01 +11:00
Matt Joiner a583c4a914 TODO 2015-03-09 17:36:07 +11:00
Matt Joiner 36c6283a94 Fix a status line going to stdout 2015-03-09 17:35:51 +11:00
Matt Joiner d7695c4585 Change torrent.Name() 2015-03-09 17:35:29 +11:00
Matt Joiner 0c7c2e1955 util.AddrIP, TCPAddr 2015-03-08 17:44:08 +11:00
Matt Joiner 1663a8a2f5 iplist: Fix ranges that contain extra colons, and minimize memory use for IP 2015-03-08 17:43:44 +11:00
Matt Joiner ad6ac3f2cd More cleaning of public interface 2015-03-08 17:28:14 +11:00
Matt Joiner 3e753bb8ad Change up the data storage interfaces a bit 2015-03-07 17:11:45 +11:00
Matt Joiner cad611bbcf Since IPv6 blocklists aren't prevalent, default to using IPv4 in client for now 2015-03-07 17:11:02 +11:00
Matt Joiner 881458d079 iplist: Check for matches against IPv4 and IPv6 addresses 2015-03-07 17:09:39 +11:00
Matt Joiner 1c5bd1855a Improvements to P2P blocklist scanning errors 2015-03-07 17:09:18 +11:00
Matt Joiner e4dec03a32 Change the way readahead pieces are calculated 2015-03-04 13:07:11 +11:00
Matt Joiner 779f4d3b97 Implement Handle.ReadAt 2015-03-04 13:06:33 +11:00
Matt Joiner 63361b7b47 Extraneous import 2015-03-01 15:19:35 +11:00
Matt Joiner 8858b77666 TODO 2015-03-01 14:33:10 +11:00
Matt Joiner 4eb70e0673 Support opening handles to Torrent and File 2015-03-01 14:32:54 +11:00
Matt Joiner a2d69b4931 Make blob data stateful 2015-02-27 12:45:55 +11:00
Matt Joiner bd6d72fa5f Files.Path and .FileInfo change 2015-02-27 01:46:40 +11:00
Matt Joiner 8f744300cc Add piece blob torrent.Data storage, and move testutil to internal/, add basic transfer test for Client and blob 2015-02-27 01:46:02 +11:00
Matt Joiner 315c703456 Rename TorrentData->Data 2015-02-27 01:43:37 +11:00
Matt Joiner 22746dda23 Ditch the intermediate MetaInfo type 2015-02-26 22:17:58 +11:00
Matt Joiner fd5c0798e3 fs test: Resolve localhost, some platforms are funny about it 2015-02-26 16:11:33 +11:00
Matt Joiner f588522b66 Client.Torrent(InfoHash) 2015-02-26 16:10:55 +11:00
Matt Joiner 3f335cabfc Implement File.ReadAt 2015-02-26 16:10:38 +11:00
Matt Joiner 9ffb9b0b88 Scale readahead pieces a bit 2015-02-26 16:10:15 +11:00
Matt Joiner c75dbccea3 Hide a whole bunch of functions seen via torrent 2015-02-25 15:42:47 +11:00
Matt Joiner 80ce2c3188 Set torrentDataOpener from config 2015-02-25 15:41:13 +11:00
Matt Joiner 295b71c09b Not listening! 2015-02-25 14:52:19 +11:00
Matt Joiner 48dc85bfd3 Return no Files if Torrent Info isn't available 2015-02-25 14:51:56 +11:00
Matt Joiner 0ce6a5fe51 Fix imports 2015-02-25 14:51:12 +11:00
Matt Joiner 96f8270bb9 Add Magnet.String() 2015-02-25 14:50:01 +11:00
Matt Joiner 0eb418360b Allow configuring Client torrent data opener, config dir, disabling metainfo cache, and prune with a timer instead of goroutine 2015-02-25 14:48:39 +11:00
Matt Joiner 61adeee308 Make IPBlockList accessible from Client 2015-02-25 11:25:22 +11:00
Matt Joiner bc940ae2c6 Remove unused code 2015-02-25 01:40:27 +11:00