Benjamin Sergeant
f894504761
enum class HttpErrorCode derives from int
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
7aa9b4ee64
try to re-enable some tests
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
a12250dc16
recursive mutex + enable test that was breaking on Ubuntu Xenial + gcc + tsan
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
d8fbe1a63e
comment failing test
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
91e1760719
comment failing test
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
02c8a62e7d
do not build ws for now on travis
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
0c9bcfb8ac
more protection against socket when closing
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
bd4c5037c7
fix compile errors with C++ enum class
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
ccaaedf38f
close and stop with code and reason + docker = ubuntu xenial
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
e2acbe8499
Revert "Revert "fix cast warning caught on windows""
...
This reverts commit 25eaf730bc .
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
aba880a6b3
Revert "fix cast warning caught on windows"
...
This reverts commit 4edb7447df .
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
616e8da0a5
fix cast warning caught on windows
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
4fc8224264
build with gcc on Linux
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
66dae5840c
use spdlog for logging in the unittest
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
89b9e6e531
fix inverted conditional
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
fc4623381a
server code / add dedicated thread to close/join terminated connection threads
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
1023e925f6
travis cmake version on macOS does not know --parallel option
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
5d65365751
build in parallel + stop building linux + clang
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
ee64a6ec7e
disable ping tests for now as they are not super reliable
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
9bc09105d7
Feature/windows ci ( #76 )
...
* close with params
* ...
* different generator
* core size = 1
* disable more tests to get something working on windows
* try to enable another test on windows
* enable all OS
* set proper version of linux
* another try
* try again with just env variables
* Revert "core size = 1"
This reverts commit 29af74bba6 .
* add windows and mac
* Revert "close with params"
This reverts commit 6bb00b6788 .
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
7740028291
all derived class use final keyword
2019-05-12 11:43:21 -07:00
Benjamin Sergeant
d575c7c2a9
bump version to 2.0.0
2019-05-11 14:22:41 -07:00
Benjamin Sergeant
80226cb7d3
add comment about why a unittest is disabled
2019-05-11 12:25:40 -07:00
Benjamin Sergeant
6189e0cd50
remove irrelevant comment
2019-05-11 12:24:11 -07:00
Benjamin Sergeant
4934f5846b
minor tweaks to have full feature parity before unittest broke
2019-05-11 11:54:21 -07:00
Benjamin Sergeant
c8c1aabf20
fix race condition in SelectInteruptPipe, where _fildes are not protected (caught by fedora tsan)
2019-05-11 11:45:26 -07:00
Benjamin Sergeant
518a445074
rename some variables, minor cleanup
2019-05-11 10:24:28 -07:00
Benjamin Sergeant
16758293ff
fix warning in statsd_client about %m gnu only printf special char
2019-05-11 09:22:29 -07:00
Benjamin Sergeant
e965322a98
fix overflow warning in msgpack11.cpp
2019-05-10 21:17:05 -07:00
Benjamin Sergeant
fcf5c41b43
add env var to display the ws command typed in
2019-05-10 16:27:23 -07:00
Benjamin Sergeant
88adbf0ca2
cout -> spdlog
2019-05-10 12:33:34 -07:00
Benjamin Sergeant
f90fc4bfa2
fix static analyzer thing with un-used variable
2019-05-09 16:57:58 -07:00
Benjamin Sergeant
dc1f9fb243
use spdlog for logging in ws + unittest + remove un-needed mutex
2019-05-09 15:30:44 -07:00
Benjamin Sergeant
7c30c8aa07
cout -> cerr
2019-05-09 15:06:42 -07:00
Benjamin Sergeant
287537b34a
tweak unittest sleep duration to fix gcc+linux CI
2019-05-09 11:10:39 -07:00
Benjamin Sergeant
094b5834b7
warning police
2019-05-09 09:25:56 -07:00
Benjamin Sergeant
232aa069d2
IXCobraMetricsThreadedPublisher.cpp uses a lambda to log instead of std::cerr
2019-05-08 18:53:32 -07:00
Benjamin Sergeant
d53c9c5ecf
change default ports for the ws command line tool
2019-05-08 13:56:42 -07:00
Benjamin Sergeant
48c19b4f3c
ws connect display more accurate messages for incoming messages
2019-05-08 13:56:42 -07:00
Benjamin Sergeant
1e1d5c3f7d
update appveyor windows build file
2019-05-06 17:50:55 -07:00
Benjamin Sergeant
3893c12054
socket server / used wrong mutex to protect _connectionsThreads
2019-05-06 12:24:20 -07:00
Benjamin Sergeant and GitHub
3b576c3047
Update README.md
2019-05-06 09:22:52 -07:00
Benjamin Sergeant
28a7ec4f35
doc: add reference to the conan file built at https://github.com/Zinnion/conan-IXWebSocket
2019-05-01 21:31:32 -07:00
Benjamin Sergeant
b5aae88a0b
remove un-needed _backgroundThreadRunning variable
2019-05-01 11:09:25 -07:00
Benjamin Sergeant and GitHub
bee97237d9
Make AutomaticReconnection optional ( #47 )
...
* unittest pass + commands behave as expected
* cleanup
2019-04-29 21:12:34 -07:00
Benjamin Sergeant
8c8e950455
build fix
2019-04-29 20:54:00 -07:00
Benjamin Sergeant
ad8b344298
tsan fixes on ubuntu xenial (what travis run)
2019-04-29 20:48:16 -07:00
Benjamin Sergeant
6d310d417a
dns lookup: fix race condition accessing _errMsg
2019-04-29 19:29:27 -07:00
Benjamin Sergeant
9dca893ce7
tsan linux tentative fix / copy string instead of passing a const reference
2019-04-29 17:27:53 -07:00
Benjamin Sergeant
e3444e666b
rename _blocking to _backgroundThreadRunning and invert the naming
2019-04-29 16:54:08 -07:00
Benjamin Sergeant
9ee05bf591
ws connect mode / add a flag to disable automatic reconnection, not hooked up yet
2019-04-29 14:31:29 -07:00
Benjamin Sergeant
e15700235e
enable tsan on travis for all configs
2019-04-29 09:11:16 -07:00
Benjamin Sergeant
1c7c07e128
initialize netSystem (aka winsock on windows) explicitely
2019-04-25 16:38:15 -07:00
Benjamin Sergeant
e251c81d43
fix indentation of greatestCommonDivisor
2019-04-25 16:21:36 -07:00
Benjamin Sergeant
f30a5074ab
Remove commented code
2019-04-25 16:16:52 -07:00
Benjamin Sergeant
f6ae490723
Fix data race in WebSocket where _url is accessed without protection in setThreadName
...
Also fix with url usage + docker container uses fedora and works with tsan
2019-04-25 16:11:46 -07:00
Benjamin Sergeant
7f96c43d6f
disable failing unittest temporarily
2019-04-25 09:04:35 -07:00
Benjamin Sergeant
82b528ee30
tsan fix for the IXWebSocketServerTest test, where there's a data race for connectionId
2019-04-24 22:11:14 -07:00
Benjamin Sergeant
a443bbdf80
Fix data races in DNSLookup (tsan)
2019-04-24 21:53:31 -07:00
Benjamin Sergeant
26ee46b246
better server termination / another try at preventing thread join failures
2019-04-24 09:45:53 -07:00
Benjamin Sergeant
cf37816602
compiler warning police
2019-04-24 09:45:03 -07:00
Benjamin Sergeant
b8087f6c48
Fix #38 Add some docker doc in the README
2019-04-23 20:51:58 -07:00
Benjamin Sergeant
28cbe8fbeb
ws cobra publish stress mode fix
2019-04-23 20:51:58 -07:00
Benjamin Sergeant
0caf875399
add example websocket C++ server snake which supports basic cobra ops (publish and subscribe without stream sql
2019-04-22 17:33:45 -07:00
Benjamin Sergeant
323684efff
(server) attempt to fix broken macOS unittest on travis CI
2019-04-22 09:36:16 -07:00
Benjamin Sergeant
678ee0615d
Expand build section in the main README
2019-04-21 21:11:08 -07:00
Benjamin Sergeant
6c889def37
Merge branch 'dhruvkakadiya-readme/fix'
2019-04-21 16:14:35 -07:00
Benjamin Sergeant
b6b9ffd15c
doc cobra
2019-04-21 11:52:38 -07:00
Benjamin Sergeant
1189b5f693
new target to uninstall files
2019-04-21 11:47:57 -07:00
Benjamin Sergeant
1c2b6d59da
Fix #37 / add directives to install headers and library
2019-04-21 11:42:37 -07:00
Benjamin Sergeant
eacc28fedf
move cobra files to their own subfolder
2019-04-21 11:20:17 -07:00
Benjamin Sergeant
5c85ee1214
add cobra metrics publisher
2019-04-21 11:16:33 -07:00
Benjamin Sergeant
7df7453365
indentation / comestic changes
2019-04-19 16:57:38 -07:00
Benjamin Sergeant
3d8297247e
(test) / use a random number generator to get a free port, when the bind to port 0 strategy does not work out
2019-04-19 16:50:04 -07:00
Benjamin Sergeant
662f66e501
(socket server) wait for all connections threads to be terminated before exiting stop method
2019-04-19 16:31:33 -07:00
Benjamin Sergeant
9131cb4790
default sanitizer choice
2019-04-19 15:13:59 -07:00
Benjamin Sergeant
3b616676c6
disable clang sanitizers in CI on any platforms but Darwin
2019-04-19 15:09:01 -07:00
Benjamin Sergeant
cce759b8dd
fix Linux cast warning
2019-04-19 15:03:49 -07:00
Benjamin Sergeant
98b6c9b89e
(unittest) upgrade to Catch2 version 2.7.1
2019-04-19 14:41:03 -07:00
Benjamin Sergeant
5370201df8
add locks around Socket::send and Socket::recv to see if it helps with thread sanitizer error in Linux CI
2019-04-19 14:28:51 -07:00
Benjamin Sergeant
419c395966
uses sh syntax to capture output
2019-04-19 12:40:39 -07:00
Benjamin Sergeant
2962ce9a0f
(ci) verbose mode to figure out Linux build problems on travis
2019-04-19 12:10:43 -07:00
Benjamin Sergeant
c96398aa0c
Windows nmake does not have a -j flag
2019-04-19 11:58:02 -07:00
Benjamin Sergeant
e68ce1d680
Windows + unittest python script fixes
2019-04-19 11:54:58 -07:00
Benjamin Sergeant
d34f10b4ea
fix warning / ws_cobra_subscribe does not need a verbose flag
2019-04-19 11:45:42 -07:00
Benjamin Sergeant
7e2c1f274b
(test) build dir is an absolute path
2019-04-19 11:45:02 -07:00
Benjamin Sergeant
9fe3811c45
(ws) fix compiler warnings
2019-04-19 09:48:46 -07:00
Benjamin Sergeant
b74bccee0a
fix test execution on travis which was broken / unify running test locally and on travis
2019-04-19 09:46:17 -07:00
Benjamin Sergeant
a2d170f415
fix bad merge in IXWebSocketTransport.cpp ...
2019-04-19 09:41:16 -07:00
Benjamin Sergeant
03f762db86
Socket::Poll does not need a callback
2019-04-19 09:32:49 -07:00
Benjamin Sergeant
65b11cb968
docker container works with SSL + fix compiler warnings in statsd third_party module
2019-04-18 09:11:12 -07:00
Benjamin Sergeant
f4f60d38b8
docker + linux build fix
2019-04-17 22:52:03 -07:00
Benjamin Sergeant
4337345103
setter method does not need to return anything, make it void
2019-04-17 20:36:26 -07:00
Benjamin Sergeant
52f460f66d
(doc) Add more doc to SocketServer
2019-04-17 20:36:26 -07:00
Benjamin Sergeant
d486c72e02
websocket server: closed connection threads are joined properly
2019-04-17 20:36:26 -07:00
Benjamin Sergeant and GitHub
bdfc55b951
Bug/30 server connection problem ( #31 )
...
* use threads instead of std::async, need to cleanup threads
* less buggy server connection per thread system
2019-04-16 22:19:44 -07:00
Benjamin Sergeant
b0f6026c23
make closeWireSize a default parameter of WebSocketTransport::close
2019-04-16 09:55:12 -07:00
Benjamin Sergeant and GitHub
eac611ab1e
Feature/connection state ( #25 )
...
* (cmake) add a warning about 32/64 conversion problems.
* fix typo
* New connection state for server code + fix OpenSSL double init bug
* update README
2019-03-20 18:34:24 -07:00
Benjamin Sergeant and GitHub
0635313566
Feature/redis ( #23 )
...
* Fix warning
* (cmake) add a warning about 32/64 conversion problems.
* simple redis clients
* can publish to redis
* redis subscribe
* display messages received per second
* verbose flag
* (cmake) use clang only compile option -Wshorten-64-to-32 when compiling with clang
2019-03-20 14:29:02 -07:00
Benjamin Sergeant and GitHub
34de36fe01
Update README.md
...
Stop lying about Windows support ...
2019-03-13 23:10:40 -07:00