4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-06-15 19:06:06 +00:00
Commit Graph

860 Commits

Author SHA1 Message Date
8e22d7137a use bbr congestion control on linux, note that we're not doing anything intelligent with the errors right now if setting it fails 2019-10-05 10:47:15 -05:00
f22eac497b typo 2019-10-03 18:50:33 -05:00
b2922189b8 fix deadlock from use of phony.Block by actors when ckr is enabled 2019-10-03 18:44:47 -05:00
a87581b0fa Merge pull request #556 from Arceliar/switch
Switch hack
2019-09-25 17:58:01 -05:00
ac58c3586e cleanup/comments 2019-09-25 17:53:25 -05:00
d27891aaf6 Merge pull request #528 from yggdrasil-network/documentation
Documentation updates
2019-09-25 17:09:09 +01:00
b9e74f34ec replace the send-to-self with a timer and an arbitrary timeout; i don't really like this but it seems to work better (1 ms is fast by human standards but an eternity for a syscall or the scheduler, so i think that's reasonable) 2019-09-24 18:28:13 -05:00
8c64e6fa09 explicitly notify the switch when a link appears to be blocked in a send instead of assuming this is the case for all idle links. how we decide when it's really blocked still needs testing/optimizing 2019-09-24 18:01:35 -05:00
691192ff5a weird scheduler hack, seems to tend to make things more stable without actually locking streams to any particular link 2019-09-21 14:33:45 -05:00
87658f83e9 Revert "force things to buffer in the switch if the best link is currently busy. note that other links can end up sending if they become non-idle for other reasons. this is a temporary workaround to packet reordering, until we can figure out a better solution"
This reverts commit 80ba24d512.
2019-09-20 23:09:12 -05:00
f9163a56b6 fix race between listener accepting and shutting down 2019-09-19 19:50:45 -05:00
eeb34ce4e4 modify TcpListener 2019-09-19 19:45:17 -05:00
93e81867fd have link.stop signal active links to close, have tcp.stop wait for all listeners and active connections to close 2019-09-19 19:15:59 -05:00
681e9afc79 Merge develop into bugfixes 2019-09-19 09:05:56 +01:00
7b1678a11d Goroutines in _addPeerLoop from bugfixes 2019-09-19 09:04:25 +01:00
5a382e7e0b Cherrypick fixes for _addPeerLoop memory leak for now 2019-09-19 08:55:55 +01:00
995d67cca8 fix leak in _addPeerLoop 2019-09-18 18:46:03 -05:00
92d9274f3f resolve conflicts 2019-09-18 18:40:01 -05:00
2d64a6380a misc other fixes 2019-09-18 18:33:51 -05:00
909e4e29a8 Don't spawn goroutines for addPeerLoop, TCP connect timeout of 5 seconds for now 2019-09-18 23:44:28 +01:00
64570a8d3e Merge pull request #542 from Arceliar/switch
Switch
2019-09-18 20:26:48 +01:00
0a12e4b1c1 Revert "Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg"
This reverts commit be35675d0f.
2019-09-18 20:26:06 +01:00
ddaaa865cb Be more verbose when a peer or listener is badly formatted 2019-09-18 19:58:41 +01:00
ae0b2672ff Fix #539 2019-09-18 19:48:16 +01:00
b959f53fee Shut down listeners when stopping 2019-09-18 16:32:22 +01:00
b0df9e2f31 Fix race when adding peers 2019-09-18 16:15:33 +01:00
c78a4cb28f Only stop timers if they are running 2019-09-18 15:34:26 +01:00
00a972b74e Disconnect peers when stopping, stop modules before core 2019-09-18 15:22:17 +01:00
846df4789a Be more verbose when a peer or listener is badly formatted 2019-09-18 15:01:19 +01:00
200b3623b2 Fix #539 2019-09-18 14:32:28 +01:00
e9bacda0b3 Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg 2019-09-18 14:07:26 +01:00
40204caab6 Try to fix race condition in sessions.reset 2019-09-18 14:03:31 +01:00
be35675d0f Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg 2019-09-18 13:37:01 +01:00
80ba24d512 force things to buffer in the switch if the best link is currently busy. note that other links can end up sending if they become non-idle for other reasons. this is a temporary workaround to packet reordering, until we can figure out a better solution 2019-09-17 19:42:07 -05:00
0141180279 cleanup 2019-09-09 19:25:10 -05:00
10a828af2c when forwarding traffic, break distance ties by favoring the link that sent the most recent switch update the fastest 2019-09-09 19:20:46 -05:00
2426a87ccc really finish initializing the session before returning it / giving up control of the router, in the Conn.search function used by Dial 2019-09-03 19:03:12 -05:00
903a8921fc Update api.go godoc 2019-09-01 23:47:47 +01:00
935324efe1 Update conn.go godoc 2019-09-01 23:33:51 +01:00
9e8e1c5a41 Documentation updates 2019-09-01 23:10:46 +01:00
01517e5dc3 Create doc.go for godoc preamble 2019-09-01 22:43:27 +01:00
8c52ccadf9 make dial fail if a session to the same node already exists, fixes race between simultaneous connections to a node's 200 address and one of its 300 addresses, should also fix races between a search and an accepted listen 2019-09-01 14:07:00 -05:00
d08c2eb237 stop exporting ReadNoCopy and WriteNoCopy, since we use the actor functions / callbacks and everything else should use Read and Write instead... 2019-09-01 13:04:10 -05:00
cabdc27a54 change how nonce is tracked, so we allow packets if we've recently received a highest nonce ever, but don't bother tracking all received nonce values, this means duplicate packets are possible but only for a small window of time (and significantly reduces memory usage per session) 2019-08-31 17:39:05 -05:00
7649ea0f9f remove sessionInfo.doFunc, have the api just use phony.Block instead 2019-08-29 21:59:28 -05:00
1f658cce76 Add Core actor 2019-08-28 19:53:52 +01:00
aa0770546e Move responsibility for configuring max queue size into switch 2019-08-28 19:39:23 +01:00
fc9a1c6c31 Simplify reconfiguration 2019-08-28 19:31:04 +01:00
764f9c8e11 Remove legacy debug functions 2019-08-28 17:24:41 +01:00
881d0a1ada Fix DEBUG_getDHTSize 2019-08-28 12:46:49 +01:00