Arceliar
|
bd3eaefb72
|
more link migration
|
2019-08-25 22:55:17 -05:00 |
|
Arceliar
|
b5b179904b
|
ugly work-in-progress to migrate link to the actor model
|
2019-08-25 22:19:20 -05:00 |
|
Arceliar
|
dffd70119d
|
remove session shutdown goroutine, just send a message instead
|
2019-08-25 19:13:47 -05:00 |
|
Arceliar
|
502f2937a9
|
a couple race fixes and use timer.AfterFunc instead of sleeping goroutines or ticker in a few places
|
2019-08-25 17:00:02 -05:00 |
|
Arceliar
|
a3d4d8125b
|
make the main library reconfiguration more actor-friendly
|
2019-08-25 12:10:59 -05:00 |
|
Arceliar
|
aa30c6cc98
|
upgrade phony dependency and switch to its new interface
|
2019-08-25 10:36:09 -05:00 |
|
Arceliar
|
5312b21665
|
Merge branch 'develop' of https://github.com/yggdrasil-network/yggdrasil-go into actors
|
2019-08-24 18:30:15 -05:00 |
|
Arceliar
|
f62bc842ae
|
fix memory leak in session nonce map
|
2019-08-24 18:23:54 -05:00 |
|
Arceliar
|
48bbdac9b3
|
add a helper actor to the link reader to make it play nicer with backpressure
|
2019-08-24 16:27:12 -05:00 |
|
Arceliar
|
99be6b037d
|
stop synchronizing message reads for now, not 100% safe but I don't have any better ideas
|
2019-08-24 16:13:34 -05:00 |
|
Arceliar
|
209d2ffea5
|
correctly call peer.sendPacketsFrom in the switch
|
2019-08-24 16:04:05 -05:00 |
|
Arceliar
|
8c7e9ec7c0
|
fix debug builds
|
2019-08-24 15:32:19 -05:00 |
|
Arceliar
|
c573170886
|
remove switch doworker loop, start a dummy loop to respond to (unused) reconfiguration instead
|
2019-08-24 15:27:56 -05:00 |
|
Arceliar
|
998c76fd8c
|
more switch migration
|
2019-08-24 15:22:46 -05:00 |
|
Arceliar
|
555b4c18d4
|
a little switch cleanup
|
2019-08-24 15:05:18 -05:00 |
|
Arceliar
|
498bc395e2
|
start migrating switch to the actor model
|
2019-08-24 14:56:33 -05:00 |
|
Arceliar
|
b337228aa4
|
minor fixes to peer stuff
|
2019-08-24 14:24:42 -05:00 |
|
Arceliar
|
0539dee900
|
warning about possible deadlock in legacy channel send, need to migrate the link code to fix it
|
2019-08-24 13:25:38 -05:00 |
|
Arceliar
|
034fece33f
|
more peer migration
|
2019-08-24 13:15:29 -05:00 |
|
Arceliar
|
ecd23ce9fc
|
safer linkloop
|
2019-08-24 12:59:20 -05:00 |
|
Arceliar
|
88161009e9
|
more peer migration
|
2019-08-24 12:55:49 -05:00 |
|
Arceliar
|
775fb535dc
|
start converting the peer struct into an actor
|
2019-08-24 12:46:24 -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 |
|
Arceliar
|
226dd6170d
|
hopefully prevent a deadlock
|
2019-08-20 18:49:53 -05: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 |
|
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 |
|
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
|
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
|
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
|
33cd10c463
|
Merge branch 'issues/488' of github.com:slex/yggdrasil-go into issues/488
|
2019-08-14 19:58:45 +01:00 |
|
Neil Alexander
|
d9fabad8bc
|
Merge pull request #502 from Arceliar/linkleak
Try to fix leaks in #501
|
2019-08-14 07:17:39 +01:00 |
|