Commit Graph

209 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 42bdfb51c3 Add constants for closing code and messages 2019-05-16 12:46:53 -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 3755d29a45 enum class HttpErrorCode derives from int 2019-05-15 16:50:00 -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 9315eb5289 more protection against socket when closing 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
Dimon4eg 6dd8cda074 add isEnabledAutomaticReconnection (#75)
* add isEnabledAutomaticReconnection

* test isEnabledAutomaticReconnection

* rename
2019-05-14 11:26:37 -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 160d3869a9 server code / add dedicated thread to close/join terminated connection threads 2019-05-13 17:17:35 -07:00
Kumamon38 12f6cd878d save timepoints after connect and not in contructor, adjusted tests (#72)
* save timepoints after connect and not in contructor, adjusted tests

* move call into setReadyState

* more time to detect client close in test
2019-05-13 09:08:46 -07:00
Dimon4eg 9aacebbbaf fix for Windows (#69)
* fix for Windows

* fix condition

* make condition only on Windows
2019-05-12 22:21:56 -07:00
Benjamin Sergeant 156288b17b all derived class use final keyword 2019-05-12 11:43:21 -07:00
Dimon4eg 4c4f99606e use C++11 enums (#67)
* use C++11 enums

* small rename

* update tests

* update tests

* update ws

* update ws

* update README.md
2019-05-11 14:22:06 -07:00
Dimon4eg a64b7b0c4a minor improvements (#66)
* minor improvements

* fix build

* improve tests code
2019-05-11 12:20:58 -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
Dimon4eg abfadad2e9 remove more iostream includes (#65) 2019-05-11 11:27:58 -07:00
Benjamin Sergeant 2dc1547bbd rename some variables, minor cleanup 2019-05-11 10:24:28 -07:00
dimon4eg 9f4b2856b0 fix crash on close 2019-05-11 10:15:22 -07:00
Dimon4eg b5fc10326e fix crash on close 2019-05-11 10:12:33 -07:00
Dimon4eg 8d3a47a873 Fix crash during closing on Windows (#64)
* fix crash on close

* Improve calculateRetryWaitMilliseconds (#63)

* improve calculateRetryWaitMilliseconds

* update comment

* cout -> spdlog

* fix crash on close

* uncomment test

* Revert "uncomment test"

This reverts commit 27df86ee8f.
2019-05-11 09:51:26 -07:00
Dimon4eg c28951f049 Improve calculateRetryWaitMilliseconds (#63)
* improve calculateRetryWaitMilliseconds

* update comment
2019-05-10 12:31:21 -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
tiwariashish86 f60293b2e7 Fixed pong synchronization issue (#62)
* Fixed pong synchronization issue

* Minor optimization in lock by scoping it to necessary changes.

* Fixing compilation issues
2019-05-09 15:06:05 -07:00
Kumamon38 cb1d1bfd85 fix ping, fix send frame close (#49)
* fix ping, fix send frame close

* fixes for data race on _closeCode etc. and fix test

* fixing one TC

* fix waiting forever if no time to change of readyState, and poll never end

* add 1005 code if no status code received

* fixes for 1005 code

* fix test issue

* fix macOS issue

* revert to master tests and renaming
2019-05-09 09:21:05 -07:00
Dimon4eg fa7f0fadde Remove redundant iostream includes (#60) 2019-05-08 13:33:21 -07:00
Dimon4eg 2732dfd0f1 set thread name for Windows (#57) 2019-05-08 07:43:43 -07:00
Dimon4eg c65cfd3d26 Use LUrlParser to fix issue of Windows (#53)
LGTM
2019-05-06 14:45:02 -07:00
Dimon4eg 8955462f73 added tests for IXUrlParser (#52)
* added tests for IXUrlParser

* add me as author
2019-05-06 12:47:15 -07:00
Benjamin Sergeant 205c8c15bd socket server / used wrong mutex to protect _connectionsThreads 2019-05-06 12:24:20 -07:00
Dimon4eg 78198a0147 Fix windows (#51)
* More fixes for Windows

* fix tests for windows

* qf for linux

* clean up
2019-05-06 12:22:57 -07:00
Dimon4eg 753fc845ac Fix for windows (#50) 2019-05-06 09:13:42 -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 Sergeant 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
Alexandre Konieczny a9422cf34d fix data race on _thread 2019-04-29 16:46:16 -07:00
Alexandre Konieczny c7e52e6fcd fix data race on _useMask 2019-04-29 16:41:34 -07:00
Benjamin Sergeant 0a7157655b initialize netSystem (aka winsock on windows) explicitely 2019-04-25 16:38:15 -07:00
Dimon4eg 58d65926bb Fixes for windows (#45)
* init Net system on Windows

* propagate DNS error

* Add zlib 1.2.11 sources

* link zlib statically for windows

* remove not implemented function declaration

* fix connect on Windows
2019-04-25 16:26:53 -07:00