Benjamin Sergeant
|
3eef8fba27
|
unittest on appveyor
|
2019-01-04 17:28:13 -08:00 |
|
Benjamin Sergeant
|
d34e47f716
|
windows fixes
|
2019-01-04 15:23:57 -08:00 |
|
Benjamin Sergeant
|
9bfba28d01
|
Merge pull request #6 from machinezone/user/bsergeant/server
Add support for writing websocket servers (IXWebSocketServer)
|
2019-01-03 18:47:30 -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
|
385e80d185
|
new doc
|
2019-01-03 18:00:48 -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
|
d5041f64be
|
rename test file
|
2019-01-02 21:59:06 -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
|
c6adc00eac
|
add new broadcast server example
|
2019-01-02 08:17:03 -08:00 |
|
Benjamin Sergeant
|
b1710bfa31
|
server per message deflate support
|
2019-01-02 08:12:29 -08:00 |
|
Benjamin Sergeant
|
0e52c42970
|
echo server example is a real echo server, not a broadcast server
|
2019-01-02 08:10:39 -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
|
4adf5720f0
|
gitignore stuff
|
2019-01-01 17:14:31 -08:00 |
|
Benjamin Sergeant
|
973a3f03c3
|
linux fix + unittest works with Linux
|
2019-01-01 17:13:26 -08:00 |
|
Benjamin Sergeant
|
06177afd6a
|
unittest starts a server
|
2019-01-01 16:34:05 -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
|
b749f3c724
|
(nitpick) reformat
|
2019-01-01 14:29:57 -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
|
ec2ad37860
|
add a print statement when the connection is closed / still need to terminate server thread
|
2018-12-31 12:47:42 -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 |
|
Benjamin Sergeant
|
8c079787f0
|
add cancellation support while connecting, to speed up WebSocket::stop
|
2018-12-09 17:56:20 -08:00 |
|
Benjamin Sergeant
|
62528e6a0b
|
http upgrade and connections use non blocking sockets
|
2018-12-09 14:07:40 -08:00 |
|
Benjamin Sergeant
|
49bf8bd830
|
threading race condition fixes, detected by TSAN
|
2018-12-06 08:27:28 -08:00 |
|