Benjamin Sergeant
|
ae841af91a
|
use dynamically generated port number to configure servers in unittest
|
2019-01-28 15:24:19 -08:00 |
|
 Benjamin SergeantandGitHub
|
44f38849b2
|
Merge pull request #13 from machinezone/user/bsergeant/poll
User/bsergeant/poll
|
2019-01-27 10:47:38 -08:00 |
|
Benjamin Sergeant
|
ee12fbdb5f
|
windows build fix
|
2019-01-27 10:46:02 -08:00 |
|
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 SergeantandGitHub
|
335f594165
|
Merge pull request #12 from machinezone/user/bsergeant/heart-beat
Add an optional heartbeat
|
2019-01-25 16:14:28 -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
|
c665d65cba
|
unittest fix
|
2019-01-24 19:54:10 -08:00 |
|
Benjamin Sergeant
|
5d4e897cc4
|
add an heartbeat test
|
2019-01-24 18:50:07 -08:00 |
|
Benjamin Sergeant
|
05033714bf
|
hearbeat
|
2019-01-24 12:42:49 -08:00 |
|
 Benjamin SergeantandGitHub
|
a02bd3f25c
|
Update README.md
|
2019-01-15 09:36:43 -08:00 |
|
Benjamin Sergeant
|
fdbd213fa2
|
check and validate the Connection: Upgrade header in client/server
|
2019-01-15 09:31:37 -08:00 |
|
 Benjamin SergeantandGitHub
|
da64d349c8
|
Merge pull request #10 from tonylin0826/master
Fix missing "Upgrade" header error
|
2019-01-15 09:22:11 -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
|
8375b28747
|
add travis badge
|
2019-01-08 10:13:23 -08:00 |
|
Benjamin Sergeant
|
e12551f309
|
travis -> osx
|
2019-01-08 10:04:47 -08:00 |
|
Benjamin Sergeant
|
6102f81710
|
Revert "Revert "try asan on Linux"" [Back to asan on Linux]
This reverts commit 02a704a8c7.
|
2019-01-07 21:13:48 -08:00 |
|
Benjamin Sergeant
|
9f678e5962
|
travis-ci: try to use clang on Linux
|
2019-01-07 20:49:03 -08:00 |
|
Benjamin Sergeant
|
02a704a8c7
|
Revert "try asan on Linux"
This reverts commit dd2360ed70.
|
2019-01-07 20:47:25 -08:00 |
|
Benjamin Sergeant
|
dd2360ed70
|
try asan on Linux
|
2019-01-07 18:29:44 -08:00 |
|
Benjamin Sergeant
|
c4ab996470
|
build with osx on travis
|
2019-01-07 18:16:29 -08:00 |
|
Benjamin Sergeant
|
6c54b07d92
|
fix simple compile error in test/IXTest.h
|
2019-01-07 18:08:11 -08:00 |
|
Benjamin Sergeant
|
7f9bef3b8d
|
add a travis file for real
|
2019-01-07 18:05:55 -08:00 |
|
Benjamin Sergeant
|
12d1c5d956
|
add a travis file
|
2019-01-07 18:04:28 -08:00 |
|
Benjamin Sergeant
|
e9a4bd5617
|
update test remote ws url
|
2019-01-07 11:28:53 -08:00 |
|
Benjamin Sergeant
|
f34ccbfdb5
|
remove cmake sanitizer submodule
|
2019-01-07 11:26:23 -08:00 |
|
Benjamin Sergeant
|
1fa75d7fb2
|
check select errors better
|
2019-01-07 11:18:00 -08:00 |
|
Benjamin Sergeant
|
39140ef98c
|
sanitizer cmake stuff
|
2019-01-06 18:54:16 -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
|
f4f30686c5
|
add new unittest
|
2019-01-06 15:14:13 -08:00 |
|
Benjamin Sergeant
|
a21aae521f
|
remove dead file
|
2019-01-06 14:26:11 -08:00 |
|
Benjamin Sergeant
|
aed2356fc1
|
remove openssl testing bits for apple build
|
2019-01-06 14:21:49 -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
|
e80def0cd0
|
add log
|
2019-01-05 21:16:13 -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
|
5b1c97b774
|
SocketTest / more debug info
|
2019-01-05 17:10:01 -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
|
7ecaff8c5d
|
test failure is not noticed
|
2019-01-05 16:30:22 -08:00 |
|
Benjamin Sergeant
|
e4b0286a25
|
fix gcc warning
|
2019-01-05 16:26:11 -08:00 |
|
Benjamin Sergeant
|
7ae6972306
|
makefile tweak
|
2019-01-05 14:43:21 -08:00 |
|
Benjamin Sergeant
|
59cea0372b
|
add dns lookup test
|
2019-01-05 14:40:17 -08:00 |
|
Benjamin Sergeant
|
78d88a8520
|
openssl cleanup
|
2019-01-05 11:42:25 -08:00 |
|
 Benjamin SergeantandGitHub
|
273af25d57
|
Merge pull request #7 from bsergean/user/bsergeant/appveyor_first
unittest on appveyor
|
2019-01-04 17:29:23 -08:00 |
|
Benjamin Sergeant
|
3f5935a284
|
windows fixes
|
2019-01-04 15:23:57 -08:00 |
|
 Benjamin SergeantandGitHub
|
c236ff66e9
|
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
|
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
|
8adbcab441
|
new doc
|
2019-01-03 18:00:48 -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
|
df6a17dcc2
|
rename test file
|
2019-01-02 21:59:06 -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
|
3e064ec63e
|
add new broadcast server example
|
2019-01-02 08:17:03 -08:00 |
|
Benjamin Sergeant
|
b004769552
|
server per message deflate support
|
2019-01-02 08:12:29 -08:00 |
|
Benjamin Sergeant
|
17270de621
|
echo server example is a real echo server, not a broadcast server
|
2019-01-02 08:10:39 -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
|
a11952fe22
|
gitignore stuff
|
2019-01-01 17:14:31 -08:00 |
|
Benjamin Sergeant
|
06b9b2e649
|
linux fix + unittest works with Linux
|
2019-01-01 17:13:26 -08:00 |
|
Benjamin Sergeant
|
dcfdcc3e1b
|
unittest starts a server
|
2019-01-01 16:34:05 -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
|
70ef77a5d5
|
(nitpick) reformat
|
2019-01-01 14:29:57 -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
|
a39278f7be
|
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
|
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 |
|