Commit Graph

172 Commits

Author SHA1 Message Date
Benjamin Sergeant
4cb3326078 (apple ssl) model write method after the OpenSSL one for consistency
More test code for #140.
2020-01-10 18:32:34 -08:00
Benjamin Sergeant
21f42210a2 formatting 2020-01-09 13:45:31 -08:00
Benjamin Sergeant
27287aea50 ws send / detect disconnection earlier 2020-01-09 13:30:08 -08:00
Benjamin Sergeant
9e24475fd6 ws send / check that we are connected when waiting for the send buffer to be flushed, and if so, abort 2020-01-09 12:16:12 -08:00
Benjamin Sergeant
7e521e38ef Windows ws build fix 2020-01-07 17:37:38 -08:00
Benjamin Sergeant
7c63232157 (websocket client) better error propagation when errors are detected while sending data + (ws send) detect failures to send big files, terminate in those cases and report error (troubleshooting #140) 2020-01-06 14:34:43 -08:00
Benjamin Sergeant
162e228b34 (ws send) add option (-x) to disable per message deflate compression 2020-01-04 15:08:36 -08:00
Benjamin Sergeant
e34d960b28 fix typo in ws embedded help 2020-01-04 14:37:53 -08:00
Benjamin Sergeant
d62a102aba (ws send + receive) handle all message types (ping + pong + fragment) / investigate #140 2020-01-04 13:45:07 -08:00
Benjamin Sergeant
ac0c218455 clang-format 2019-12-30 08:46:18 -08:00
Benjamin Sergeant
299dc0452e (ws cobra to sentry/statsd) fix for handling null events properly for empty queues + use queue to send data to statsd 2019-12-28 17:28:05 -08:00
Benjamin Sergeant
f4af84dc06 (ws cobra to sentry) handle null events for empty queues 2019-12-28 10:16:18 -08:00
Benjamin Sergeant
6522bc06ba (ws cobra to sentry) game is picked in a fair manner, so that all games get the same share of sent events 2019-12-27 19:10:15 -08:00
Benjamin Sergeant
50bea7dffa (ws cobra to sentry) refactor queue related code into a class 2019-12-27 18:24:45 -08:00
Benjamin Sergeant
c4e9abfe80 (ws cobra to sentry) bound the queue size used to hold up cobra messages before they are sent to sentry. Default queue size is a 100 messages. Without such limit the program runs out of memory when a subscriber receive a lot of messages that cannot make it to sentry 2019-12-25 22:15:57 -08:00
Benjamin Sergeant
a805270d02 (ws client) use correct compilation defines so that spdlog is not used as a header only library (reduce binary size and increase compilation speed) 2019-12-25 09:03:57 -08:00
Benjamin Sergeant
e13b57c73b (ws client) all commands use spdlog instead of std::cerr or std::cout for logging 2019-12-24 21:55:34 -08:00
Benjamin Sergeant
5be84926ef (cobra client) send a websocket ping every 30s to keep the connection opened 2019-12-24 17:16:41 -08:00
Benjamin Sergeant
cbfc9b9f94 (ws) ws_cobra_publish: register callbacks before connecting 2019-12-22 20:29:37 -08:00
Benjamin Sergeant
81be970679 (ws commands) in websocket proxy, disable automatic reconnections + in Dockerfile, use alpine 3.11 2019-12-20 09:51:21 -08:00
Benjamin Sergeant
52221906f6 (cobra) Add TLS options to all cobra commands and classes. Add example to the doc. 2019-12-19 20:49:28 -08:00
Benjamin Sergeant
3e786fe23a formatting 2019-12-19 19:13:55 -08:00
Benjamin Sergeant
4e1888ac19 (tls) Experimental TLS server support with mbedtls (windows) + process cert tlsoption (client + server) 2019-12-18 11:51:02 -08:00
Benjamin Sergeant
cca304fc18 (ws) cobra to sentry - created events with sentry tags based on tags present in the cobra messages 2019-12-11 17:28:11 -08:00
Benjamin Sergeant
094d16304d (ws) cobra to sentry. Handle Error 429 Too Many Requests and politely wait before sending more data to sentry 2019-12-05 15:59:29 -08:00
Benjamin Sergeant
a63c0d6e78 sentry minidump upload timeout 2019-12-05 15:19:27 -08:00
Benjamin Sergeant
c75959fcb5 (ws) #125 / cmake detects an already installed jsoncpp and will try to use this one if present 2019-12-03 16:01:46 -08:00
Benjamin Sergeant
49865fed0a ws cobra_subscribe / sleep 1s instead of 10ms in the main loop 2019-12-02 09:52:52 -08:00
Benjamin Sergeant
2d593dd63b ws cobra subcommands / channel is not a positional argument anymore 2019-11-28 15:17:13 -08:00
Benjamin Sergeant
6054dd4b49 (http client) Add support for multipart HTTP POST upload + (ixsentry) Add support for uploading a minidump to sentry 2019-11-25 21:11:11 -08:00
Benjamin Sergeant
2cfadd93b5 add a python websocket proxy which works on Linux, while ws proxy_server does not 2019-11-18 13:46:11 -08:00
Benjamin Sergeant
8607dc1a4a ws proxy_server / remote server close not forwarded to the client 2019-11-16 14:21:44 -08:00
Benjamin Sergeant
521286ae88 fix android build + proxy work 2019-11-16 06:51:53 -08:00
Benjamin Sergeant
c26c3b6892 document new proxy command 2019-11-15 17:18:32 -08:00
Benjamin Sergeant
ed75d14c86 proxy works but crash when the connection is refused 2019-11-15 17:07:31 -08:00
Benjamin Sergeant
0841fcec44 add stub code for ws proxy server 2019-11-15 14:30:20 -08:00
Benjamin Sergeant
4e717abdb8 fix typo 2019-11-15 14:28:30 -08:00
Benjamin Sergeant
0e73fe51e9 move sentry code around and add a stub unittest for it 2019-10-25 14:54:31 -07:00
Benjamin Sergeant
7e67598360 ws cobra to sentry / simplify sent and received message statistic reporting 2019-10-25 14:34:48 -07:00
Benjamin Sergeant
91a95dc5f6 remove unused quiet argument of ws cobra_metrics_to_redis command 2019-10-25 14:02:56 -07:00
Benjamin Sergeant
c40033b6d9 Add cobra_metrics_to_redis sub-command to create streams for each cobra metric event being received. 2019-10-24 14:42:36 -07:00
Benjamin Sergeant
8fda7cb131 remove unused code in ws cobra_publish 2019-10-14 11:15:14 -07:00
Benjamin Sergeant
0e9cf863cf Add client support for websocket subprotocol. Look for the new addSubProtocol method for details 2019-10-13 13:37:34 -07:00
Benjamin Sergeant
adcbf0d208 add a target for building wihout ssl + take Matt Boer updated script to run ws test with SSL (still broken for large payload) 2019-10-03 07:47:34 -07:00
Benjamin Sergeant
19150115bb ws: Signal handling code isn't include on Windows 2019-10-01 16:12:32 -07:00
Benjamin Sergeant
de87fa34dc Implement SSL server with OpenSSL backend / still flaky 2019-10-01 15:43:37 -07:00
Benjamin Sergeant
d60f5de231 Add --tls option to pass to ws server command, to enable/disable tls 2019-10-01 13:54:46 -07:00
Benjamin Sergeant
22b4e6a8fb Socket Factory has only one function which works for server and client code, and can do tls for both 2019-09-30 22:06:46 -07:00
Benjamin Sergeant
58d6e4bb26 all ws subcommands propagate tls options to servers (unimplemented) or ws or http client (implemented) (contributed by Matt DeBoer) 2019-09-30 18:21:20 -07:00
Benjamin Sergeant
0539d2df2e clang-format 2019-09-30 17:52:39 -07:00