Commit Graph

47 Commits

Author SHA1 Message Date
Benjamin Sergeant 0b90f7df1b add a way to run in blocking more, which is useful for server mode to have N*thread instead of 2N*thread for N connections 2019-01-01 21:25:15 -08:00
Benjamin Sergeant 00ca7c8fb0 more named constants 2019-01-01 19:23:27 -08:00
Benjamin Sergeant 06b9b2e649 linux fix + unittest works with Linux 2019-01-01 17:13:26 -08:00
Benjamin Sergeant b13fee16c1 crash when server failed to start 2019-01-01 16:14:46 -08:00
Benjamin Sergeant 9a7767ecb1 thread accepting connections can be cancelled/stopped externally 2019-01-01 16:11:27 -08:00
Benjamin Sergeant 9b82a33aff listen job run in its own thread, non blocking 2019-01-01 14:52:14 -08:00
Benjamin Sergeant 77903e9d90 cleanup / remove printf, add mutex, remove hardcoded values, can pass in a binding host 2019-01-01 14:28:41 -08:00
Benjamin Sergeant de66a87a7c use shared_ptr 2019-01-01 13:53:13 -08:00
Benjamin Sergeant 5ea2028c22 unittest pass 2019-01-01 13:47:25 -08:00
Benjamin Sergeant 58a68ec0be record workers in a map instead of a vector 2018-12-31 14:52:59 -08:00
Benjamin Sergeant f8373dc666 more cleanup to propagate server connection error and let onOpen callback execute 2018-12-31 12:43:47 -08:00
Benjamin Sergeant 3febc2431d only bind to localhost 2018-12-31 11:48:49 -08:00
Benjamin Sergeant 0bf736831a server code has a callback that takes a websocket 2018-12-30 22:12:13 -08:00
Benjamin Sergeant 7710bf793f cleanup / use a websocket instead of raw websockettransport 2018-12-30 22:00:49 -08:00
Benjamin Sergeant a6a43bd361 can accept multiple connection / server can send data back to client 2018-12-30 21:16:05 -08:00
Benjamin Sergeant a39209a895 proof of concept server implementation 2018-12-29 23:15:27 -08:00
Benjamin Sergeant 24c9e0abc3 can create a socket from a fd 2018-12-29 21:53:33 -08:00
Benjamin Sergeant 9cc324d78d add simple unittest 2018-12-29 18:34:08 -08:00
Benjamin Sergeant 8574beceb1 add missing src files (IXSetThreadName.{cpp,h}) ... 2018-12-23 14:19:30 -08:00
Benjamin Sergeant 0349b7f1c7 fix warning: field '_eventCallback' will be initialized after field '_publishMode' 2018-12-23 14:18:53 -08:00
Benjamin Sergeant ce1ba20db5 Fix warning: field '_done' will be initialized after field '_wait' [-Wreorder] _done(false), 2018-12-23 14:17:30 -08:00
Benjamin Sergeant 395d823f41 set thread name / rename example 2018-12-23 14:14:38 -08:00
Benjamin Sergeant 6884f9f74f async dns lookup fix 2018-12-14 17:49:42 -08:00
Benjamin Sergeant b34eccd749 non blocking dns lookup 2018-12-14 16:28:17 -08:00
Benjamin Sergeant 50b638f7fd add cancellation support while connecting, to speed up WebSocket::stop 2018-12-09 17:56:20 -08:00
Benjamin Sergeant 5bf1b91528 http upgrade and connections use non blocking sockets 2018-12-09 14:07:40 -08:00
Benjamin Sergeant f77ececc92 threading race condition fixes, detected by TSAN 2018-12-06 08:27:28 -08:00
Benjamin Sergeant 58cccbdcf9 cleanup 2018-11-14 15:52:28 -08:00
Benjamin Sergeant 5710ffba6a per-message deflate compression fixes 2018-11-13 17:46:05 -08:00
Benjamin Sergeant a7a422d6ed tweaks doc / license + send proper error code when closing the connecion 2018-11-12 09:00:55 -08:00
Benjamin Sergeant 43fcf93584 per message deflate support (with zlib) 2018-11-09 18:42:09 -08:00
Benjamin Sergeant 32f4c8305e (satori_publisher) better error handling 2018-11-07 14:54:44 -08:00
Benjamin Sergeant ffd4f1d322 Add missing files ... 2018-11-07 12:25:38 -08:00
Benjamin Sergeant 10dd13deb3 Add DockerFile + parse rsv1 field 2018-11-07 11:45:17 -08:00
Benjamin Sergeant c1ed83a005 stopping connection on Linux does not close the socket, which can create problem when re-starting the connection 2018-11-01 17:02:49 -07:00
Benjamin Sergeant 45b579447e Handle Sec-WebSocket-Accept correctly 2018-10-27 10:24:48 -07:00
Benjamin Sergeant bb0b1836cd capture an error code and a reason when the server closes the connection 2018-10-25 18:51:19 -07:00
Benjamin Sergeant 2bc38acbb1 ping / pong support / fix bug in dispatching received message type 2018-10-25 14:43:35 -07:00
Benjamin Sergeant 977feae1d6 Better ping/pong support 2018-10-25 14:43:35 -07:00
Benjamin Sergeant 16805759d3 Windows support (no TLS yet) 2018-10-08 21:44:54 -07:00
Benjamin Sergeant 88c2e1f6de make TLS support optional 2018-10-08 15:24:36 -07:00
Benjamin Sergeant d31ecfc64e Update IXWebSocket.h
Remove dead code
2018-10-07 15:49:07 -07:00
Benjamin Sergeant ea81470f4a more ssl peer validation stuff 2018-10-05 18:45:44 -07:00
Benjamin Sergeant 10ce046b0f (openssl) verify that the certificate we are getting match the domain we are requesting 2018-10-05 12:08:45 -07:00
Benjamin Sergeant 8f5d83c5c2 (openssl) add sni support 2018-10-01 17:36:21 -07:00
Benjamin Sergeant 09af729c07 g++ build fixes 2018-10-01 14:46:11 -07:00
Benjamin Sergeant 9b8d6cedfe First import 2018-09-27 14:57:19 -07:00