1553 Commits

Author SHA1 Message Date
Arceliar
4893a07696 start migrating tunConn to the actor model 2019-08-24 11:38:47 -05:00
Arceliar
b582c444f8 minor cleanup 2019-08-24 01:57:08 -05:00
Arceliar
1e346aaad0 have the conn actor receive messages from the session actor and either pass them to a callback or buffer them in a channel for Read to use if no callback was set 2019-08-24 01:52:21 -05:00
Arceliar
9948e3d659 add Conn.WriteFrom to allow actor-based sending 2019-08-24 00:44:02 -05:00
Arceliar
da9f7151e3 more conn migration 2019-08-24 00:17:37 -05:00
Arceliar
6ecbc439f0 start migrating Conn to be an actor 2019-08-23 23:36:00 -05:00
Arceliar
cac3444d9a fix debug builds 2019-08-23 22:40:13 -05:00
Arceliar
cf9880464b explicitly consider the session finished case, and make a note that we could fix the packet drop situation by making the Conn into an actor too 2019-08-23 22:36:59 -05:00
Arceliar
e3603c0462 clean up unused session code 2019-08-23 22:25:40 -05:00
Arceliar
533da351f9 fix actor EnqueueFrom stack overflow (use nil now to send from self) and replace session send/recv workers with actor functions 2019-08-23 22:23:01 -05:00
Arceliar
436c84ca33 refactor sessions to store a pointer to router instead of core 2019-08-23 20:53:00 -05:00
Arceliar
5bb85cf07b refactor searches to store a pointer to router instead of core 2019-08-23 20:42:38 -05:00
Arceliar
e7024a00e7 have dht store a pointer to router instead of core 2019-08-23 20:35:54 -05:00
Arceliar
ebd806f27a move router member initialization into router.init 2019-08-23 20:29:16 -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
bbcbbaf3b1 start migrating sessionInfo to be an actor 2019-08-23 20:05:18 -05:00
Arceliar
8e89816099 more router migration: rename functions that should only be called internally by the actor 2019-08-23 18:59:34 -05:00
Arceliar
232e6d3cb3 more router migration 2019-08-23 18:55:41 -05:00
Arceliar
9d7e7288c6 start migrating the router to an actor 2019-08-23 18:47:15 -05:00
Neil Alexander
562a7d1f19
Merge pull request #516 from yggdrasil-network/develop
Version 0.3.8
v0.3.8
2019-08-21 18:19:56 +01:00
Neil Alexander
0cb99d522f
Update changelog 2019-08-21 18:18:46 +01:00
Neil Alexander
1308cb37b9
Merge pull request #515 from Arceliar/tidy
Clean up go.mod / go.sum
2019-08-21 07:11:07 +01:00
Arceliar
0d5dd9c455 update crypto dependency and run go mod tidy 2019-08-20 23:44:20 -05:00
Arceliar
12ce8c6a0a
Merge pull request #512 from neilalexander/cryptokey
Cryptokey routing changes
2019-08-20 20:23:00 -05:00
Arceliar
f9d28e80df
Merge pull request #514 from Arceliar/bugfix
hopefully prevent a deadlock
2019-08-20 19:13:00 -05:00
Arceliar
226dd6170d hopefully prevent a deadlock 2019-08-20 18:49:53 -05:00
Arceliar
4156aa3003 move ckr checks into the tunConn code 2019-08-20 18:10:08 -05:00
Neil Alexander
b79829c43b
Merge branch 'develop' into cryptokey 2019-08-20 09:43:17 +01:00
Neil Alexander
ca73cf9e98
Merge pull request #513 from Arceliar/speedup
More speedup
2019-08-20 09:43:00 +01:00
Neil Alexander
b6e67bc0ba
Check CKR remotes when receiving traffic 2019-08-20 09:38:46 +01:00
Neil Alexander
2b6462c8a9
Strict checking of Yggdrasil source/destination addresses 2019-08-20 09:38:27 +01:00
Arceliar
834a6a6f1a don't allocate a new child cancellation in Conn read/write calls if no deadline is set 2019-08-19 18:06:05 -05:00
Neil Alexander
2a629880fd
Rename crypto-key config options, improve control flow 2019-08-19 10:28:30 +01:00
Arceliar
c04816b4bd
Merge pull request #510 from Arceliar/streamWrites
Send multiple packets from the switch at once
2019-08-18 18:19:06 -05:00
Arceliar
8af1a7086c when a link becomes idle and packet are buffered that the link could send, send at least 65535 bytes worth instead of 1 packet, this reduces syscall overhead when small packets are sent through the network 2019-08-18 12:29:07 -05:00
Arceliar
62337bcd64 allow links to send multiple packets at once, currently we still only bother to send 1 at a time from the switch level 2019-08-18 12:17:54 -05:00
Neil Alexander
009d9c9ec0
Merge pull request #505 from yggdrasil-network/develop
Version 0.3.7
v0.3.7
2019-08-18 11:20:50 +01:00
Arceliar
039dd98f0d
Update CHANGELOG.md 2019-08-17 12:46:34 -05:00
Arceliar
57e7acdda8
Update CHANGELOG.md 2019-08-17 12:42:17 -05:00
Neil Alexander
80535d402f
Merge pull request #508 from Arceliar/nonce
New nonce tracking
2019-08-17 10:55:21 +01:00
Arceliar
fd5f3ca764 fix heap pop order 2019-08-16 23:07:40 -05:00
Arceliar
03b8af9f1a keep track of recent nonces with a heap and a map instead of a fixed-size bitmask 2019-08-16 18:37:16 -05:00
Neil Alexander
fdac8932a8
Update changelog 2019-08-15 13:11:54 +01:00
Neil Alexander
ae0fe93de5
Update changelog 2019-08-15 12:54:04 +01:00
Neil Alexander
adf69d0127
Merge pull request #506 from Arceliar/switchorder
Switch priority change
2019-08-15 11:00:12 +01:00
Neil Alexander
5b054766a2
Update comments in handleIn, add switch_getFlowLabelFromCoords helper (in case it is useful if we try to consider flowlabels in multi-link scenarios) 2019-08-15 10:54:04 +01:00
Arceliar
382c2e6546 even more go.sum 2019-08-14 18:14:24 -05:00
Arceliar
1a2b7a8b60 test a change to how switch hops are selected when multiple links are idle 2019-08-14 17:57:36 -05:00
Neil Alexander
2abb71682f
Update changelog, readme, go.mod/go.sum 2019-08-14 22:21:30 +01:00
Neil Alexander
f26f071901
Merge pull request #497 from Slex/issues/488
Implement feature from https://github.com/yggdrasil-network/yggdrasil
2019-08-14 20:11:15 +01:00