Commit Graph

1349 Commits

Author SHA1 Message Date
Matt Joiner 7f6987b2a4 Error in connection.writer goroutine wasn't killing the connection 2014-07-18 02:37:33 +10:00
Matt Joiner 9c575b0454 dht_test: Add commented out test I haven't resolved yet 2014-07-17 16:05:21 +10:00
Matt Joiner 37eece626b TODO 2014-07-17 16:04:56 +10:00
Matt Joiner 65e1bbb6ba Show piece counts for peers in status page
Lets me visually check that connections agree on number of pieces.
2014-07-17 16:04:43 +10:00
Matt Joiner 99bec9ac58 dht: Timeout goroutines waiting for transaction responses 2014-07-17 16:03:59 +10:00
Matt Joiner b467f15bae Fix goroutine leak for connection.writer 2014-07-17 16:02:30 +10:00
Matt Joiner a258b9ab21 Squash some more debug messages, fix some other error handling 2014-07-17 16:01:48 +10:00
Matt Joiner b159968081 Missing newline between torrents in client status 2014-07-17 15:58:33 +10:00
Matt Joiner e092ba2c5f Use low-water mark to populate connection requests
I can't believe I didn't think of this before. It should address massive
performance problems I've had here.
2014-07-16 17:11:45 +10:00
Matt Joiner 7d587b832e Squash various unhandled DHT messages 2014-07-16 17:10:49 +10:00
Matt Joiner e2fc96cc5a Fix crash when KRPC messages don't contain a valid "t" field 2014-07-16 17:10:17 +10:00
Matt Joiner b30f3ba73e Correct the connection peer bitfields when the metadata becomes available 2014-07-16 17:09:30 +10:00
Matt Joiner 5cda3affb4 Memory leak because queued peer requests aren't treated yet 2014-07-16 17:08:47 +10:00
Matt Joiner 583d5c266a Squash some unhelpful log messages now that stuff is available in status 2014-07-16 17:08:25 +10:00
Matt Joiner 8910eb660d Add more information I've needed to the status page 2014-07-16 17:07:28 +10:00
Matt Joiner 0d27ae7fd1 Make the discovery source for a connection more descriptive 2014-07-16 17:06:18 +10:00
Matt Joiner 9e8a72ff1d Invalidating metadata would cause a crash when metadata pieces kept arriving 2014-07-14 23:12:52 +10:00
Matt Joiner 61b87222d4 Client would attempt to download if unchoked before the metadata is available 2014-07-14 23:12:15 +10:00
Matt Joiner 28afa748e7 API changes in github.com/anacrolix/libtorgo 2014-07-13 17:37:12 +10:00
Matt Joiner 9d72fd024e Expose MetaData directly so it can be bencoded from external packages 2014-07-13 17:36:06 +10:00
Matt Joiner 0f8b13dc6d dht: Reply to get_peers and find_node queries 2014-07-12 01:24:01 +10:00
Matt Joiner 0d57d50003 cmd/torrent: Run the http server by default 2014-07-12 01:23:10 +10:00
Matt Joiner 581a3d9325 Add DHT support to cmd/torrent 2014-07-11 19:30:20 +10:00
Matt Joiner e947ce2ee4 Run go vet on everything 2014-07-10 02:59:37 +10:00
Matt Joiner a88f856468 Fix incorrect log call
At least vet catches it...
2014-07-10 02:53:46 +10:00
Matt Joiner 4c2d07337d Keep pieces sorted by bytes left 2014-07-10 00:26:58 +10:00
Matt Joiner 5f9ed81917 Add some extra char flags to connection status 2014-07-10 00:16:09 +10:00
Matt Joiner 2ef602cabd dht-get-peers: Some improvements 2014-07-10 00:15:28 +10:00
Matt Joiner 7928b763d9 torrent-infohash: utility to print the info hash of a torrent file 2014-07-10 00:15:03 +10:00
Matt Joiner 1e4862ace8 Start a simpler replacement for davecheney's profile package 2014-07-10 00:14:19 +10:00
Matt Joiner ba83f65ddf dht: Concurrency improvements and fixes to bootstrapping and getting peers 2014-07-10 00:13:54 +10:00
Matt Joiner ae45175015 Fix crash quitting when accept conn is closed 2014-07-04 01:44:15 +10:00
Matt Joiner 78fe1b11ae Implement dht-get-peers command and GetPeers method in dht package 2014-07-04 01:43:04 +10:00
Matt Joiner 8505a1017e Move compactPeers type to util package 2014-07-04 01:41:46 +10:00
Matt Joiner 17acbb485c Fix crash when peer has only sent lower-index HAVE messages 2014-07-01 00:06:58 +10:00
Matt Joiner 0f53e89e7b Improve some log messages 2014-07-01 00:05:28 +10:00
Matt Joiner 23cfe49ea4 Record if a connection was incoming 2014-07-01 00:04:28 +10:00
Matt Joiner 147ad31135 A CPU optimization to FillRequests when we know no more can be added 2014-07-01 00:03:07 +10:00
Matt Joiner b969b17092 Disable request heat assertion for now
Probably want a flag to do intensive checks like this
2014-06-30 00:22:36 +10:00
Matt Joiner eb070383b1 Move download strategies into their own file 2014-06-30 00:22:05 +10:00
Matt Joiner 51431c7cfc Some minor tweaks 2014-06-29 19:10:59 +10:00
Matt Joiner f3bd288dd6 Fix crash writing torrent status before priorities are initialized 2014-06-29 19:08:46 +10:00
Matt Joiner b87bb74f31 Fix a race where the last piece of a torrent is requested before it's been hashed 2014-06-29 19:08:16 +10:00
Matt Joiner 3b29043861 Add peers sent over PEX 2014-06-29 19:07:43 +10:00
Matt Joiner aec5074f3d Add support for extended handshake "v", "reqq", and "p" fields 2014-06-29 18:57:49 +10:00
Matt Joiner 5e7fe0383b Fix crash printing client status when a torrent info isn't available 2014-06-29 18:56:19 +10:00
Matt Joiner 434c954319 Log errors setting the metadata for a torrent, and report when metadata is completed from peers 2014-06-29 15:45:21 +10:00
Matt Joiner 87100587f8 Remove some metadata related debug messages 2014-06-29 15:44:55 +10:00
Matt Joiner a44d2d88c3 Rename torrent package to metainfo; expose MetaInfo["info"] so it can be used on its own
--HG--
rename : torrent/README => metainfo/README
rename : torrent/_testdata/archlinux-2011.08.19-netinstall-i686.iso.torrent => metainfo/_testdata/archlinux-2011.08.19-netinstall-i686.iso.torrent
rename : torrent/_testdata/continuum.torrent => metainfo/_testdata/continuum.torrent
rename : torrent/builder.go => metainfo/builder.go
rename : torrent/metainfo.go => metainfo/metainfo.go
rename : torrent/metainfo_test.go => metainfo/metainfo_test.go
2014-06-28 19:40:39 +10:00
Matt Joiner c96293a111 Can now download from magnet links 2014-06-28 19:38:31 +10:00