Commit Graph

139 Commits

Author SHA1 Message Date
Matt Joiner 2a8a86734b dht: Reduce allocations in calculating ID distance 2014-11-19 20:02:03 -06:00
Matt Joiner a87566b9f6 dht: Handle truncated KRPC packets better, requires an update to bencode package 2014-11-18 21:54:53 -06:00
Matt Joiner a8c49a2a83 dht: Improve Server.GetPeers so new nodes are fed directly back into the current discovery 2014-11-18 12:38:13 -06:00
Matt Joiner d7764a5c23 dht: Reduce announce peer parallelism now that node goodness is fixed 2014-11-17 18:03:28 -06:00
Matt Joiner a14f38a21c dht: Move packet processing into a separate function 2014-11-17 18:03:03 -06:00
Matt Joiner e4822769ee dht: Fix "good" node determination 2014-11-17 18:02:16 -06:00
Matt Joiner 6d05994c2c dht: Include the sender of peers in the peer stream 2014-11-17 17:47:36 -06:00
Matt Joiner 02160eb8bc Expose DHT ID distances as an interface and switch to big.Int and possibly the correct algorithm 2014-11-17 01:47:24 -06:00
Matt Joiner 8d96195b0c Connect to peers using both UTP and TCP; Share UTP port with DHT 2014-11-16 23:27:01 -06:00
Matt Joiner 5bf56f6d8d Tunnel addrs through dht as an internal interface to make switching easier 2014-11-16 21:22:29 -06:00
Matt Joiner 34a47a100e Add util AddrIP and AddrPort functions 2014-11-16 21:20:49 -06:00
Matt Joiner 1460e835c2 Add dht AnnouncePeer 2014-11-16 13:08:33 -06:00
Matt Joiner d17a2958a6 dht.Server.Ping didn't lock structure 2014-08-25 22:14:31 +10:00
Matt Joiner 2d9c22ae1e Misc trivial improvements 2014-08-25 22:14:10 +10:00
Matt Joiner 3e26952f2f Improve DHT distance tests 2014-08-22 03:45:31 +10:00
Matt Joiner 4a7c94d04d Add test for dht.NewServer and change StopServing to Close 2014-08-21 21:12:50 +10:00
Matt Joiner 40fd1d647c Tidy up the torrent and DHT APIs 2014-08-21 18:07:06 +10:00
Matt Joiner cd7a758acd dht: Message only the most likely peers 2014-07-24 13:45:18 +10:00
Matt Joiner efb4c557d2 Put checks in place for peer addresses with a zero Port 2014-07-18 02:38:11 +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 99bec9ac58 dht: Timeout goroutines waiting for transaction responses 2014-07-17 16:03:59 +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 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 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 0f8b13dc6d dht: Reply to get_peers and find_node queries 2014-07-12 01:24:01 +10:00
Matt Joiner e947ce2ee4 Run go vet on everything 2014-07-10 02:59:37 +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 78fe1b11ae Implement dht-get-peers command and GetPeers method in dht package 2014-07-04 01:43:04 +10:00
Matt Joiner 49e71f9654 Begin adding magnet and ut_metadata support 2014-06-27 00:57:07 +10:00
Matt Joiner e7cb8a138b Begin implementing a K closest node algorithm 2014-06-24 23:20:49 +10:00
Matt Joiner 75e34be89d Some function doc 2014-06-24 23:20:07 +10:00
Matt Joiner f3af9bd5bc Wrap server UDP sends to ensure the node last send is updated 2014-06-24 23:19:19 +10:00
Matt Joiner 1852e5805d DHT default server ID generated using hostname and server address 2014-06-24 23:18:30 +10:00
Matt Joiner 83a02420a5 Got dht-server working nicely 2014-05-27 16:28:56 +10:00
Matt Joiner 92b77a7cae dht-server: Save and load node table between invocations 2014-05-25 23:04:55 +10:00
Matt Joiner 1b69e69461 Switch dht-server to bootstrapping 2014-05-25 21:34:29 +10:00
Matt Joiner 7c3d919cfb Begin implementing DHT 2014-05-24 16:51:56 +10:00