Commit Graph

90 Commits

Author SHA1 Message Date
Benjamin Sergeant
316c630830 constexpr to declare number of fds 2019-01-26 21:01:36 -08:00
Benjamin Sergeant
1ea5db6110 linux fix 2019-01-26 20:57:48 -08:00
Benjamin Sergeant
986d9a00c0 remove shutdown call 2019-01-26 20:54:23 -08:00
Benjamin Sergeant
7a05a11014 rebase poll branch 2019-01-26 20:50:25 -08:00
Benjamin Sergeant
f09434263c insensitive string compare when validating server connection header 2019-01-25 16:17:51 -08:00
Benjamin Sergeant
fa7ef06f4d heartbeat correct 2019-01-25 16:11:39 -08:00
Benjamin Sergeant
3c9ec0aed0 close server socket on exit 2019-01-24 21:16:32 -08:00
Benjamin Sergeant
05033714bf hearbeat 2019-01-24 12:42:49 -08:00
Benjamin Sergeant
fdbd213fa2 check and validate the Connection: Upgrade header in client/server 2019-01-15 09:31:37 -08:00
Tony Lin
17b01a8c66 Fix missing upgrade header error 2019-01-15 15:35:37 +08:00
Benjamin Sergeant
79dd766fab C++14 + use make_unique and make_shared to make shared pointers 2019-01-11 21:25:06 -08:00
Benjamin Sergeant
1fa75d7fb2 check select errors better 2019-01-07 11:18:00 -08:00
Benjamin Sergeant
e30ef4a87c DNSLookup _id member does not need to be an atomic 2019-01-06 18:32:19 -08:00
Benjamin Sergeant
9fc94f0487 DNSLookup: fix #8 2019-01-06 18:27:26 -08:00
Benjamin Sergeant
121acdab6f DNSLookup: copy hostname and port instead of accessing member 2019-01-06 18:17:12 -08:00
Benjamin Sergeant
6deaa03114 return false -> return -1 2019-01-06 18:10:39 -08:00
Benjamin Sergeant
a21aae521f remove dead file 2019-01-06 14:26:11 -08:00
Benjamin Sergeant
a478f734f6 gcc linux compile fix 2019-01-06 12:12:39 -08:00
Benjamin Sergeant
98c579da03 make a class hierarchy for server code (IXWebSocketServer <- IXSocketServer) 2019-01-06 12:09:31 -08:00
Benjamin Sergeant
cc8a9e883e unittest + compiler warnings 2019-01-05 21:10:08 -08:00
Benjamin Sergeant
4d587e35d8 windows compile fix 2019-01-05 21:02:55 -08:00
Benjamin Sergeant
50f4fd1115 int -> ssize_t for socker recv and send 2019-01-05 20:53:50 -08:00
Benjamin Sergeant
06d2b68696 header refactoring 2019-01-05 20:38:43 -08:00
Benjamin Sergeant
bf6f057777 windows connect (compile fix) 2019-01-05 17:35:50 -08:00
Benjamin Sergeant
b57c1d69f2 windows connect potential fix 2019-01-05 17:32:21 -08:00
Benjamin Sergeant
ff265d83f9 more accurate description of errors 2019-01-05 17:18:43 -08:00
Benjamin Sergeant
c8c81366f7 windows (compile) fix 2019-01-05 17:04:09 -08:00
Benjamin Sergeant
9a37fd56d1 windows fix 2019-01-05 17:02:39 -08:00
Benjamin Sergeant
e4b0286a25 fix gcc warning 2019-01-05 16:26:11 -08:00
Benjamin Sergeant
78d88a8520 openssl cleanup 2019-01-05 11:42:25 -08:00
Benjamin Sergeant
46d00360a8 unittest on appveyor 2019-01-04 17:28:13 -08:00
Benjamin Sergeant
af3df5e519 Socket::readLine works with arbitrary long lines 2019-01-03 18:47:01 -08:00
Benjamin Sergeant
d75753ec98 timeout is configurable 2019-01-03 18:33:08 -08:00
Benjamin Sergeant
332bb87231 remove useless FIXME comment 2019-01-03 18:02:03 -08:00
Benjamin Sergeant
9bc2e95196 capture path/uri when connecting, and pass it back through callbacks in the openInfo member 2019-01-03 17:44:10 -08:00
Benjamin Sergeant
30a0aa0a0f implement a max connections (default = 32) settings 2019-01-03 17:05:44 -08:00
Benjamin Sergeant
8622ea5cb2 correct validation of the request (request line + headers) 2019-01-03 13:41:06 -08:00
Benjamin Sergeant
ed3a50d9b5 cancellation refactoring 2019-01-03 12:53:44 -08:00
Benjamin Sergeant
474985e784 split handshake code into its own files, so that Transport file is less massive 2019-01-02 20:07:54 -08:00
Benjamin Sergeant
cb904416c3 server unittest for validating client request / new timeout cancellation handling (need refactoring) 2019-01-02 16:08:32 -08:00
Benjamin Sergeant
b004769552 server per message deflate support 2019-01-02 08:12:29 -08:00
Benjamin Sergeant
239b5bc02c refactoring + cancellation was buggy during http upgrade 2019-01-02 07:45:07 -08:00
Benjamin Sergeant
6bfabd5493 use select to detect new incoming connections 2019-01-01 22:21:07 -08:00
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