Benjamin Sergeant
1d3db5f75b
(cobra to statsd bot) add ability to extract a numerical value and send a timer event to statsd, with the --timer option
2020-03-30 16:08:47 -07:00
Benjamin Sergeant
296762ce06
add a docker deploy makefile target to build docker and push the built container in one shot
2020-03-29 22:08:36 -07:00
Benjamin Sergeant
e465f7af52
(cobra to statsd bot) bot init was missing + capture socket error
2020-03-29 22:03:27 -07:00
Benjamin Sergeant
f8bf1fe7cd
(cobra to statsd bot) add ability to extract a numerical value and send a gauge event to statsd
2020-03-29 19:32:43 -07:00
Benjamin Sergeant
cfa5718e40
(ws cobra subscriber) use a Json::StreamWriter to write to std::cout, and save one std::string allocation for each message printed
2020-03-29 15:24:46 -07:00
Benjamin Sergeant
40c619c1ec
(docker) trim down docker image (300M -> 12M) / binary built without symbol and size optimization, and source code not copied over
2020-03-29 13:06:44 -07:00
Benjamin Sergeant
22b02e0e5c
update doc
2020-03-28 10:46:42 -07:00
Benjamin Sergeant
738a3bf1c5
update bundled jsoncpp to 1.9.3
...
(still comment the deprecation warning, which we should eventually fix ...)
2020-03-28 10:44:05 -07:00
Benjamin Sergeant
598fb071e3
have some make target compile in release with debug
2020-03-28 10:33:22 -07:00
Benjamin Sergeant
686aface26
bump version to 9.1.3
2020-03-28 10:33:05 -07:00
Benjamin Sergeant
3073dd3f06
alpine docker file installs ca-certificates (for TLS)
2020-03-28 10:32:25 -07:00
Benjamin Sergeant
68c64f3f69
use alpine as the docker distribution
2020-03-27 17:38:35 -07:00
Benjamin Sergeant
771ebb2a4c
(mac ssl) rename DarwinSSL -> SecureTransport (see this too -> https://github.com/curl/curl/issues/3733 )
2020-03-26 19:40:52 -07:00
Benjamin Sergeant
0fffb1e894
(websocket) fix data race accessing _socket object without mutex protection when calling wakeUpFromPoll in WebSocketTransport.cpp
2020-03-26 19:31:59 -07:00
Benjamin Sergeant
18164c0c38
New CI builder: Mac + MbedTLS + Thread Sanitizer
2020-03-26 19:16:04 -07:00
Benjamin Sergeant
d2db7310ff
(ixcobra) add explicit event types for handshake, authentication and subscription failure, and handle those by exiting in ws_cobra_subcribe and friends
2020-03-26 18:54:28 -07:00
Benjamin Sergeant
09e4584fc8
New CI builder: Mac + OpenSSL + Thread Sanitizer
2020-03-26 16:46:47 -07:00
Benjamin Sergeant
dffa759f71
move IXBench code under ixwebsocker folder
2020-03-24 20:53:25 -07:00
Benjamin Sergeant
61e789d6a4
formatting
2020-03-24 20:37:55 -07:00
Benjamin Sergeant
37cb2cc266
(ws connect) display statistics about how much time it takes to stop the connection / cf #168
2020-03-24 20:29:09 -07:00
Benjamin Sergeant
179e17895d
unique_ptr for sockets
2020-03-24 12:48:55 -07:00
Benjamin Sergeant
9f818c7acf
(socket) selectInterrupt member is an unique_ptr instead of being a shared_ptr
2020-03-24 10:00:41 -07:00
Benjamin Sergeant
9dcc2538ae
(websocket) reset per-message deflate codec everytime we connect to a server/client
2020-03-23 18:46:30 -07:00
Benjamin Sergeant
f41a54186c
(websocket) fix #167 , a long standing issue with sending empty messages with per-message deflate extension (and hopefully other zlib bug)
2020-03-23 15:21:53 -07:00
Benjamin Sergeant
e0733d205c
fix linux linker error
2020-03-22 21:59:30 -07:00
Benjamin Sergeant
f72f845ad2
trim headers and unused code in IXUdpSocket
2020-03-22 21:51:41 -07:00
Benjamin Sergeant
b7e7837d76
fix simple compile error
2020-03-22 19:43:43 -07:00
Benjamin Sergeant
fe966b19c7
re-enable unittests
2020-03-22 19:39:28 -07:00
Benjamin Sergeant
a0ffb2ba53
cobra to statsd bot ported to windows + add unittest
2020-03-22 19:37:04 -07:00
Benjamin Sergeant
5ad54a8904
pre-commit / fix simple file trailing things
2020-03-21 19:31:38 -07:00
Benjamin Sergeant
10e132e8ef
remove std::cerr in IXRedisServer which triggers a tsan error
2020-03-20 17:50:08 -07:00
Benjamin Sergeant
5ce846f48b
indent files
2020-03-20 17:00:18 -07:00
Benjamin Sergeant
1d6373335c
(websocket+tls) fix hang in tls handshake which could lead to ANR, discovered through unittesting.
2020-03-20 16:57:27 -07:00
Benjamin Sergeant
829751b7af
(cobra) CobraMetricsPublisher can be configure with an ix::CobraConfig + more unittest use SSL in server + client
2020-03-20 12:22:00 -07:00
Benjamin Sergeant
5691b55967
(unittest) / try to run the cobra 2 sentry bot test with SSL if the platform supports it
2020-03-19 18:50:46 -07:00
Benjamin Sergeant
575bceb1ec
add make target for ubsan, tsan and asan, and enable running the unittest on mac with tsan
2020-03-18 20:53:54 -07:00
Benjamin Sergeant
6085839ef7
minor refactoring
2020-03-18 11:45:28 -07:00
Benjamin Sergeant
696d802703
bump version
2020-03-18 01:15:15 -07:00
Benjamin Sergeant
b287730c19
Simplify ping/pong based heartbeat implementation
2020-03-18 01:14:08 -07:00
Benjamin Sergeant
d6f534de06
(ws) ws echo_server gains a new option (-p) to disable responding to pings with pongs
2020-03-18 00:01:57 -07:00
Benjamin Sergeant
8ec515f292
(ws) ws connect gains a new option to set the interval at which to send pings
2020-03-17 23:54:32 -07:00
Benjamin Sergeant
c6204f4d90
tweak mkdoc action
2020-03-17 10:47:06 -07:00
Benjamin Sergeant
7dfad9c0cc
more docs
2020-03-17 10:41:20 -07:00
Benjamin Sergeant and GitHub
21fac0be6c
Create mkdocs.yaml github action from the web-ui
2020-03-17 10:22:58 -07:00
Benjamin Sergeant
0bddf5e096
remove workflow created manually
2020-03-17 10:21:51 -07:00
Benjamin Sergeant
946a8231e0
add ci to build documentation
2020-03-17 10:14:41 -07:00
Benjamin Sergeant
49d1e8493a
update build badge on doc
2020-03-17 10:09:41 -07:00
Benjamin Sergeant
6198657dd6
do not trigger unittest when the docs is changed
2020-03-17 08:54:31 -07:00
Benjamin Sergeant
385d6f5f4a
(doc) move tls options to its own section
2020-03-17 08:49:42 -07:00
Benjamin Sergeant
3919153a7b
close #164 / add reference to tls option which must be set to true in server mode
2020-03-17 08:45:39 -07:00
Benjamin Sergeant
e8f81776f9
(cobra to sentry bot + docker) default docker file uses mbedtls + ws cobra_to_sentry pass tls options to sentryClient.
2020-03-16 10:05:21 -07:00
Benjamin Sergeant and GitHub
0bb5462504
Feature/ci windows ( #163 )
...
* win only
* disable ixcrypto mbedtls search on windows
* ws cmakefile do not search for openssl
* ci builds files on top of cmaking
* ci builds files on top of cmaking / syntax tweak
* use gha-setup-vsdevenv syntax
* build fix and hacks
* try to run unittest on win
* try to run unittest on win (syntax error)
* unittest wip
* wip
* wip again
* wip again (working-directory)
* cleanup
* dumb compile error
2020-03-15 18:38:09 -07:00
Benjamin Sergeant
44f599747e
(cobra client) ws cobra subscribe resubscribe at latest position after being disconnected
2020-03-13 17:30:31 -07:00
Benjamin Sergeant
9801ebdb36
(cobra client) can subscribe with a position
2020-03-13 16:06:13 -07:00
Benjamin Sergeant
332ffb0603
(cobra client) pass the message position to the subscription data callback
2020-03-13 12:49:37 -07:00
Benjamin Sergeant
90df3d1805
(openssl tls backend) Fix a hand in OpenSSL when using TLS v1.3 ... by disabling TLS v1.3
2020-03-12 16:27:25 -07:00
Benjamin Sergeant
bda1bb6ab4
expose a way to set tls options for a sentry client, for testing
2020-03-12 16:18:28 -07:00
Benjamin Sergeant
d4e1f71e3c
(cobra2sentry bot) take a sentry client as input instead of a dsn
2020-03-12 12:30:58 -07:00
Benjamin Sergeant
adf6aa1d6c
(cobra2sentry bot) remove the jobs option passed to ws, and only use one sentry sender
2020-03-12 12:24:25 -07:00
Benjamin Sergeant
cb1f9f5a44
clang formatting
2020-03-12 12:15:56 -07:00
Benjamin Sergeant
83ae105edb
minor refactoring to delete files which are not needed
2020-03-12 12:13:31 -07:00
Benjamin Sergeant
7642ccc99e
(unittest) fix silly compile error with renaming of Logger to TLogger
2020-03-12 11:15:54 -07:00
Benjamin Sergeant
cb1ec7dc96
add unittest for cobra to sentry bots
2020-03-12 09:07:01 -07:00
Benjamin Sergeant
09b9483ddf
fix casing problem with cmake filename
2020-03-11 16:04:16 -07:00
Benjamin Sergeant
27a8ae309f
build failure on Linux
2020-03-11 15:59:48 -07:00
Benjamin Sergeant
3df7c942d7
move sentry and statsd cobra ws commands into a new ixbots folder
2020-03-11 15:55:56 -07:00
Benjamin Sergeant
6a4d69afc5
(cobra) IXCobraConfig struct has tlsOptions and per message deflate options
2020-03-11 12:40:32 -07:00
Benjamin Sergeant
0a11132b07
(cobra) add IXCobraConfig struct to pass cobra config around
2020-03-11 10:48:41 -07:00
Benjamin Sergeant
cb9f0cb968
(doc) mention that OpenSSL can be used on Windows
2020-03-11 10:18:48 -07:00
Benjamin Sergeant
b1f30bb40f
(ws cobra_subscribe) add a --fluentd option to wrap a message in an enveloppe so that fluentd can recognize it
2020-03-09 15:25:43 -07:00
Benjamin Sergeant
4ef04b8339
(websocket server) fix regression with disabling zlib extension on the server side. If a client does not support this extension the server will handle it fine. We still need to figure out how to disable the option. cc #160
2020-03-02 16:53:08 -08:00
Benjamin Sergeant
a42f115f79
compatibility: add node.js example server
2020-02-26 12:17:34 -08:00
Benjamin Sergeant
5ce1a596cf
add a python echo server that does not close the connection after each received messages
2020-02-26 12:11:31 -08:00
Benjamin Sergeant
21db7b6c5b
add a simple pytho echo client
2020-02-26 11:50:24 -08:00
Benjamin Sergeant
e15a2900e7
(websocket) traffic tracker received bytes is message size while it should be wire size
2020-02-26 11:24:41 -08:00
Benjamin Sergeant
140a21c8b3
(ws_connect) display sent/received bytes statistics on exit
2020-02-26 11:23:36 -08:00
Benjamin Sergeant
6d0c568aaa
update doc / fix incorrect comment about sending defaultint to binary mode
2020-02-24 16:24:32 -08:00
Benjamin Sergeant
c96abcef1c
build status github badge
2020-02-23 09:46:08 -08:00
Benjamin Sergeant
4a9b0b9dfd
(server) give thread name to some usual worker threads / unittest is broken !!
2020-02-23 09:44:58 -08:00
Benjamin Sergeant
8837d5e784
(websocket server) fix regression from 8.1.2, where per-deflate message compression was always disabled
2020-02-22 10:15:43 -08:00
Benjamin Sergeant
242c945400
(client + server) Fix #155 / http header parser should treat the space(s) after the : delimiter as optional. Fixing this bug made us discover that websocket sub-protocols are not properly serialiazed, but start with a ,
2020-02-21 14:05:38 -08:00
Benjamin Sergeant
feab4dee0f
split httpd test case into 2 test cases
2020-02-21 12:24:22 -08:00
Benjamin Sergeant
8175829b4b
unittest / add extra test for checking headers
2020-02-21 12:22:37 -08:00
Benjamin Sergeant
4c66a7561e
(WebSocketServer) add option to disable deflate compression, exposed with the -x option to ws echo_server
2020-02-18 21:38:28 -08:00
Benjamin Sergeant
111475e65c
(ws cobra to statsd and sentry sender) exit if no messages are received for one minute, which is a sign that something goes wrong on the server side. That should be changed to be configurable in the future
2020-02-18 12:43:07 -08:00
Benjamin Sergeant
45061b0b14
(http client + sentry minidump upload) Multipart stream closing boundary is invalid + mark some options as mandatory in the command line toolsj
2020-02-13 12:25:18 -08:00
Benjamin Sergeant
1bb847a51c
bump version for #154 fix which was about removing the unused subtree which was causing some way of installing to break
2020-02-12 11:21:46 -08:00
Benjamin Sergeant
ce9feeafdf
try to delete subtree usocket again
2020-02-12 10:08:42 -08:00
Benjamin Sergeant
415f0b3e6d
CI/CD no need to run redis anymore, as we have our fake limited one
2020-02-07 17:15:16 -08:00
Benjamin Sergeant
94431756ff
trigger a github action
2020-02-07 17:08:25 -08:00
Benjamin Sergeant
5f6c54bb90
(snake) add an option to disable answering pongs as response to pings, to test cobra client behavior with hanged connections
2020-01-31 16:55:54 -08:00
Benjamin Sergeant
f994a41845
(IXCobraConnection) set a ping timeout of 90 seconds. If no pong messages are received as responses to ping for a while, give up and close the connection
2020-01-31 16:25:45 -08:00
Benjamin Sergeant
f3760318b7
(cobra to sentry) remove noisy logging
2020-01-31 16:07:36 -08:00
Benjamin Sergeant
c2362e6875
(ixcobra) check if we are authenticated in publishNext before trying to publish a message
2020-01-30 20:52:11 -08:00
Benjamin Sergeant
2d28b7d4ff
bump version and update changelog
2020-01-28 10:50:03 -08:00
Benjamin Sergeant
86d3fc8621
quit checkConnection after sleeping if requested to stop (iterate on #151 )
2020-01-28 10:46:04 -08:00
Benjamin Sergeant
422c7ff855
wait with a condition variable instead of a this_thread::sleep_for so that waiting can be cancelled when we stop/shutdown the data thread (see #151 )
2020-01-28 10:04:32 -08:00
Benjamin Sergeant
1c7ccbae12
bump version
2020-01-27 17:41:27 -08:00
Benjamin Sergeant
ed2a81f115
Fix #148
2020-01-27 17:29:44 -08:00
Benjamin Sergeant
aa12098cb5
add -6 option to ws echo_server / cf #148
2020-01-26 16:44:44 -08:00