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