Andy Wang
|
e0b97db7cc
|
Add unordered benchmark for RecvDataFromRemote
|
2020-12-27 21:40:59 +00:00 |
|
Andy Wang
|
d1b05ee9e5
|
Add new encryption method option aes-128-gcm
|
2020-12-27 13:26:45 +00:00 |
|
Andy Wang
|
cbd71fae6d
|
Control flow optimisations
|
2020-12-26 16:34:25 +00:00 |
|
Andy Wang
|
2d08e88efb
|
Use a sync.Pool to remove the global random bottleneck in picking a random conn
|
2020-12-26 13:48:42 +00:00 |
|
Andy Wang
|
415523f10a
|
Refactor obfuscate and deobfuscate functions to reduce a layer of indirection
|
2020-12-26 00:49:36 +00:00 |
|
Andy Wang
|
2f17841f85
|
Use Compare-And-Swap for atomic booleans indicating session and switchboard closed
|
2020-12-25 23:16:57 +00:00 |
|
Andy Wang
|
4f34e69006
|
Use pooled buffer for session closing frame
|
2020-12-24 13:42:22 +00:00 |
|
Andy Wang
|
881f6e6f9d
|
Use sync.Pool for obfuscation buffer
|
2020-12-24 11:35:29 +00:00 |
|
Andy Wang
|
3b24c33e78
|
Remove incorrect concurrent uses of testing.T.Fatal
|
2020-12-23 23:12:51 +00:00 |
|
Andy Wang
|
70a9723377
|
Temp fix to testing reading after closing a stream
|
2020-12-23 22:34:26 +00:00 |
|
Andy Wang
|
a97f5759c0
|
Fix race condition in tests
|
2020-12-23 22:34:12 +00:00 |
|
Andy Wang
|
0209bcd977
|
Fix race condition in steam closing. Fall back to temp buffer allocation
|
2020-12-23 22:33:01 +00:00 |
|
Andy Wang
|
53f0116c1d
|
Fix race condition in the use of assert.Eventually
|
2020-12-23 17:43:18 +00:00 |
|
Andy Wang
|
9108794362
|
Fix race condition in allocating obfsBuf
|
2020-12-23 17:42:54 +00:00 |
|
Andy Wang
|
5c5e9f8c14
|
Prevent unnecessary allocation in stream closing
|
2020-12-23 17:28:28 +00:00 |
|
Andy Wang
|
3e737717bd
|
Use assert.Eventually to correctly handle more timing sensitive tests
|
2020-12-23 12:25:58 +00:00 |
|
Andy Wang
|
35f41424c9
|
Use default hashmap to store streams. Avoid allocating a stream object on receiving every single frame
|
2020-12-22 20:21:40 +00:00 |
|
Andy Wang
|
fd5005db0a
|
Fix a timing sensitive test on reading data after actively closing a stream
|
2020-12-22 20:16:47 +00:00 |
|
Andy Wang
|
ff503b06a8
|
Only allocate and copy frame object into sorter heap when necessary (out of order frame)
|
2020-12-22 19:39:13 +00:00 |
|
Andy Wang
|
5a3f63f101
|
Reduce allocation of frame objects on receiving data
|
2020-12-22 14:45:29 +00:00 |
|
Andy Wang
|
104117cafb
|
Fix one instance of not accessing recvBuf via the getter
|
2020-12-22 14:32:41 +00:00 |
|
Andy Wang
|
4bc80af9a1
|
Lazily allocate stream receiving buffer
|
2020-12-22 14:12:00 +00:00 |
|
Andy Wang
|
badda76454
|
Improve data receive benchmark
|
2020-12-22 13:40:37 +00:00 |
|
Andy Wang
|
42f36b94d3
|
Achieve zero allocation when writing data through stream
|
2020-12-22 13:16:48 +00:00 |
|
Andy Wang
|
3633c9a03c
|
Fix multiplex test as test payload length may be randomised to 0
|
2020-12-22 12:39:39 +00:00 |
|
Andy Wang
|
c9ac93b0b9
|
Refactor session_test.go
|
2020-12-21 20:38:28 +00:00 |
|
Andy Wang
|
0473d71bea
|
Fix overflow in padding length calculation
|
2020-12-19 20:49:21 +00:00 |
|
Andy Wang
|
4a37449d33
|
Replace all time-sensitive tests with assert.Eventually
|
2020-12-19 20:14:43 +00:00 |
|
Andy Wang
|
8d146582d2
|
Add release action
|
2020-12-19 19:42:31 +00:00 |
|
Andy Wang
|
005da456c0
|
Fix timing sensitive tests
|
2020-12-19 19:30:53 +00:00 |
|
Andy Wang
|
061b10e802
|
Improve tests code quality
|
2020-12-06 11:14:33 +00:00 |
|
Andy Wang
|
61b1031da6
|
Reduce code duplication in session closing
|
2020-12-06 10:50:45 +00:00 |
|
Andy Wang
|
0327d0ffb3
|
Further reduce the amount of calls to AfterFunc
|
2020-12-06 00:16:29 +00:00 |
|
notsure2
|
208a7f249f
|
Fix memory leaking by extra timers.
|
2020-12-06 01:47:52 +02:00 |
|
Andy Wang
|
c0040f20c3
|
Use time.AfterFunc for session inactivity timeout to reduce goroutine count
|
2020-12-05 21:38:16 +00:00 |
|
Andy Wang
|
a3520c1018
|
Revert "Prevent time.Timer memory leak by using a singleton timer in bufferedPipes. Fix #137"
This reverts commit 4baca256
|
2020-12-05 21:26:41 +00:00 |
|
Andy Wang
|
4baca256f7
|
Prevent time.Timer memory leak by using a singleton timer in bufferedPipes. Fix #137
|
2020-12-05 12:04:55 +00:00 |
|
Andy Wang
|
39c06a6e1d
|
Update comment
|
2020-12-04 22:27:24 +00:00 |
|
Andy Wang
|
0f6e0d37b5
|
Rename constants to camel case
|
2020-10-21 16:42:24 +01:00 |
|
Andy Wang
|
11cfeb4fa3
|
Improve comments
|
2020-10-21 16:37:32 +01:00 |
|
Andy Wang
|
735975ef88
|
Fix typo and remove redundant benchmark
|
2020-10-21 15:53:39 +01:00 |
|
Andy Wang
|
651854904f
|
Improve comments
|
2020-10-21 00:54:36 +01:00 |
|
Andy Wang
|
977f51ce48
|
Add comments
|
2020-10-20 01:10:57 +01:00 |
|
Andy Wang
|
ef040b0115
|
Fix stream closing tests
|
2020-10-18 22:56:31 +01:00 |
|
Andy Wang
|
c5276df32e
|
Check payload AEAD's size in relation to frame header's size
|
2020-10-18 21:41:30 +01:00 |
|
Andy Wang
|
e141323c9d
|
Fix obfsBuf being too small on closing frame
|
2020-10-18 21:37:41 +01:00 |
|
Andy Wang
|
f8f02bfc43
|
Parameterise session inactivity timeout
|
2020-10-18 15:51:57 +01:00 |
|
Andy Wang
|
0fc27d747e
|
Reduce unnecessary allocation size on stream closing
|
2020-10-18 15:37:14 +01:00 |
|
Andy Wang
|
64d857c74d
|
Rename variables for clarity
|
2020-10-18 15:36:40 +01:00 |
|
Andy Wang
|
acdb0d35fa
|
Reduce recvBuffer's implementation's buffer size limits
|
2020-10-18 14:56:58 +01:00 |
|