Commit Graph
100 Commits
Author SHA1 Message Date
Benjamin Sergeant aecd5e9c94 bring back socket mutex which is needed, some CI failures are happening without it 2019-05-16 15:58:20 -07:00
Benjamin Sergeant e0edca43d5 disable socket mutex usage in WebSocketTransport 2019-05-16 15:46:32 -07:00
Benjamin Sergeant ce70d3d728 remove dead code 2019-05-16 15:05:20 -07:00
Benjamin Sergeant d9be40a0de refactor connect unittest so that it hits a local server instead of a remote server 2019-05-16 14:25:31 -07:00
Benjamin Sergeant e469f04c39 travis makefile fix 2019-05-16 14:02:24 -07:00
Benjamin Sergeant 11774e6825 try to run ws test on linux + macOS on travis 2019-05-16 13:57:33 -07:00
Benjamin Sergeant 42bdfb51c3 Add constants for closing code and messages 2019-05-16 12:46:53 -07:00
Benjamin Sergeant fd637bf1e1 first socket test hit a local server instead of a remote server / this can help with a windows intermittent failure 2019-05-16 12:24:58 -07:00
Benjamin Sergeant 8085e1416c build ws on travis (mac + linux) 2019-05-16 07:01:15 -07:00
Benjamin Sergeant 671c9f805f use a regular mutex instead of a recursive one + stop properly 2019-05-15 19:26:02 -07:00
Benjamin Sergeant ace7a7ccae adding logging to IXWebSocketTestConnectionDisconnection makes it fails reliably 2019-05-15 19:26:02 -07:00
Benjamin SergeantandGitHub 9c3bdf1a77 Update README.md 2019-05-15 19:22:05 -07:00
Benjamin SergeantandGitHub f5242b3102 Update README.md 2019-05-15 18:57:17 -07:00
Benjamin Sergeant f1272f059a -j option actually work ... 2019-05-15 18:15:45 -07:00
Benjamin Sergeant 91595ff4c2 unittest / add options to set the number of jobs 2019-05-15 17:52:03 -07:00
Benjamin Sergeant 3755d29a45 enum class HttpErrorCode derives from int 2019-05-15 16:50:00 -07:00
Benjamin Sergeant c2b75399ae try to re-enable some tests 2019-05-15 16:28:29 -07:00
Benjamin Sergeant a33ecd1338 recursive mutex + enable test that was breaking on Ubuntu Xenial + gcc + tsan 2019-05-15 16:01:05 -07:00
Benjamin Sergeant a7e29a9f36 comment failing test 2019-05-15 15:44:14 -07:00
Benjamin Sergeant 02399dfa5c comment failing test 2019-05-15 15:37:30 -07:00
Benjamin Sergeant aec2941bac do not build ws for now on travis 2019-05-15 15:26:49 -07:00
Benjamin Sergeant 9315eb5289 more protection against socket when closing 2019-05-15 15:18:46 -07:00
Benjamin Sergeant 5b2b2ea7b0 fix compile errors with C++ enum class 2019-05-15 15:18:46 -07:00
Benjamin Sergeant d90b634e80 close and stop with code and reason + docker = ubuntu xenial 2019-05-15 15:18:46 -07:00
Benjamin Sergeant 701be31554 Revert "Revert "fix cast warning caught on windows""
This reverts commit 25eaf730bc.
2019-05-13 22:16:49 -07:00
Benjamin Sergeant 25eaf730bc Revert "fix cast warning caught on windows"
This reverts commit 4edb7447df.
2019-05-13 21:35:34 -07:00
Benjamin Sergeant 4edb7447df fix cast warning caught on windows 2019-05-13 21:29:47 -07:00
Benjamin Sergeant 79c17aba49 build with gcc on Linux 2019-05-13 17:35:21 -07:00
Benjamin Sergeant 80a90496d9 use spdlog for logging in the unittest 2019-05-13 17:32:57 -07:00
Benjamin Sergeant bbca803840 fix inverted conditional 2019-05-13 17:18:07 -07:00
Benjamin Sergeant 160d3869a9 server code / add dedicated thread to close/join terminated connection threads 2019-05-13 17:17:35 -07:00
Benjamin Sergeant afd8f64da8 travis cmake version on macOS does not know --parallel option 2019-05-13 17:17:35 -07:00
Benjamin Sergeant 6d2548b823 build in parallel + stop building linux + clang 2019-05-13 17:06:56 -07:00
Benjamin Sergeant 642356d353 disable ping tests for now as they are not super reliable 2019-05-13 17:01:22 -07:00
Benjamin SergeantandGitHub ba0fa36c2a 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-13 16:51:58 -07:00
Benjamin Sergeant 156288b17b all derived class use final keyword 2019-05-12 11:43:21 -07:00
Benjamin Sergeant ed0e23e8a5 bump version to 2.0.0 2019-05-11 14:22:41 -07:00
Benjamin Sergeant a61586c846 add comment about why a unittest is disabled 2019-05-11 12:25:40 -07:00
Benjamin Sergeant d64d50c978 remove irrelevant comment 2019-05-11 12:24:11 -07:00
Benjamin Sergeant 0caeb81327 minor tweaks to have full feature parity before unittest broke 2019-05-11 11:54:21 -07:00
Benjamin Sergeant edac7a0171 fix race condition in SelectInteruptPipe, where _fildes are not protected (caught by fedora tsan) 2019-05-11 11:45:26 -07:00
Benjamin Sergeant 2dc1547bbd rename some variables, minor cleanup 2019-05-11 10:24:28 -07:00
Benjamin Sergeant 4df58f3059 fix warning in statsd_client about %m gnu only printf special char 2019-05-11 09:22:29 -07:00
Benjamin Sergeant 06b8cb8d3b fix overflow warning in msgpack11.cpp 2019-05-10 21:17:05 -07:00
Benjamin Sergeant ff81f5b496 add env var to display the ws command typed in 2019-05-10 16:27:23 -07:00
Benjamin Sergeant c89f73006e cout -> spdlog 2019-05-10 12:33:34 -07:00
Benjamin Sergeant dfaaaca223 fix static analyzer thing with un-used variable 2019-05-09 16:57:58 -07:00
Benjamin Sergeant c7f0bf3d64 use spdlog for logging in ws + unittest + remove un-needed mutex 2019-05-09 15:30:44 -07:00
Benjamin Sergeant 234ce4c173 cout -> cerr 2019-05-09 15:06:42 -07:00
Benjamin Sergeant 9441095637 tweak unittest sleep duration to fix gcc+linux CI 2019-05-09 11:10:39 -07:00
Benjamin Sergeant a7f42f35db warning police 2019-05-09 09:25:56 -07:00
Benjamin Sergeant 28c3f2ea26 IXCobraMetricsThreadedPublisher.cpp uses a lambda to log instead of std::cerr 2019-05-08 18:53:32 -07:00
Benjamin Sergeant 8dc132dbd3 change default ports for the ws command line tool 2019-05-08 13:56:42 -07:00
Benjamin Sergeant 98e2fbca6a ws connect display more accurate messages for incoming messages 2019-05-08 13:56:42 -07:00
Benjamin Sergeant 2e4c4b72b6 update appveyor windows build file 2019-05-06 17:50:55 -07:00
Benjamin Sergeant 205c8c15bd socket server / used wrong mutex to protect _connectionsThreads 2019-05-06 12:24:20 -07:00
Benjamin SergeantandGitHub d561e1141e Update README.md 2019-05-06 09:22:52 -07:00
Benjamin Sergeant 5dbc00bbfe 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 14ec8522ef remove un-needed _backgroundThreadRunning variable 2019-05-01 11:09:25 -07:00
Benjamin SergeantandGitHub 0c2d1c22bc Make AutomaticReconnection optional (#47)
* unittest pass + commands behave as expected

* cleanup
2019-04-29 21:12:34 -07:00
Benjamin Sergeant 1d39a9c9a9 build fix 2019-04-29 20:54:00 -07:00
Benjamin Sergeant b588ed0fa1 tsan fixes on ubuntu xenial (what travis run) 2019-04-29 20:48:16 -07:00
Benjamin Sergeant d9f7a138b8 dns lookup: fix race condition accessing _errMsg 2019-04-29 19:29:27 -07:00
Benjamin Sergeant d3e04ff619 tsan linux tentative fix / copy string instead of passing a const reference 2019-04-29 17:27:53 -07:00
Benjamin Sergeant 372dd24cc7 rename _blocking to _backgroundThreadRunning and invert the naming 2019-04-29 16:54:08 -07:00
Benjamin Sergeant 705e0823cb ws connect mode / add a flag to disable automatic reconnection, not hooked up yet 2019-04-29 14:31:29 -07:00
Benjamin Sergeant 8e4cf74974 enable tsan on travis for all configs 2019-04-29 09:11:16 -07:00
Benjamin Sergeant 0a7157655b initialize netSystem (aka winsock on windows) explicitely 2019-04-25 16:38:15 -07:00
Benjamin Sergeant b178ba16af fix indentation of greatestCommonDivisor 2019-04-25 16:21:36 -07:00
Benjamin Sergeant e4c09284b5 Remove commented code 2019-04-25 16:16:52 -07:00
Benjamin Sergeant 9367a1feff 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 d37ed300e2 disable failing unittest temporarily 2019-04-25 09:04:35 -07:00
Benjamin Sergeant d036ad7138 tsan fix for the IXWebSocketServerTest test, where there's a data race for connectionId 2019-04-24 22:11:14 -07:00
Benjamin Sergeant 4fe07579b9 Fix data races in DNSLookup (tsan) 2019-04-24 21:53:31 -07:00
Benjamin Sergeant f563d14134 better server termination / another try at preventing thread join failures 2019-04-24 09:45:53 -07:00
Benjamin Sergeant f1b3ecc738 compiler warning police 2019-04-24 09:45:03 -07:00
Benjamin Sergeant 8387f89115 Fix #38 Add some docker doc in the README 2019-04-23 20:51:58 -07:00
Benjamin Sergeant 773f92347f ws cobra publish stress mode fix 2019-04-23 20:51:58 -07:00
Benjamin Sergeant c85d5da111 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 9ab7bc652a (server) attempt to fix broken macOS unittest on travis CI 2019-04-22 09:36:16 -07:00
Benjamin Sergeant e5c724eb05 Expand build section in the main README 2019-04-21 21:11:08 -07:00
Benjamin Sergeant e0300903d9 Merge branch 'dhruvkakadiya-readme/fix' 2019-04-21 16:14:35 -07:00
Benjamin Sergeant 210d19c8a0 doc cobra 2019-04-21 11:52:38 -07:00
Benjamin Sergeant 6d24cc44b2 new target to uninstall files 2019-04-21 11:47:57 -07:00
Benjamin Sergeant 768e8eb074 Fix #37 / add directives to install headers and library 2019-04-21 11:42:37 -07:00
Benjamin Sergeant 3dd902e1f9 move cobra files to their own subfolder 2019-04-21 11:20:17 -07:00
Benjamin Sergeant f85c5002b7 add cobra metrics publisher 2019-04-21 11:16:33 -07:00
Benjamin Sergeant d48bf9249b indentation / comestic changes 2019-04-19 16:57:38 -07:00
Benjamin Sergeant 0dfc66f1c7 (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 4564173b75 (socket server) wait for all connections threads to be terminated before exiting stop method 2019-04-19 16:31:33 -07:00
Benjamin Sergeant b60e5aaf1f default sanitizer choice 2019-04-19 15:13:59 -07:00
Benjamin Sergeant da67f4cb9a disable clang sanitizers in CI on any platforms but Darwin 2019-04-19 15:09:01 -07:00
Benjamin Sergeant b041042473 fix Linux cast warning 2019-04-19 15:03:49 -07:00
Benjamin Sergeant f83263d6a1 (unittest) upgrade to Catch2 version 2.7.1 2019-04-19 14:41:03 -07:00
Benjamin Sergeant b0139c2217 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 0ba2e2ce96 uses sh syntax to capture output 2019-04-19 12:40:39 -07:00
Benjamin Sergeant 4a91ad80c8 (ci) verbose mode to figure out Linux build problems on travis 2019-04-19 12:10:43 -07:00
Benjamin Sergeant 4cc715b13d Windows nmake does not have a -j flag 2019-04-19 11:58:02 -07:00
Benjamin Sergeant 0dfd7cd543 Windows + unittest python script fixes 2019-04-19 11:54:58 -07:00
Benjamin Sergeant 56f164ce2b fix warning / ws_cobra_subscribe does not need a verbose flag 2019-04-19 11:45:42 -07:00