Commit Graph

206 Commits

Author SHA1 Message Date
Andy Wang
9cab4670f4 Make buffer close non-blocking 2019-11-02 21:02:35 +00:00
Andy Wang
4c17923717 Make write error close session as well 2019-10-20 15:37:41 +01:00
Andy Wang
e2b21dae9f Fix tests 2019-10-20 15:21:31 +01:00
Andy Wang
3649283a49 Fix tests 2019-10-20 15:18:27 +01:00
Andy Wang
57f0c3d20a Close session when one connection drops 2019-10-16 23:00:23 +01:00
Andy Wang
34a4805c34 Add tests 2019-10-16 23:00:11 +01:00
Andy Wang
a1b719b15f Add terminal message 2019-10-15 22:24:33 +01:00
Andy Wang
beb6568ce0 Check before passive close 2019-10-15 22:06:23 +01:00
Andy Wang
3b3cd277f8 Fix stream not closing 2019-10-15 22:06:11 +01:00
Andy Wang
67159abcf4 Add tests 2019-10-15 21:59:13 +01:00
Andy Wang
6580e38e44 Introduce a special Session closing frame 2019-10-14 15:34:14 +01:00
Andy Wang
c9318dc90b Fix potential deadlocks 2019-10-08 23:11:16 +01:00
Andy Wang
96215f116a Fix #61 2019-09-22 10:44:16 +01:00
Andy Wang
8c477fb2b5 Default StreamTimeout to 300 seconds 2019-09-21 16:47:02 +01:00
Andy Wang
52720ca52f RedirAddr backward compatibility 2019-09-21 16:17:43 +01:00
Andy Wang
eec295a00e Remove unnecessary pointer value 2019-09-15 21:33:35 +01:00
Andy Wang
8a6f6b6088 Minor error prompt and listen to :80 and :443 by default 2019-09-15 18:11:23 +01:00
Andy Wang
63f3b4a89f Allow server to listen on multiple ports 2019-09-15 15:29:29 +01:00
Andy Wang
e2d4ab7376 Use non-pointer receiver instead 2019-09-02 14:04:52 +01:00
Andy Wang
98b77afb91 websocket over TLS 2019-09-02 14:03:10 +01:00
Andy Wang
854dc422a2 Update some comments 2019-09-01 23:14:28 +01:00
Andy Wang
339b324946 Working direct WebSocket transport 2019-09-01 20:23:45 +01:00
Andy Wang
f47f57a59f Direct WebSocket 2019-09-01 01:33:34 +01:00
Andy Wang
3a28bb65d5 Refactor touchStone 2019-08-31 21:40:50 +01:00
Andy Wang
a3c3c5dc07 Client side plain websocket 2019-08-31 18:01:39 +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
31898dad63 Change the way user termination works 2019-08-30 22:14:45 +01:00
Andy Wang
9dacb9d8fd Handle closing frame properly in datagramBuffer 2019-08-30 21:00:15 +01:00
Andy Wang
3bfaa5c1c1 Receiving a closing frame no longer returns error on Write 2019-08-30 20:50:39 +01:00
Andy Wang
0bc48a5a2e Remove redundant err checking TODO 2019-08-30 20:45:06 +01:00
Andy Wang
3f532ae065 writeFrame returns error 2019-08-30 20:43:04 +01:00
Andy Wang
a131af3439 Remove unnecessary Len check 2019-08-30 20:39:23 +01:00
Andy Wang
cfa0a97edf Rename a test set 2019-08-30 17:07:08 +01:00
Andy Wang
59f2fe04e3 Use normal Read in ReadTLS instead of ReadFull 2019-08-30 14:38:31 +01:00
Andy Wang
4fb1f55e2d Use 64bit frame Seq to prevent nonce reuse 2019-08-27 15:06:28 +01:00
Andy Wang
2006e5971a Refactor frameSorter and datagramBuffer under one interface 2019-08-22 11:48:10 +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
8b99e419b3 Check buffer length for datagramBuffer.Read() in case the datagram is larger than the buffer 2019-08-20 22:50:58 +01:00
Andy Wang
46c02d17f4 Refactor InitState 2019-08-20 22:48:01 +01:00
Andy Wang
87a7684e10 More comments 2019-08-20 22:43:04 +01:00
Andy Wang
dd4a1769d0 Refactor new session authorisation 2019-08-20 17:35:17 +01:00
Andy Wang
eabe113547 Add Stream Timeout 2019-08-19 23:23:41 +01:00
Andy Wang
ba467e8a32 Only store stream in map after Accept 2019-08-19 11:31:56 +01:00
Andy Wang
c8184fc1d2 Switch back to juju/ratelimit 2019-08-17 11:23:26 +01:00
Andy Wang
cf1f1ccf16 Add some tests 2019-08-17 00:59:30 +01:00
Andy Wang
57255fdeb2 Fail to parse ClientHello if the TLS record layer Content Type and versions are wrong 2019-08-17 00:35:28 +01:00
Andy Wang
0e0a3314c9 Add server TLS parse test 2019-08-17 00:32:03 +01:00
Andy Wang
812ca1af99 Unexport some client.State fields 2019-08-17 00:18:19 +01:00