5
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2024-12-27 20:55:41 +00:00
Commit Graph

73 Commits

Author SHA1 Message Date
Arceliar
b651e57203 allow searches to continue as long as the next hop is closer than the Nth closest node found so far where N is currently 16 instead of 1 (makes searches more reliable), and cache all intermediate search steps in the dht 2020-03-19 21:11:17 -05:00
Arceliar
201dbec63d always keep the 2 closest nodes in each direction around the dht ring, possibly helps things recover faster after joins/leaves 2019-12-25 19:01:20 -06:00
Dimitris Apostolou
73f50af3b7
Fix typos 2019-11-29 11:45:02 +02:00
Neil Alexander
fc9a1c6c31
Simplify reconfiguration 2019-08-28 19:31:04 +01:00
Arceliar
a3d4d8125b make the main library reconfiguration more actor-friendly 2019-08-25 12:10:59 -05:00
Arceliar
e7024a00e7 have dht store a pointer to router instead of core 2019-08-23 20:35:54 -05:00
Arceliar
9835c63818 refactor things the router owns (dht, sessions, searches) into that struct, to make the ownership more explicit 2019-08-23 20:26:15 -05:00
Arceliar
9d7e7288c6 start migrating the router to an actor 2019-08-23 18:47:15 -05:00
Arceliar
29a0f8b572 some minor refactoring to dht callbacks and searches, work in progress 2019-06-25 19:31:29 -05:00
Neil Alexander
4c0c3a23cb
Fix bugs 2019-03-29 18:24:57 +00:00
Neil Alexander
2cd373fc1e
Remove unnecessary selects 2019-01-15 08:51:19 +00:00
Neil Alexander
7fae1c993a
Handle errors from reconfigure tasks 2018-12-30 12:04:42 +00:00
Neil Alexander
219fb96553
Support notifying components for config reload, listen for SIGHUP 2018-12-29 18:51:51 +00:00
Arceliar
50ed92d6d2 insert a copy when calling dht.insertPeer 2018-12-26 00:18:51 -06:00
Arceliar
59093aa43b clean up node info immediately if it reaches the timeout or if it needs refreshing but won't be pinged due to being unimportant 2018-12-21 17:45:24 -06:00
Arceliar
f59852b1e1 adjust how dht throttle works, it should now back off faster, and back off even more if things are not in use 2018-12-20 20:16:51 -06:00
Arceliar
dfcdafa55c move special peer/dht insert logic form router.go to dht.go 2018-12-20 17:37:59 -06:00
Arceliar
ea4ca02681 fix code after moving address/crypto/util 2018-12-14 20:49:18 -06:00
Arceliar
d8d1e63c36 fix infinite loop from interaction between dht.isImportant and dht.insert 2018-11-25 20:33:33 -06:00
Arceliar
7954fa3c33 store one callback instead of many, needed to prevent search failures if there are multiple outstanding packets 2018-11-25 17:08:45 -06:00
Arceliar
9937a6102e add callbacks to maintenance map cleanup 2018-11-25 16:29:47 -06:00
Arceliar
d520a8a1d5 refactor dht code to call arbitrary callbacks instead of only searches.checkDHTRes, and add admin API fuction to dhtPing a node (with an optional target NodeID) 2018-11-25 16:10:32 -06:00
Arceliar
e17efb6e91 don't penalize dht timeouts a second time 2018-11-25 13:21:13 -06:00
Arceliar
4e156bd4f7 better cleanup of maps 2018-11-25 12:25:38 -06:00
Arceliar
8d6beebac4 clean up old requests during dht maintenance 2018-11-24 20:04:14 -06:00
Arceliar
6d0e40045a cleanup/fixes from go vet 2018-11-22 21:41:16 -06:00
Arceliar
ef6cece720 fix sim and tune dht to bootstrap a little faster 2018-11-16 19:32:12 -06:00
Arceliar
15d5b3f82c comments and minor cleanup 2018-11-09 23:02:38 -06:00
Arceliar
a008b42f99 cleanup and some bugfixes, cache important dht nodes until something gets added/removed 2018-10-29 22:24:18 -05:00
Arceliar
671c7f2a47 don't update recv time for known nodes that ping us or known peers 2018-10-28 15:04:44 -05:00
Arceliar
c0531627bc fix some chord dht bootstrapping bugs, no known cases where it now fails 2018-10-24 22:03:27 -05:00
Arceliar
253861ebd3 reverse dht ownership order from predecessor to successor, this plays nicer with the default 0 bits in unknown node IDs 2018-10-21 18:15:04 -05:00
Arceliar
5e3959f1d0 yet more debugging 2018-10-21 17:40:43 -05:00
Arceliar
f0bd40ff68 more testing 2018-10-21 15:10:18 -05:00
Arceliar
bcbd24120d keep track of all keys we're supposed to care about in the dht, don't give special treatment to successors/predecessors 2018-10-21 14:57:04 -05:00
Arceliar
efe6cec11a more debugging, trying to understand bootstrap issues 2018-10-21 12:28:21 -05:00
Arceliar
6c59ae862a more debugging 2018-10-21 00:05:04 -05:00
Arceliar
95201669fe reintroduce (better) dht throttling 2018-10-20 22:06:36 -05:00
Arceliar
8825494d59 remove maintenance searches and throttle logic, to focus on debugging in this simpler case first 2018-10-20 20:11:32 -05:00
Arceliar
3dbffae99f add search for successor, via parent, to the dht maintenance cycle 2018-10-20 19:09:25 -05:00
Arceliar
d851d9afe7 add max pings before timing out a successor 2018-10-20 18:31:11 -05:00
Arceliar
63d6ab4251 more cleanup, comments, and dht reset() changes 2018-10-20 18:12:34 -05:00
Arceliar
f3ec8c5b37 fix admin dht function, more cleanup, and slowly throttle back dht traffic when idle 2018-10-20 17:58:54 -05:00
Arceliar
5a85d3515d cleanup 2018-10-20 17:32:54 -05:00
Arceliar
02f0611dde more debugging 2018-10-20 16:27:01 -05:00
Arceliar
1720dff476 add some debug output and get things to start working in the sim 2018-10-20 15:21:40 -05:00
Arceliar
03a88fe304 Try using a chord-like DHT instead of a kad-like one, work in progress, but it compiles at least 2018-10-20 14:48:07 -05:00
Neil Alexander
0ec5f1c02c
Version 0.2.1 (#130)
* switch address range from fd00::/8 to the deprecated 0200::/7 range

* Fix launchd script path and amend debian control file

* fix address/prefix code, platform specific parts still need testing

* macos

* cleanup old ugly session MTU code that only mattered with lossy UDP fragments

* Fix debian control file

* Let's try this again

* tcp/socks cleanup

* comment

* avoid the proxy.SOCK5 connection attempt unless we're actually going to use the dialer

* Update generate.sh

* prevent parent nodes from forcing coord oscillation, have dht.handleRes clean up the old request info immediately

* address range changes

* Update README.md

Consistently remove leading zeros from addresses in the readme.

* Update yggdrasil.go

* Collect yggdrasilctl during CI build

* Fix CircleCI after fat-fingered copypasta

* Fix for Windows

* clean up main yggdrasil.go imports and run gofmt
2018-06-15 11:02:45 +01:00
Arceliar
b006748da4 code cleanup 2018-06-12 17:50:08 -05:00
Arceliar
359af66d0d exponential dht throttle backoff, and make it based on when packets were sent as part of bootstrapping/maintenance, not when arbitrary packets were received 2018-06-12 03:16:10 -05:00