5
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2024-11-14 04:30:32 +00:00
Commit Graph

1420 Commits

Author SHA1 Message Date
Arceliar
c55d7b4705 have the switch queue drop packts to ourself when the total size of all packets is at least queueTotalMaxSize, instead of an arbitrary unconfigurable packet count 2019-08-04 16:16:49 -05:00
Arceliar
6803f209b0 have tuntap code use Conn.ReadNoCopy and Conn.WriteNoCopy to avoid copying between slices 2019-08-04 15:59:51 -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
07f14f92ed disable crypto and switch buffer changes from testing 2019-08-04 15:25:14 -05:00
Arceliar
0ba8c6a34f have the stream code use bufio instead of copying manually to an input buffer, slightly reduces total uses of memmove 2019-08-04 15:21:04 -05:00
Arceliar
75b931f37e eliminate some more copying between slices 2019-08-04 14:50:19 -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
7bf5884ac1 remove some lossy channel sends that should be safe to allow to block 2019-08-04 02:14:45 -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
144c823bee just use a sync.Pool as the bytestore to not overcomplicate things, the allocations from interface{} casting don't seem to actually hurt in practice right now 2019-08-04 00:28:13 -05:00
Arceliar
cbbb61b019 fix another drain on the bytestore 2019-08-04 00:00:41 -05:00
Arceliar
00e9c3dbd9 do session crypto work using the worker pool 2019-08-03 23:27:52 -05:00
Arceliar
befd1b43a0 refactor session worker code slightly 2019-08-03 23:14:51 -05:00
Arceliar
7a9ad0c8cc add workerpool to util 2019-08-03 23:10:37 -05:00
Arceliar
b9987b4fdc reduce time spent with a mutex held in sessionInfo.recvWorker 2019-08-03 22:47:10 -05:00
Arceliar
099bd3ae1e reduce part of sendWorker that needs to keep a mutex 2019-08-03 22:35:10 -05:00
Arceliar
72ed541bf3 a little cleanup to Conn functions 2019-08-03 22:07:38 -05:00
Arceliar
5dfc71e1ee put bytes back when done 2019-08-03 22:00:47 -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
a2966291b9
Merge pull request #478 from yggdrasil-network/develop
Version 0.3.6
2019-08-03 12:00:00 +01:00
Neil Alexander
523f90bfc4
Merge pull request #477 from yggdrasil-network/changelog
Update CHANGELOG.md
2019-08-03 10:17:28 +01:00
Arceliar
1eabf88782 more updates to go.sum 2019-08-02 20:48:07 -05:00
Neil Alexander
68769efdc9
Update go.mod/go.sum 2019-08-02 20:05:15 +01:00
Neil Alexander
e6bca895bc
Update go.mod/go.sum 2019-07-30 11:52:30 +01:00
Neil Alexander
a3099894bd
Update CHANGELOG.md 2019-07-30 10:15:06 +01:00
Neil Alexander
92a611f34b
Merge pull request #476 from yggdrasil-network/build
Update build script
2019-07-30 00:14:03 +01:00
Neil Alexander
b4d08f9273
Try to be more POSIX-compliant 2019-07-30 00:03:17 +01:00
Neil Alexander
cafa20074c
Don't strip debug builds 2019-07-29 23:50:00 +01:00
Neil Alexander
750a79eb09
Update build script 2019-07-29 23:45:47 +01:00
Neil Alexander
853054eb62
Merge pull request #475 from Arceliar/misc
Misc
2019-07-29 20:24:49 +01:00
Arceliar
406e143f7f move some logic from TunAdapter.reader into a new function, TunAdapter.readerPacketHandler 2019-07-28 23:33:04 -05:00
Neil Alexander
7c4c1558ff
Merge pull request #474 from neilalexander/gomobile
Various API changes and simplifications to fix mobile builds
2019-07-28 19:34:06 +01:00
Neil Alexander
bb4abf575b
Fix build -i 2019-07-28 13:51:22 +01:00
Neil Alexander
cbc8711dd3
Remove mobile module, since it can now be moved into another repository 2019-07-28 13:39:29 +01:00
Neil Alexander
c9554f82be
Formatting tweaks in api.go 2019-07-28 11:35:16 +01:00
Neil Alexander
24f4754f2b
Export NodeInfoPayload type, rename some API functions 2019-07-28 11:30:24 +01:00
Arceliar
38e1503b28 split up some of the tun reader logic into a separate worker, so the main loop can be mostly just syscalls 2019-07-27 20:09:43 -05: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
Arceliar
39245f8134
Merge pull request #473 from Arceliar/macos
Possible fix for macos self-traffic
2019-07-27 11:12:03 -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
Neil Alexander
ad4ba6871e
Use Go 1.12.7 for macOS builds 2019-07-27 14:15:07 +01:00
Neil Alexander
d813105386
Export CIBRANCH to Bash env 2019-07-27 14:11:03 +01:00
Neil Alexander
4d4fa84123
Hopefully fix CircleCI builds on PRs 2019-07-27 13:57:19 +01:00
Neil Alexander
195d577151
Add IFF_NODAD/IFF_SECURED, define consts 2019-07-27 13:30:47 +01:00
Arceliar
e5bb9bcb8d change how searches are initialized so we actually send a dhtReq to ourself and get a response, in case we're the destination 2019-07-26 17:44:40 -05:00
Neil Alexander
9b99f0b5e4
Update go.mod/go.sum references 2019-07-25 08:40:45 +01:00