Commit Graph

259 Commits

Author SHA1 Message Date
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
Andy Wang c7c3f7706d Refactor for clarity and add comments 2020-10-18 14:42:47 +01:00
Andy Wang c1b261c652 Add stream tests 2020-10-17 19:28:03 +01:00
Andy Wang 86e2935607 Use a pre-made buffer for TLSConn.Write 2020-10-17 13:46:22 +01:00
Andy Wang d93ac48b85 Add build directives to fuzzing functions 2020-10-16 11:55:50 +01:00
Andy Wang b2dbe4c654 Add fuzzer 2020-10-16 11:51:53 +01:00
Andy Wang 3e133090f0 Give more descriptive names to multiplex objects 2020-10-15 22:51:36 +01:00
Andy Wang 9887649b88 Refactor Singleplexing 2020-10-15 21:32:38 +01:00
Andy Wang 0b217ddb07 Linting 2020-08-17 17:56:05 +01:00
Andy Wang ff10cbf67b Revert "Fix WriteTo receive loop"
This reverts commit 501f7dda

Address #117
2020-06-07 12:16:08 +01:00
Andy Wang 501f7dda97 Fix WriteTo receive loop 2020-05-27 13:41:34 +01:00
Andy Wang ae3f97df1e Rearrange if statement 2020-05-23 22:22:58 +01:00
Andy Wang 369f3c781c Fix UDP 2020-05-23 15:44:24 +01:00