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

885 Commits

Author SHA1 Message Date
6d3aefb825 fix a data race when an existing session's coords are updated in response to a successful search 2019-10-27 19:55:35 -05:00
710815fed5 add dummy functions for other platforms 2019-10-25 19:32:53 -05:00
bcacfb0638 test adding BindToDevice to linux. if it works then we'll want to rethink slightly how we get the tcpContext on every platform, to make this compile everywhere and look a little cleaner 2019-10-25 18:33:23 -05:00
d58f88d29a Update builds to Go 1.13 as this is required for TLS (apparently golang.org/x/crypto/ed25519 is not acceptable to the crypto/tls module and this prevents Yggdrasil from starting) 2019-10-24 09:28:09 +01:00
c3dee478f5 fix ed25519 dependency for golang 1.12 and earlier, though we may want to update builds to 1.13 anyway... 2019-10-23 20:38:09 -05:00
996c6b4f47 add one TODO comment and run gofmt 2019-10-23 20:28:11 -05:00
cd77727c1e Set TCP socket options before upgrading connection 2019-10-23 18:24:08 +01:00
6a22e6c9de Initial connection upgrade/TLS peering support 2019-10-23 17:26:35 +01:00
ea085663ea slight cleanup of dial's timeout 2019-10-21 20:52:16 -05:00
681c8ca6f9 safer dial timeout handling, in case it was used with a nil context or a context that had no timeout set 2019-10-21 20:47:50 -05:00
eccd9a348f give yggdrasil.Dialer the same interface as a net.Dialer, so the only differences are what fields exist in the struct 2019-10-21 19:44:06 -05:00
cb40874f97 have listener return a net.Conn, adjust yggdrasil.Conn to match this interface 2019-10-19 15:10:28 -05:00
3491292599 code cleanup 2019-10-12 15:46:56 -05:00
31ce854835 update session when a search for an existing session finishes 2019-10-12 15:37:40 -05:00
a1c413f769 fix nil pointer dereference in yggdrasil.Conn.search 2019-10-06 11:53:14 -05:00
c38e40e8e3 actually use doCancel in writeNoCopy 2019-10-05 12:23:21 -05:00
83e3a24423 Merge pull request #562 from AwesomePatrol/dev/patrol/bench01
#60 Add simple tests and benchmark
2019-10-05 12:20:27 -05:00
f474869ad9 cleanup bad comment 2019-10-05 12:17:40 -05:00
fb3430207c don't fail if there's an error setting bbr, just log it and continue 2019-10-05 11:03:38 -05:00
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
783959208c Add more comments to explain helper functions 2019-09-28 14:41:53 +02:00
8053766092 Add verbosity setting 2019-09-28 14:25:42 +02:00
21b236771b Add a simple transfer benchmark 2019-09-28 14:25:42 +02:00
8677a042cf Wait for nodes to negotiate 2019-09-28 14:25:42 +02:00
fffbbbcbd3 Pass message between nodes 2019-09-28 14:25:42 +02:00
d96fb27ab8 Add simple connection test 2019-09-28 14:25:42 +02: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