Dimitris Apostolou
|
73f50af3b7
|
Fix typos
|
2019-11-29 11:45:02 +02:00 |
|
Arceliar
|
cb40874f97
|
have listener return a net.Conn, adjust yggdrasil.Conn to match this interface
|
2019-10-19 15:10:28 -05:00 |
|
Arceliar
|
a1c413f769
|
fix nil pointer dereference in yggdrasil.Conn.search
|
2019-10-06 11:53:14 -05:00 |
|
Arceliar
|
c38e40e8e3
|
actually use doCancel in writeNoCopy
|
2019-10-05 12:23:21 -05:00 |
|
Arceliar
|
f22eac497b
|
typo
|
2019-10-03 18:50:33 -05:00 |
|
Arceliar
|
b2922189b8
|
fix deadlock from use of phony.Block by actors when ckr is enabled
|
2019-10-03 18:44:47 -05:00 |
|
Neil Alexander
|
d27891aaf6
|
Merge pull request #528 from yggdrasil-network/documentation
Documentation updates
|
2019-09-25 17:09:09 +01:00 |
|
Arceliar
|
2d64a6380a
|
misc other fixes
|
2019-09-18 18:33:51 -05:00 |
|
Arceliar
|
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 |
|
Neil Alexander
|
935324efe1
|
Update conn.go godoc
|
2019-09-01 23:33:51 +01:00 |
|
Arceliar
|
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 |
|
Neil Alexander
|
607c906820
|
Pointer receivers for phony.Block
|
2019-08-28 12:26:44 +01:00 |
|
Neil Alexander
|
5d7d84f827
|
Remove router.doAdmin and switchTable.doAdmin
|
2019-08-28 12:17:19 +01:00 |
|
Arceliar
|
3845f81357
|
update to latest phony, adjust interface use accordingly
|
2019-08-27 19:43:54 -05:00 |
|
Arceliar
|
dffd70119d
|
remove session shutdown goroutine, just send a message instead
|
2019-08-25 19:13:47 -05:00 |
|
Arceliar
|
aa30c6cc98
|
upgrade phony dependency and switch to its new interface
|
2019-08-25 10:36:09 -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
|
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
|
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
|
9d7e7288c6
|
start migrating the router to an actor
|
2019-08-23 18:47:15 -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
|
7a28eb787e
|
try to fix a few edge cases with searches that could lead them to ending without the callback being run or without cleaning up the old search info
|
2019-08-11 13:00:19 -05:00 |
|
Arceliar
|
790524bd1c
|
copy/paste old flowkey logic into a util function, add a struct of key and packet, make WriteNoCopy accept this instead of a slice
|
2019-08-06 19:25:55 -05:00 |
|
Arceliar
|
679866d5ff
|
have createSession fill the sessionInfo.cancel field, have Conn use Conn.session.cancel instead of storing its own cancellation, this should prevent any of these things from being both nil and reachable at the same time
|
2019-08-05 19:11:28 -05:00 |
|
Arceliar
|
5d5486049b
|
add Conn.ReadNoCopy and Conn.WriteNoCopy that transfer ownership of a slice instead of copying, have Read and Write use the NoCopy versions under the hood and just manage copying as needed
|
2019-08-04 15:53:34 -05:00 |
|
Arceliar
|
6da5802ae5
|
don't block forever in Write if the session is cancelled, cleanup Conn.Read slightly
|
2019-08-04 02:08:47 -05:00 |
|
Arceliar
|
72ed541bf3
|
a little cleanup to Conn functions
|
2019-08-03 22:07:38 -05:00 |
|
Arceliar
|
df0090e32a
|
Add per-session read/write workers, work in progress, they still unfortunately need to take a mutex for safety
|
2019-08-03 21:46:18 -05:00 |
|
Neil Alexander
|
853054eb62
|
Merge pull request #475 from Arceliar/misc
Misc
|
2019-07-29 20:24:49 +01:00 |
|
Arceliar
|
b66bea813b
|
rename a couple of things and move a PutBytes so it happens sooner
|
2019-07-27 18:23:55 -05:00 |
|
Arceliar
|
9e118884d4
|
remove some commented code
|
2019-07-27 18:12:06 -05:00 |
|
Arceliar
|
e0a3055c2f
|
get rid of session workers, new util.PutBytes/GetBytes logic
|
2019-07-27 18:10:32 -05:00 |
|
Neil Alexander
|
de1005e4fa
|
Various API changes and simplifications to fix mobile builds
|
2019-07-27 15:00:09 +01:00 |
|
Arceliar
|
cf3ebe04a7
|
have Conn use Cancellation instead of manually setting up timers
|
2019-07-17 21:37:45 -05:00 |
|
Arceliar
|
5301207480
|
fix possible unsafe memory use in Conn.Read
|
2019-07-17 18:25:38 -05:00 |
|
Neil Alexander
|
307b24d8cb
|
Fix Conn.Read/Conn.Write behavior after Conn.Close, get rid of second TUN/TAP conn reader goroutine, no longer use deadlines
|
2019-07-17 21:42:17 +01:00 |
|
Neil Alexander
|
747b50bb7c
|
Try to improve handling of timeouts
|
2019-07-17 11:13:53 +01:00 |
|
Arceliar
|
86c30a1fc4
|
fix another panic from a send on a closed session worker channel, from races between Conn.Read/Write/Close
|
2019-07-01 18:55:07 -05:00 |
|
Arceliar
|
d39428735d
|
recover if we try to send to a closed session worker due to a race between a Conn.Write call and a Conn.Close call
|
2019-06-29 18:50:21 -05:00 |
|
Arceliar
|
7d58a7ef3e
|
fix channel multiple close bug and concurrency bug in the way sessionInfo.close was being called
|
2019-06-29 17:44:28 -05:00 |
|
Arceliar
|
818eca90db
|
fix nil pointer deref if searches fail, block dial until a search exceeds or a timeout passes (todo: replace timer with context)
|
2019-06-29 16:10:02 -05:00 |
|
Arceliar
|
784acba823
|
I think this fixes the concurrent map read/write panic
|
2019-06-29 12:14:44 -05:00 |
|
Arceliar
|
e88bef35c0
|
get rid of old buffered session packets
|
2019-06-28 20:02:58 -05:00 |
|
Arceliar
|
5df110ac79
|
make Dial block until the search finishes, and use it as such
|
2019-06-28 18:42:31 -05:00 |
|