Commit Graph

192 Commits

Author SHA1 Message Date
Andy Wang
f05cc19dbc Assign connId only when needed 2020-04-12 12:51:00 +01:00
Andy Wang
14787a7057 Implement stream WriteTo 2020-04-12 12:43:24 +01:00
Andy Wang
334712c413 Regression: closing in the middle of a read will block 2020-04-12 12:28:00 +01:00
Andy Wang
4351815a4a fix stale code 2020-04-12 11:35:24 +01:00
Andy Wang
a82a1a5627 writerTo 2020-04-12 11:34:04 +01:00
Andy Wang
21cbe6ab5d Implement WriterTo for receive buffers 2020-04-12 11:33:11 +01:00
Andy Wang
029da207ce Optimise datagramBuffer 2020-04-12 11:18:41 +01:00
Andy Wang
783d016a29 Fix a race on closing stream 2020-04-12 01:35:17 +01:00
Andy Wang
58e0797578 Synchronise stream.Write 2020-04-12 01:34:21 +01:00
Andy Wang
008fd8f0a3 Lazy allocation 2020-04-12 00:49:49 +01:00
Andy Wang
ce35a054ed Remove redundant tests 2020-04-11 22:43:29 +01:00
Andy Wang
5d4e8b8d8d Refactor udp piping and add tests 2020-04-11 22:37:15 +01:00
Andy Wang
e9243a2e9f Framing in Stream.Write to prevent silent short write 2020-04-10 18:48:36 +01:00
Andy Wang
78b27c0705 Fix tests 2020-04-10 16:14:32 +01:00
Andy Wang
a51d45f41a Avoid unnecessary pass by pointer 2020-04-10 16:09:05 +01:00
Andy Wang
e5bda61587 Close connections properly 2020-04-09 23:52:08 +01:00
Andy Wang
bbc0752883 Minor code cleanup 2020-04-09 19:10:04 +01:00
Andy Wang
86214a1df0 Implement stream SetReadDeadline 2020-04-09 18:56:17 +01:00
Andy Wang
e41394c83c Set frame size limit through multiplexer 2020-04-09 16:37:46 +01:00
Andy Wang
97858197cd Move common types to its own package 2020-04-09 00:39:40 +01:00
Andy Wang
ec76ecfe71 Update tests 2020-04-08 21:47:31 +01:00
Andy Wang
7bfae8accd Refactor client side transport (breaks server) 2020-04-08 20:53:09 +01:00
Andy Wang
96845700f8 Add some integration tests for multiplex 2020-04-08 18:26:57 +01:00
Andy Wang
a461059b4a Change behaviour of stream.Write(nil) 2020-04-08 18:16:54 +01:00
Andy Wang
d3bc3b5a13 Use connutil in test 2020-04-08 16:41:39 +01:00
Andy Wang
43ae82ec0e Fix test, improve err message and fix nil interface casting 2020-04-08 15:58:46 +01:00
Andy Wang
3bc59ff4b6 Fix tests 2020-04-08 15:17:33 +01:00
Andy Wang
2dc7c6d6e1 Correct switchboard valve's scope 2020-04-08 15:15:08 +01:00
Andy Wang
e52daf1a39 Set defaults properly 2020-04-08 15:13:49 +01:00
Andy Wang
545164a300 Make send/receive buffer sizes configurable 2020-04-08 15:07:35 +01:00
Andy Wang
1de5045003 Use errors from io 2020-04-08 14:59:09 +01:00
Andy Wang
01e5d15d20 Code cleanup 2020-04-08 12:18:20 +01:00
Andy Wang
963dae829d Fix tests 2020-04-07 21:19:40 +01:00
Andy Wang
c1f3408c2c Make key lengths explicit 2020-04-07 21:15:28 +01:00
Andy Wang
443aeecf5f Use cbeuw/connutil for connection testing 2020-04-07 20:59:32 +01:00
Andy Wang
402cfc9e25 Logging for silent connections 2020-04-05 01:15:45 +01:00
Andy Wang
8d84ebd145 Code styles 2020-04-05 00:56:43 +01:00
Andy Wang
dc262f7ca5 actually change the connId of a stream upon new assignment in send 2020-04-05 00:52:06 +01:00
Andy Wang
e9afae72f0 better stream closing error message 2020-04-05 00:51:28 +01:00
Andy Wang
5e1931a11c Ineffectual assignments 2020-04-04 16:10:43 +01:00
Andy Wang
766c27a129 Refactor if to switch case 2020-04-03 22:46:07 +01:00
Andy Wang
e33afb258a extract util testing function 2020-03-16 11:38:30 +00:00
Andy Wang
47410dbb97 add comments 2020-03-15 23:56:45 +00:00
Andy Wang
db8dd19c9d fix broken benchmarks 2020-03-15 23:55:56 +00:00
Andy Wang
517a6d6e57 Handle error and retry for Crypto.rand 2020-02-01 23:46:46 +00:00
Andy Wang
13b66f6fef Remove redundant code 2020-01-24 13:30:17 +00:00
Andy Wang
6f34229aa0 Make and add stream upon reception of all new streamIDs even if they are closing 2020-01-23 20:30:31 +00:00
Andy Wang
99fa812594 Fix pickRandConn bad loop 2020-01-22 22:17:18 +00:00
Andy Wang
3f5fdae284 Close session immediately after receiving signal 2020-01-22 21:30:30 +00:00
Andy Wang
d65aee725a Improve stream closing logic and add tests 2020-01-22 21:12:32 +00:00