Arceliar
|
f2b9e95895
|
simplify routerInterface
|
2020-05-23 12:21:01 -05:00 |
|
Arceliar
|
052de98f12
|
work-in-progress on buffering overhaul
|
2020-05-16 17:07:47 -05:00 |
|
Arceliar
|
20ef591013
|
fix some crashes with races during peer setup
|
2020-05-02 11:16:11 -05:00 |
|
Arceliar
|
6d89570860
|
eliminate most sync.Pool use, gives a safer but slightly slower interface
|
2020-05-02 06:44:51 -05:00 |
|
Arceliar
|
945930aa2c
|
WIP have peer actors queue packets, temporarily a single simple FIFO queue with head drop
|
2020-04-03 00:32:26 -05:00 |
|
Arceliar
|
9834f222db
|
more work in progress actorizing the remaining parts of the switch
|
2020-03-29 19:01:50 -05:00 |
|
Arceliar
|
e926a3be6d
|
work in progress actorizing core.peers and replacing switch worker with per-peer switch-generated lookupTable
|
2020-03-29 00:23:38 -05:00 |
|
Arceliar
|
c3b1a6af65
|
some nodeinfo actor fixes and adjust search timeout
|
2020-01-06 18:37:43 -06:00 |
|
Neil Alexander
|
9304873047
|
Convert nodeinfo to actor
|
2020-01-05 22:15:52 +00:00 |
|
Neil Alexander
|
fc9a1c6c31
|
Simplify reconfiguration
|
2019-08-28 19:31:04 +01:00 |
|
Neil Alexander
|
e553f3e013
|
Reconfigure functions now ran by actors
|
2019-08-28 12:46:12 +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
|
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
|
88161009e9
|
more peer migration
|
2019-08-24 12:55:49 -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
|
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
|
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
|
84a4f54217
|
temporary fix to nil pointer, better to make sure it's never nil
|
2019-08-05 18:49:15 -05:00 |
|
Arceliar
|
f52955ee0f
|
WARNING: CRYPTO DISABLED while speeding up stream writeMsg
|
2019-08-04 14:18:59 -05:00 |
|
Arceliar
|
1e6a6d2160
|
use session.cancel in the router to make blocking safe, reduce size of fromRouter buffer so the drops in the switch are closer to the intended front-drop behavior
|
2019-08-04 02:21:41 -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
|
377f88512b
|
Remove commented out router function
|
2019-07-27 15:57:19 +01:00 |
|
Neil Alexander
|
de1005e4fa
|
Various API changes and simplifications to fix mobile builds
|
2019-07-27 15:00:09 +01: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
|
5d323861f0
|
properly fix the memory errors, it was caused by a function returning and PutBytes-ing a buffer before a worker had a chance to decrypt the buffer, so it would GetBytes the same buffer by dumb luck and then get an illegal overlap
|
2019-04-26 22:21:31 -05:00 |
|
Neil Alexander
|
870b2b6a2e
|
Remove CKR from src/yggdrasil (it will be moved into tuntap)
|
2019-04-23 10:28:40 +01:00 |
|
Neil Alexander
|
e1a2d666bf
|
Clean up router, tweaks
|
2019-04-22 23:12:13 +01:00 |
|
Arceliar
|
5dada3952c
|
use a session worker to try to avoid mutex hell. compiles, but incomplete and doesn't work yet
|
2019-04-21 20:38:14 -05:00 |
|
Neil Alexander
|
79bcfbf175
|
Change some mutexes to atomics, change conns map to pointers, sort of works but seems to deadlock very easily
|
2019-04-21 11:50:41 +01:00 |
|
Neil Alexander
|
d01662c1fb
|
Try to convert TUN/TAP to use new yggdrasil.Conn, search masks are still broken
|
2019-04-20 16:32:27 +01:00 |
|
Neil Alexander
|
f3e742a297
|
Squash a whole load of races (and mutex half the world)
|
2019-04-20 11:53:38 +01:00 |
|
Neil Alexander
|
160e01e84f
|
Searches called from api.go, various other tweaks, searches now have a callback for success/failure, node ID now reported by admin socket
|
2019-04-18 23:38:23 +01:00 |
|
Neil Alexander
|
39baf7365c
|
Unexport/modify some interfaces to revive broken iOS/Android builds
|
2019-03-30 00:09:35 +00:00 |
|
Neil Alexander
|
f19a4e4398
|
More godoc improvements
|
2019-03-29 18:18:31 +00:00 |
|
Neil Alexander
|
b5ac65cacb
|
Rearrange public interface, godoc improvements
|
2019-03-29 18:05:17 +00:00 |
|
Neil Alexander
|
a830521078
|
Don't crash if Yggdrasil is started with no router adapter
|
2019-03-29 08:38:09 +00:00 |
|