Commit Graph

70 Commits

Author SHA1 Message Date
Andy Wang
3e133090f0 Give more descriptive names to multiplex objects 2020-10-15 22:51:36 +01:00
Andy Wang
d958de9938 Improve switchboard connscount 2020-04-17 01:04:26 +01:00
Andy Wang
f05cc19dbc Assign connId only when needed 2020-04-12 12:51:00 +01:00
Andy Wang
bbc0752883 Minor code cleanup 2020-04-09 19:10:04 +01:00
Andy Wang
7bfae8accd Refactor client side transport (breaks server) 2020-04-08 20:53:09 +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
2dc7c6d6e1 Correct switchboard valve's scope 2020-04-08 15:15:08 +01:00
Andy Wang
545164a300 Make send/receive buffer sizes configurable 2020-04-08 15:07:35 +01:00
Andy Wang
402cfc9e25 Logging for silent connections 2020-04-05 01:15:45 +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
766c27a129 Refactor if to switch case 2020-04-03 22:46:07 +01:00
Andy Wang
99fa812594 Fix pickRandConn bad loop 2020-01-22 22:17:18 +00:00
Andy Wang
bdd5308169 Code style clean up 2019-11-08 17:06:20 +00:00
Andy Wang
c26be98e79 Use sync.Map in multiplex instead of manual locks 2019-11-03 12:22:12 +00:00
Andy Wang
4c17923717 Make write error close session as well 2019-10-20 15:37:41 +01:00
Andy Wang
57f0c3d20a Close session when one connection drops 2019-10-16 23:00:23 +01:00
Andy Wang
beb6568ce0 Check before passive close 2019-10-15 22:06:23 +01:00
Andy Wang
6580e38e44 Introduce a special Session closing frame 2019-10-14 15:34:14 +01:00
Andy Wang
96215f116a Fix #61 2019-09-22 10:44:16 +01:00
Andy Wang
854dc422a2 Update some comments 2019-09-01 23:14:28 +01:00
Andy Wang
75dc91c15c Fix wrong wait type 2019-08-31 15:33:23 +01:00
Andy Wang
4861efbc50 Fix #54 2019-08-31 15:32:57 +01:00
Andy Wang
c3ff3f5d1a Fix the weird nil pointer again 2019-08-21 13:14:23 +01:00
Andy Wang
bbb0d35e80 Remove conns from map once switchboard.CloseAll is called 2019-08-20 23:15:36 +01:00
Andy Wang
87a7684e10 More comments 2019-08-20 22:43:04 +01:00
Andy Wang
52796ad0b1 recvDataFromRemote returns err 2019-08-16 23:47:15 +01:00
Andy Wang
c1b1d5d8ba Fix accidentally removed tx qos 2019-08-14 11:56:55 +01:00
Andy Wang
c36ec04ce5 Add unordered mode 2019-08-14 11:56:55 +01:00
Andy Wang
8967819830 Fix accidentally removed tx qos 2019-08-14 10:28:08 +01:00
Qian Wang
71e48a1947 Refactor switchboard configuration and add unordered option 2019-08-12 00:48:20 +01:00
Qian Wang
cb672a99de Refactor session configuration 2019-08-12 00:22:15 +01:00
Qian Wang
abc83a9190 Potential fix to an edge case nil pointer 2019-08-09 10:36:27 +01:00
Qian Wang
d99b4009b2 Differentiate concrete types of LimitedValve and UnlimitedValve to avoid unnecessary atomic.AddUint64 since it has non-trivial overhead on embedded systems 2019-08-07 15:43:42 +01:00
Qian Wang
e7aa4cd04b Fix a stuck mutex 2019-08-07 13:59:27 +01:00
Qian Wang
3002c87a49 Fix a server crashing null pointer 2019-08-06 21:04:08 +01:00
Qian Wang
01036086c7 Change the frame distribution strategy so that each stream is assigned a fixed underlying TCP connection to send its frames to reduce framesorter ooo count 2019-08-05 22:14:11 +01:00
Qian Wang
fac381dbca Refactor switchboard 2019-08-05 14:33:20 +01:00
Qian Wang
d46fa74924 Refactor frame sorter 2019-08-05 13:32:53 +01:00
Qian Wang
9fcc328797 Fix a mutex deadlock 2019-08-05 13:17:02 +01:00
Qian Wang
e75c713385 Refactor session struct's obfs fields 2019-08-02 16:37:48 +01:00
Qian Wang
33f232475d Improve logging 2019-08-02 15:45:33 +01:00
Qian Wang
8f9922b06b Add terminal messages upon session closing 2019-07-25 20:57:02 +01:00
Qian Wang
29a45bcc1a Rewrite user authentication, credit bookkeeping and db interaction 2019-07-22 13:42:39 +01:00
Qian Wang
9d2e9be1ef Fix a race which causes the server unable to close all the connections in a session 2019-01-22 00:03:38 +00:00
Qian Wang
0544364a8e Cleanup logs 2019-01-12 15:51:20 +00:00
Qian Wang
310ce1643a Minor Makefile edit and remove FIXME 2019-01-12 14:16:31 +00:00
Qian Wang
d906541497 Redo the header obfuscation. Fix hiccups caused by short packets 2019-01-06 01:40:27 +00:00
Qian Wang
f3f3042c81 Remove redundant functions 2018-12-31 11:30:39 +00:00
Qian Wang
23a06c6a52 Clarify the code to enter admin mode 2018-12-30 01:15:46 +00:00