Commit Graph

377 Commits

Author SHA1 Message Date
Matt Joiner d70f6bcd20 loghttp: The status server should run on the default mux 2014-11-19 20:00:43 -06:00
Matt Joiner dd240b66c4 Simple connection pruner 2014-11-18 22:03:21 -06:00
Matt Joiner eacc624115 Expose a Torrent "handle", that implements ReaderAt 2014-11-18 21:58:36 -06:00
Matt Joiner c8327a8fe2 Log bad metadata packets instead of crashing 2014-11-18 21:57:27 -06:00
Matt Joiner 3dd43c6099 buffer WriteStatus and always write torrents in the same order 2014-11-18 21:56:50 -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 e1f720c770 Triage a possible bug blocking while closing UTPConns 2014-11-18 21:53:57 -06:00
Matt Joiner 358f089515 Set a minimum dial timeout 2014-11-18 21:53:00 -06:00
Matt Joiner 23c205b935 TODO 2014-11-18 21:51:49 -06:00
Matt Joiner 7be828bb4c util/loghttp: Don't implicitly expose pprof 2014-11-18 21:51:36 -06:00
Matt Joiner a323e55f12 Improve unknown xt parameter encoding error message 2014-11-18 14:36:56 -06:00
Matt Joiner 06e240e198 Expose a wrapped metainfo type with helper methods 2014-11-18 14:36:27 -06:00
Matt Joiner 00e2d42870 util: LoggedHTTPServe uses its own mux for use as a HTTP status server 2014-11-18 14:35:32 -06:00
Matt Joiner 1057ac8055 Adding a duplicate magnet returns the existing torrent 2014-11-18 14:34:13 -06:00
Matt Joiner 482dde8e3f Fix race condition calculating reduced dial timeout 2014-11-18 14:33:07 -06:00
Matt Joiner c63d36c1b6 Improve client status write-out 2014-11-18 14:32:51 -06:00
Matt Joiner abfa44d6e4 Count accepted connections 2014-11-18 14:31:47 -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 cd5c1f8298 cmd/dht-ping: Various improvements more like a real ping program 2014-11-18 12:36:36 -06:00
Matt Joiner f8da0c5b07 cmd/dht-get-peers: Add -once flag to do a single scrape 2014-11-18 09:56:37 -06:00
Matt Joiner a6914e5897 cmd/dht-get-peers: Expose debug HTTP 2014-11-18 09:56:05 -06:00
Matt Joiner 541f11aed4 Ensure the parallel dial invariant 2014-11-17 18:04:33 -06:00
Matt Joiner 8cae78cbf1 Reduce dial timeouts when there are lots of peers in the backlog 2014-11-17 18:04:09 -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 0668e33228 util/CopyExact: Test copying from interfaces and nil 2014-11-17 17:43:41 -06:00
Matt Joiner cdf6bdefa9 TODO 2014-11-17 01:47:31 -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 c1049d0605 cmd/dht-get-peers: Fix lockup on SIGINT 2014-11-17 01:45:20 -06:00
Matt Joiner 727aac204f Expvar successful and unsuccessful dials 2014-11-17 01:44:06 -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 32d31188fb loghttp: Try successive port numbers until available 2014-11-16 23:24:25 -06:00
Matt Joiner ad7cf646c8 Open new connections when a connection is dropped 2014-11-16 21:37:34 -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 a5adb399f2 Change cmd/torrent default ports 2014-11-16 21:21:13 -06:00
Matt Joiner 34a47a100e Add util AddrIP and AddrPort functions 2014-11-16 21:20:49 -06:00
Matt Joiner 77e064a0f5 Allow the client ID to be set in the config 2014-11-16 13:54:43 -06:00
Matt Joiner c1721b61ef Prevent clients from connecting to other clients with the same ID 2014-11-16 13:54:00 -06:00
Matt Joiner dcac7db0f0 Fix CopyExact to work on a source string 2014-11-16 13:52:37 -06:00
Matt Joiner 3489a60154 Fix broken commit 2014-11-16 13:51:59 -06:00
Matt Joiner 4fead22cd2 Use more generic net error type to detect timeouts 2014-11-16 13:31:11 -06:00
Matt Joiner e37d369864 Move half-open tracking into per-torrent 2014-11-16 13:30:44 -06:00
Matt Joiner 963918ac90 Add UTP support, disable TCP for now. DHT moves to another port 2014-11-16 13:29:31 -06:00
Matt Joiner eeae2d3285 Actually announce to DHT, don't just get peers 2014-11-16 13:18:08 -06:00
Matt Joiner 86de81fba8 Tidy up address handling 2014-11-16 13:16:26 -06:00
Matt Joiner 1460e835c2 Add dht AnnouncePeer 2014-11-16 13:08:33 -06:00
Matt Joiner 0b8ddd8720 Fix localhost assumption in connecting 2 clients in tests 2014-11-16 13:06:32 -06:00
Matt Joiner 9cd72851e0 TODO 2014-11-16 13:05:38 -06:00