Benjamin Sergeant
|
2f9ad54bae
|
gcc linux compile fix
|
2019-01-06 12:12:39 -08:00 |
|
Benjamin Sergeant
|
57c22cddb8
|
make a class hierarchy for server code (IXWebSocketServer <- IXSocketServer)
|
2019-01-06 12:09:31 -08:00 |
|
Benjamin Sergeant
|
60dc765178
|
unittest + compiler warnings
|
2019-01-05 21:10:08 -08:00 |
|
Benjamin Sergeant
|
5e1c150024
|
windows compile fix
|
2019-01-05 21:02:55 -08:00 |
|
Benjamin Sergeant
|
0fd06bb592
|
int -> ssize_t for socker recv and send
|
2019-01-05 20:53:50 -08:00 |
|
Benjamin Sergeant
|
9641c8cf49
|
header refactoring
|
2019-01-05 20:38:43 -08:00 |
|
Benjamin Sergeant
|
4ca31be4a2
|
windows connect (compile fix)
|
2019-01-05 17:35:50 -08:00 |
|
Benjamin Sergeant
|
667f18cbfe
|
windows connect potential fix
|
2019-01-05 17:32:21 -08:00 |
|
Benjamin Sergeant
|
4df5050760
|
more accurate description of errors
|
2019-01-05 17:18:43 -08:00 |
|
Benjamin Sergeant
|
b80696af00
|
windows (compile) fix
|
2019-01-05 17:04:09 -08:00 |
|
Benjamin Sergeant
|
3cb2f6dcf7
|
windows fix
|
2019-01-05 17:02:39 -08:00 |
|
Benjamin Sergeant
|
89ff9dd5ac
|
fix gcc warning
|
2019-01-05 16:26:11 -08:00 |
|
Benjamin Sergeant
|
e892b21872
|
openssl cleanup
|
2019-01-05 11:42:25 -08:00 |
|
Benjamin Sergeant
|
3eef8fba27
|
unittest on appveyor
|
2019-01-04 17:28:13 -08:00 |
|
Benjamin Sergeant
|
cc43357fb4
|
Socket::readLine works with arbitrary long lines
|
2019-01-03 18:47:01 -08:00 |
|
Benjamin Sergeant
|
bce5ef2dca
|
timeout is configurable
|
2019-01-03 18:33:08 -08:00 |
|
Benjamin Sergeant
|
3021ac4b95
|
remove useless FIXME comment
|
2019-01-03 18:02:03 -08:00 |
|
Benjamin Sergeant
|
bd1c8873d0
|
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
|
6ac3bdb94a
|
implement a max connections (default = 32) settings
|
2019-01-03 17:05:44 -08:00 |
|
Benjamin Sergeant
|
e964a0a1f0
|
correct validation of the request (request line + headers)
|
2019-01-03 13:41:06 -08:00 |
|
Benjamin Sergeant
|
97255fbd62
|
cancellation refactoring
|
2019-01-03 12:53:44 -08:00 |
|
Benjamin Sergeant
|
64f649d1f9
|
split handshake code into its own files, so that Transport file is less massive
|
2019-01-02 20:07:54 -08:00 |
|
Benjamin Sergeant
|
097c7e5397
|
server unittest for validating client request / new timeout cancellation handling (need refactoring)
|
2019-01-02 16:08:32 -08:00 |
|
Benjamin Sergeant
|
b1710bfa31
|
server per message deflate support
|
2019-01-02 08:12:29 -08:00 |
|
Benjamin Sergeant
|
2b136b2981
|
refactoring + cancellation was buggy during http upgrade
|
2019-01-02 07:45:07 -08:00 |
|
Benjamin Sergeant
|
b95e5e36dc
|
use select to detect new incoming connections
|
2019-01-01 22:21:07 -08:00 |
|
Benjamin Sergeant
|
1bc5bc7f1c
|
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
|
946d7015a2
|
more named constants
|
2019-01-01 19:23:27 -08:00 |
|
Benjamin Sergeant
|
973a3f03c3
|
linux fix + unittest works with Linux
|
2019-01-01 17:13:26 -08:00 |
|
Benjamin Sergeant
|
e5937638d4
|
crash when server failed to start
|
2019-01-01 16:14:46 -08:00 |
|
Benjamin Sergeant
|
7c4f14f941
|
thread accepting connections can be cancelled/stopped externally
|
2019-01-01 16:11:27 -08:00 |
|
Benjamin Sergeant
|
ead54d6c37
|
listen job run in its own thread, non blocking
|
2019-01-01 14:52:14 -08:00 |
|
Benjamin Sergeant
|
d279aecb87
|
cleanup / remove printf, add mutex, remove hardcoded values, can pass in a binding host
|
2019-01-01 14:28:41 -08:00 |
|
Benjamin Sergeant
|
67de0fc8da
|
use shared_ptr
|
2019-01-01 13:53:13 -08:00 |
|
Benjamin Sergeant
|
8ed2399517
|
unittest pass
|
2019-01-01 13:47:25 -08:00 |
|
Benjamin Sergeant
|
cf340011e2
|
record workers in a map instead of a vector
|
2018-12-31 14:52:59 -08:00 |
|
Benjamin Sergeant
|
3443e82812
|
more cleanup to propagate server connection error and let onOpen callback execute
|
2018-12-31 12:43:47 -08:00 |
|
Benjamin Sergeant
|
63138507d6
|
only bind to localhost
|
2018-12-31 11:48:49 -08:00 |
|
Benjamin Sergeant
|
b2eb07db14
|
server code has a callback that takes a websocket
|
2018-12-30 22:12:13 -08:00 |
|
Benjamin Sergeant
|
379a845166
|
cleanup / use a websocket instead of raw websockettransport
|
2018-12-30 22:00:49 -08:00 |
|
Benjamin Sergeant
|
266cf93584
|
can accept multiple connection / server can send data back to client
|
2018-12-30 21:16:05 -08:00 |
|
Benjamin Sergeant
|
0ee71e9a09
|
proof of concept server implementation
|
2018-12-29 23:15:27 -08:00 |
|
Benjamin Sergeant
|
ea07afcc0b
|
can create a socket from a fd
|
2018-12-29 21:53:33 -08:00 |
|
Benjamin Sergeant
|
43cd6d34ca
|
add simple unittest
|
2018-12-29 18:34:08 -08:00 |
|
Benjamin Sergeant
|
3b67032adb
|
add missing src files (IXSetThreadName.{cpp,h}) ...
|
2018-12-23 14:19:30 -08:00 |
|
Benjamin Sergeant
|
2d46a0605b
|
fix warning: field '_eventCallback' will be initialized after field '_publishMode'
|
2018-12-23 14:18:53 -08:00 |
|
Benjamin Sergeant
|
ba54664748
|
Fix warning: field '_done' will be initialized after field '_wait' [-Wreorder] _done(false),
|
2018-12-23 14:17:30 -08:00 |
|
Benjamin Sergeant
|
a79f4c10a1
|
set thread name / rename example
|
2018-12-23 14:14:38 -08:00 |
|
Benjamin Sergeant
|
bd04b28b9e
|
async dns lookup fix
|
2018-12-14 17:49:42 -08:00 |
|
Benjamin Sergeant
|
cbadecab33
|
non blocking dns lookup
|
2018-12-14 16:28:17 -08:00 |
|