Commit Graph

97 Commits

Author SHA1 Message Date
xdrm-brackets 75f568a1ec manage invalid Close codes + close() now can work without sending the CLOSE frame (if status=NONE)
[TODO] manage fragmentation
2018-05-06 01:37:02 +02:00
xdrm-brackets f07afb8c85 manage invalid error code (size=1) and too long reason (size>125) 2018-05-06 01:06:17 +02:00
xdrm-brackets ec1722a804 handle panic() 2018-05-06 01:05:52 +02:00
xdrm-brackets 86dba9aa0b chunk message writer 2018-05-06 01:05:38 +02:00
xdrm-brackets 361684f634 add simple tests for Send() 2018-05-06 00:28:02 +02:00
xdrm-brackets 98ce1dddbe fix Send(): FINAL + TYPE were hard-coded 2018-05-06 00:27:45 +02:00
xdrm-brackets 7fa43b2c00 [message] added 'UnmaskedFrameErr' managed on [client] + removed unused lib + add tests for ReadMessage simple cases 2018-05-06 00:18:01 +02:00
xdrm-brackets dadd3cd479 make Send() generic with 'io.Writer' 2018-05-05 23:53:38 +02:00
xdrm-brackets 89124221fb minmod 2018-05-05 23:53:06 +02:00
xdrm-brackets 14205a0b2e fix message length 2018-05-05 23:53:00 +02:00
xdrm-brackets d03e08b466 opti 2018-05-05 18:47:38 +02:00
xdrm-brackets dfeba31404 no more channels with message pointers, only Messages (controller can close a client by closing the 'send' channel)
+ fixed channel closing (so as goroutines) when ending connections
2018-05-05 18:43:16 +02:00
xdrm-brackets 4f85752052 close sending channel (no more memory error, sending goroutine killed) -> TODO: manage already closed channels 2018-05-05 17:43:49 +02:00
xdrm-brackets 858d409834 made it more generic (io.Reader, simple Write, etc) 2018-05-05 17:39:39 +02:00
xdrm-brackets 009f34e436 fix Store of Client that can be anything, not empty struct 2018-05-05 17:39:10 +02:00
xdrm-brackets 0891ebbe8e removed useless 2018-05-05 17:38:55 +02:00
xdrm-brackets 52067c7640 close() closes channels to free goroutines
reader/writer are no more methods -> functions
added reference to server.unregister
some more stuff
2018-05-05 17:38:07 +02:00
xdrm-brackets e56ff09fc8 add Host tests 2018-05-04 08:53:15 +02:00
xdrm-brackets dc510ad5d9 refactor upgrade.request + merge 'upgrade.reqline' + began tests 2018-05-04 08:41:40 +02:00
xdrm-brackets b713011e7b comment non-bloquing read 2018-05-04 07:34:58 +02:00
xdrm-brackets ab351de382 non-blocking reads (+ added peek-er to check connection every 10us) 2018-05-03 21:10:02 +02:00
xdrm-brackets 52673ba7e5 removed 'upgrader' interface 2018-05-03 19:50:30 +02:00
xdrm-brackets a31269118f BIG UPDATE; brand new code structure (1 public package) + read by chunks if needed 2018-05-03 19:31:09 +02:00
xdrm-brackets 2d51ba1863 typed message type + added CONTINUATION 2018-05-03 14:54:02 +02:00
xdrm-brackets 378534153c removed unused 2018-05-03 14:51:12 +02:00
xdrm-brackets 09b3cc8921 add close case (payload size = 0) 2018-05-02 23:47:00 +02:00
xdrm-brackets 0ed39dec0e remove debug + clean main 2018-05-02 22:56:38 +02:00
xdrm-brackets a887bcd0b9 removed debug 2018-05-02 22:43:05 +02:00
xdrm-brackets 5837c1cdb9 Merge branch 'master' of gogs:xdrm-brackets/gws 2018-05-02 22:39:14 +02:00
xdrm-brackets e9b66b87b7 BIGFIX (fuck it) 2018-05-02 22:39:09 +02:00
xdrm-brackets 4e0b13a031 BIGFIX (fuck it) 2018-05-02 22:36:59 +02:00
xdrm-brackets 9abf760e37 BIGUPDATE: new execution structure + package structure (debug to remove later) + Write does not work... yet 2018-05-02 22:24:50 +02:00
xdrm-brackets 4ec4dfd1d5 big update ! to fix 2018-05-01 22:14:35 +02:00
xdrm-brackets e89166a3bf update + opcode management (SOME THINGS TO FIX...) 2018-04-30 15:35:30 +02:00
xdrm-brackets 1df592cb81 fix condition error 2018-04-28 18:08:36 +02:00
xdrm-brackets 2d220fc34b added 'asyncWriter()' behavior + frame interface TODO 2018-04-28 17:57:03 +02:00
xdrm-brackets c3121df33f updated structure (break ws.* apart) + channel management 2018-04-28 17:51:05 +02:00
xdrm-brackets 15d9d24ce4 Renamed types (explicit) + moved channels into client (not controller) 2018-04-28 17:50:14 +02:00
xdrm-brackets 3c5d45ee21 add Upgrade Response status code check to begin/abort websocket client 2018-04-28 16:23:42 +02:00
xdrm-brackets 5fcdc9ca70 do not return Sec-WebSocket-Accept in response if upgrade error (not read yet from Request) + StatusCode getter 2018-04-28 16:23:07 +02:00
xdrm-brackets db2b24ae51 updated controller implementation (use channels) 2018-04-28 16:06:46 +02:00
xdrm-brackets a3f72a9bf7 added 'chan *Frame' and channel principle to build the Controller implementation on 2018-04-28 16:04:05 +02:00
xdrm-brackets dcfdb3411a websocket frame parsing works + controller dispatch but have to be improved 2018-04-27 12:16:34 +02:00
xdrm-brackets b1d0a71dd5 add chunk reader for websocket 2018-04-27 08:48:19 +02:00
xdrm-brackets 2bb8b81a21 update sample main 2018-04-26 23:40:53 +02:00
xdrm-brackets 3be3b5e156 add dispatch(net.Conn, *upgrader.T) to dispatch client into controller 2018-04-26 23:39:43 +02:00
xdrm-brackets 844bdf14c6 add controller into client 2018-04-26 23:39:20 +02:00
xdrm-brackets 756bbca0b1 updated GetMatch(uint) + add GetAllMatch() 2018-04-26 23:39:10 +02:00
xdrm-brackets 427d7d06c8 added server Launch() routine using s.dispatch() 2018-04-26 23:38:50 +02:00
xdrm-brackets 8432c81e07 proper Server attributes initialisation 2018-04-26 23:27:12 +02:00