Benjamin Sergeant
|
3dabd3a556
|
(ws) merge all ws_*.cpp files into a single one to speedup compilation
|
2020-08-15 19:30:17 -07:00 |
|
Benjamin Sergeant
|
0498e2fa98
|
IXBench.h is missing a pragma once
|
2020-08-15 18:58:46 -07:00 |
|
Benjamin Sergeant
|
2aaf59651e
|
(socket server) in the loop accepting connections, call select without a timeout on unix to avoid busy looping, and only wake up when a new connection happens
|
2020-08-15 18:32:59 -07:00 |
|
Benjamin Sergeant
|
cd4e51eacf
|
(socket server) instead of busy looping with a sleep, only wake up the GC thread when a new thread will have to be joined, (we know that thanks to the ConnectionState OnSetTerminated callback
|
2020-08-15 16:24:35 -07:00 |
|
Benjamin Sergeant
|
785842de03
|
(socket server) add a callback to the ConnectionState to be invoked when the connection is terminated. This will be used by the SocketServer in the future to know on time that the associated connection thread can be terminated.
|
2020-08-15 16:03:40 -07:00 |
|
Benjamin Sergeant
|
261095fa12
|
(socket server) do not create a select interrupt object everytime when polling for notifications while waiting for new connections, instead use a persistent one which is a member variable
|
2020-08-15 15:28:15 -07:00 |
|
Benjamin Sergeant
|
ed2ed0f7ae
|
(ixwebsocket client) handle HTTP redirects
|
2020-08-14 18:13:34 -07:00 |
|
Benjamin Sergeant
|
7ad5ead0f6
|
document the --config_path option in usage.md
|
2020-08-14 15:15:27 -07:00 |
|
Benjamin Sergeant
|
a8284e64e3
|
add a simple shell script to test websocket proxy
|
2020-08-14 15:09:34 -07:00 |
|
Benjamin Sergeant
|
5423a31d5a
|
(ws) have more subcommand handle --pidfile, to write pid to a file
|
2020-08-14 15:09:12 -07:00 |
|
Benjamin Sergeant
|
53575f8d90
|
change makefile openssl target to use ninja and install ws
|
2020-08-14 15:08:37 -07:00 |
|
Benjamin Sergeant
|
d3bcbdac26
|
(ws) upgrade to latest version of nlohmann json (3.9.1 from 3.2.0)
|
2020-08-13 22:10:38 -07:00 |
|
Benjamin Sergeant
|
8c5b28adce
|
(websocket proxy server) add ability to map different hosts to different websocket servers, using a json config file
|
2020-08-13 21:20:42 -07:00 |
|
Benjamin Sergeant
|
dcbafae35a
|
(ws) on macOS, with OpenSSL or MbedTLS, use /etc/ssl/cert.pem as the system certs
|
2020-08-12 18:55:13 -07:00 |
|
Benjamin Sergeant
|
eb197edcec
|
ws --version does not get printed with a log prefix
|
2020-08-12 18:44:47 -07:00 |
|
Benjamin Sergeant
|
b8265bf7f2
|
(ws) -q option imply info log level, not warning log level
|
2020-08-11 15:44:06 -07:00 |
|
Benjamin Sergeant
|
e7c4f0b171
|
add documentation for the websocket send callback and the send return type (fix #239)
|
2020-08-11 11:24:00 -07:00 |
|
Benjamin Sergeant
|
12f36b61ff
|
(websocket server) Handle programmer error when the server callback is not registered properly (fix #227)
|
2020-08-06 04:40:32 -07:00 |
|
Benjamin Sergeant
|
b15c4189f5
|
add csharp/dotnet devnull client to measure througput with different runtimes
|
2020-08-05 13:59:26 -07:00 |
|
Benjamin Sergeant
|
74d3278258
|
add python test file to benchmark how many messages can be received per second
|
2020-08-04 10:53:35 -07:00 |
|
Benjamin Sergeant
|
831152b906
|
add a devnull like sample code using libwebsockets C library, to see how many messages per second a client library can receive (answer is about the same as IXWebSocket)
|
2020-08-02 19:26:19 -07:00 |
|
Benjamin Sergeant
|
7c81a98632
|
Add a node.js benchmarking test program, to see how fast node can receive messages.
|
2020-08-02 14:21:11 -07:00 |
|
Benjamin Sergeant
|
6e47c62c06
|
(ws) Add a new ws sub-command, push_server. This command runs a server which sends many messages in a loop to a websocket client. We can receive above 200,000 messages per second (cf #235).
|
2020-08-02 12:41:34 -07:00 |
|
Benjamin Sergeant
|
bcae7f326d
|
(ws) Add a new ws sub-command, echo_client. This command send a message to an echo server, and send back to a server whatever message it does receive. When connecting to a local ws echo_server, on my MacBook Pro 2015 I can send/receive around 30,000 messages per second. (cf #235)
|
2020-08-02 12:09:13 -07:00 |
|
Benjamin Sergeant
|
d719c41e31
|
(ws) ws echo_server. Add a -q option to only enable warning and error log levels. This is useful for bench-marking so that we do not print a lot of things on the console. (cf #235)
|
2020-08-02 11:53:21 -07:00 |
|
Benjamin Sergeant
|
6f0307fb35
|
(build) make using zlib optional, with the caveat that some http and websocket features are not available when zlib is absent
|
2020-07-31 22:54:57 -07:00 |
|
Benjamin Sergeant
|
2e3d625c1e
|
(websocket client) onProgressCallback not called for short messages on a websocket (fix #233)
|
2020-07-29 17:47:33 -07:00 |
|
Benjamin Sergeant
|
029289413c
|
ws test shell script / add option so tune how large sent file will be
|
2020-07-29 17:46:37 -07:00 |
|
Benjamin Sergeant
|
4d51098c86
|
(websocket client) heartbeat is not sent at the requested frequency (fix #232)
|
2020-07-29 11:24:42 -07:00 |
|
Benjamin Sergeant
|
c2b05af022
|
can compile on macOS against jsoncpp installed from homebrew
|
2020-07-28 22:00:29 -07:00 |
|
Benjamin Sergeant
|
e85f975ab0
|
compiler warning fixes
|
2020-07-28 21:46:26 -07:00 |
|
Benjamin Sergeant
|
dc77d62a5d
|
(ixcobra) CobraConnection: unsubscribe from all subscriptions when disconnecting
|
2020-07-28 10:32:18 -07:00 |
|
Benjamin Sergeant
|
4f41f209a2
|
(socket utility) move ix::getFreePort to ixwebsocket library
|
2020-07-27 18:17:13 -07:00 |
|
Benjamin Sergeant
|
5940e53d77
|
enable cobra tests which were disabled
|
2020-07-27 17:39:53 -07:00 |
|
Benjamin Sergeant
|
22dffd5b7e
|
WebSocket::close is re-entrant
|
2020-07-27 17:38:33 -07:00 |
|
Benjamin Sergeant
|
af2f31045d
|
snake server / join subscription background thread in the ConnectionState destructor + attach cobra message subscription id to the connection state instead of having it be a local reference that gets unbound
|
2020-07-27 17:35:03 -07:00 |
|
Benjamin Sergeant
|
5daa59f9f3
|
minor makefile tweaks
|
2020-07-27 17:19:05 -07:00 |
|
Benjamin Sergeant
|
2ea9d06a93
|
fix typo in unittest string description: ununexpected -> unsubscribed
|
2020-07-27 17:16:53 -07:00 |
|
Benjamin Sergeant
|
847fc142d1
|
(ixwebsocket server) change legacy api with 2 nested callbacks, so that the first api takes a weak_ptr<WebSocket> as its first argument
|
2020-07-25 11:42:07 -07:00 |
|
Benjamin Sergeant
|
0388459bd0
|
(ixwebsocket) add WebSocketProxyServer, from ws. Still need to make the interface better.
|
2020-07-25 11:26:06 -07:00 |
|
Benjamin Sergeant
|
9a47ec1217
|
(ixsnake) uses an std::thread to handle redis subscriptions (2 unittest still failing)
|
2020-07-24 18:12:07 -07:00 |
|
Benjamin Sergeant
|
45a40c8640
|
new Dockerfile to run locally the test on an Ubuntu 20.04 system
|
2020-07-24 14:46:09 -07:00 |
|
Benjamin Sergeant
|
e34f1c30d6
|
(ws) port broadcast_server sub-command to the new server API
|
2020-07-24 14:35:07 -07:00 |
|
Benjamin Sergeant
|
c14a4c0e3e
|
formatting
|
2020-07-24 13:04:14 -07:00 |
|
Benjamin Sergeant
|
b146e93a3a
|
(unittest) port most unittests to the new server API
|
2020-07-24 12:49:36 -07:00 |
|
Benjamin Sergeant
|
9957ec9724
|
(ws) port ws snake to the new server API
|
2020-07-24 12:33:17 -07:00 |
|
Benjamin Sergeant
|
78a42f61bd
|
add tool to ease making commits
|
2020-07-24 11:53:09 -07:00 |
|
Benjamin Sergeant
|
e78019dad6
|
(ws) port ws transfer to the new server API
|
2020-07-24 11:52:16 -07:00 |
|
Benjamin Sergeant
|
0f026c5da2
|
(websocket client) reset WebSocketTransport onClose callback in the WebSocket destructor
|
2020-07-24 10:03:29 -07:00 |
|
Benjamin Sergeant
|
c26a2d5d39
|
(websocket server) reset client websocket callback when the connection is closed
|
2020-07-24 09:41:02 -07:00 |
|
Benjamin Sergeant
|
2798886c0b
|
(websocket server) add a new simpler API to handle client connections / that API does not trigger a memory leak while the previous one did
|
2020-07-23 19:29:41 -07:00 |
|
Benjamin Sergeant
|
ffde283a4b
|
(build) merge platform specific files which were used to have different implementations for setting a thread name into a single file, to make it easier to include every source files and build the ixwebsocket library (fix #226)
|
2020-07-17 11:58:06 -07:00 |
|
Benjamin Sergeant
|
f7031d0d3e
|
set thread name in only one file
|
2020-07-17 11:43:50 -07:00 |
|
Benjamin Sergeant
|
595e6c57df
|
IXSelectInterruptPipe.h included in cmake on windows but compiled out
|
2020-07-17 11:33:02 -07:00 |
|
Benjamin Sergeant
|
87709c201e
|
(socket server) bump default max connection count from 32 to 128
|
2020-07-10 17:11:11 -07:00 |
|
Benjamin Sergeant
|
e70d83ace1
|
(snake) implement super simple stream sql expression support in snake server
|
2020-07-10 16:10:59 -07:00 |
|
Benjamin Sergeant
|
ca829a3a98
|
implement very very simple stream sql support
|
2020-07-10 16:07:51 -07:00 |
|
Benjamin Sergeant
|
26a1e63626
|
snake: stream sql mock + add republished channel option
|
2020-07-10 15:06:55 -07:00 |
|
Benjamin Sergeant
|
c98959b895
|
comment out unittest which cannot be activated yet
|
2020-07-09 10:34:52 -07:00 |
|
Benjamin Sergeant
|
b21306376b
|
uwp build fix + more ivp6 support
|
2020-07-08 12:38:55 -07:00 |
|
Benjamin Sergeant
|
fbd17685a1
|
(socket+websocket+http+redis+snake servers) expose the remote ip and remote port when a new connection is made (see #222) / only ipv4 is handled
|
2020-07-08 12:10:35 -07:00 |
|
Benjamin Sergeant
|
3a673575dd
|
clang format
|
2020-07-08 10:39:46 -07:00 |
|
Benjamin Sergeant
|
d5e51840ab
|
use const iterators
|
2020-07-08 10:34:14 -07:00 |
|
Benjamin Sergeant
|
543c2086b2
|
more templates in WebSocketTransport
|
2020-07-07 21:26:42 -07:00 |
|
Benjamin Sergeant
|
95eab59c08
|
WebSocketPerMessageDeflateCompressor can work with vector or std::string
|
2020-07-07 21:26:04 -07:00 |
|
Benjamin Sergeant
|
e9e768a288
|
better unittest for IXWebSocketPerMessageDeflateCompressor
|
2020-07-07 21:15:34 -07:00 |
|
Benjamin Sergeant
|
e2180a1f31
|
add unittest for IXWebSocketPerMessageDeflateCompressor
|
2020-07-07 20:56:38 -07:00 |
|
Benjamin Sergeant
|
7c1b57c8cd
|
(cmake) change the way zlib and openssl are searched
|
2020-07-07 10:58:20 -07:00 |
|
Benjamin Sergeant
|
89e7a35a81
|
add cmake comment about using a custom zlib
|
2020-07-06 18:34:14 -07:00 |
|
Benjamin Sergeant
|
de6acfe54e
|
Merge branch 'flagarde-patch-1'
|
2020-07-06 18:31:05 -07:00 |
|
Benjamin Sergeant
|
4789e190a0
|
zlib needs to be found (with vcpkg in CI), do not use our bundled copy
|
2020-07-06 18:09:45 -07:00 |
|
Benjamin Sergeant
|
d6366587a0
|
(UWP CI) install zlib from vcpkg
|
2020-07-06 17:52:28 -07:00 |
|
Benjamin Sergeant
|
dddf00e3b1
|
(cobra python bots) remove the test which stop the bot when events do not follow cobra metrics system schema with an id and a device entry
|
2020-07-06 16:15:24 -07:00 |
|
Benjamin Sergeant
|
cc47fb1c83
|
(cobra bots) remove bots which is not required now that we can use Python extensions
|
2020-06-26 16:49:08 -07:00 |
|
Benjamin Sergeant
|
8e8cea1bcd
|
delete C++ code for first memory warning
|
2020-06-25 11:22:21 -07:00 |
|
Benjamin Sergeant
|
68c97da518
|
(cmake) new python code is optional and enabled at cmake time with -DUSE_PYTHON=1
|
2020-06-25 10:05:02 -07:00 |
|
Benjamin Sergeant
|
f8b8799799
|
fix windows compile error with misplaced #ifdefs/#endifs
|
2020-06-24 23:26:14 -07:00 |
|
Benjamin Sergeant
|
615f1778c3
|
new cobra to python bot (still sending to statsd)
values + string building can be done in python (we are embedding it)
|
2020-06-24 23:21:19 -07:00 |
|
Benjamin Sergeant
|
c45b197c85
|
(cobra metrics to statsd bot) fps slow frame info : do not include os name
|
2020-06-19 18:10:49 -07:00 |
|
Benjamin Sergeant
|
78713895dd
|
(cobra metrics to statsd bot) send info about memory warnings
|
2020-06-19 17:46:59 -07:00 |
|
Benjamin Sergeant
|
aae2402ed2
|
disable flaky unittest once again ... ping pong is not reliable timing wise
|
2020-06-19 01:16:07 -07:00 |
|
Benjamin Sergeant
|
b62de6e516
|
tweak ping/pong test to be more lenient
|
2020-06-19 01:11:05 -07:00 |
|
Benjamin Sergeant
|
6e747849d7
|
enable ping unittest, which is flaky -> see #218
|
2020-06-19 01:04:44 -07:00 |
|
Benjamin Sergeant
|
a3a73ce1ac
|
add unittest to test http redirection fully
|
2020-06-19 00:22:39 -07:00 |
|
Benjamin Sergeant
|
10c014bf98
|
(http client) fix deadlock when following redirects
|
2020-06-19 00:11:06 -07:00 |
|
Benjamin Sergeant
|
9bb3643fc7
|
(cobra metrics to statsd bot) send info about net requests
|
2020-06-18 11:25:48 -07:00 |
|
Benjamin Sergeant
|
56db55caca
|
(bots) display received/sent message logs only if we are authenticated
|
2020-06-18 10:49:36 -07:00 |
|
Benjamin Sergeant
|
565a08b229
|
(cobra client and bots) add batch_size subscription option for retrieving multiple messages at once
|
2020-06-17 17:13:45 -07:00 |
|
Benjamin Sergeant
|
bf0f11fd65
|
fix size_t with int comparison warning
|
2020-06-17 16:56:06 -07:00 |
|
Benjamin Sergeant
|
558daf8911
|
(websocket) WebSocketServer is not a final class, so that users can extend it (fix #215)
|
2020-06-15 18:29:42 -07:00 |
|
Benjamin Sergeant
|
7ba7ff4b2a
|
(cobra bots) minor aesthetic change, in how we display http headers with a : then space as key value separator instead of :: with
no space
|
2020-06-15 16:09:31 -07:00 |
|
Benjamin Sergeant
|
aa142df486
|
(cobra metrics to statsd bot) change from a statsd type of gauge to a timing one
|
2020-06-12 13:47:01 -07:00 |
|
Benjamin Sergeant
|
5e200a440f
|
(redis cobra bots) capture most used devices in a zset
|
2020-06-11 18:49:45 -07:00 |
|
Benjamin Sergeant
|
6ed8723d7d
|
try to fix a double linking error on Windows with linenoise.hpp
|
2020-06-11 18:01:45 -07:00 |
|
Benjamin Sergeant
|
ac9710d5d6
|
(ws) add bare bone redis-cli like sub-command, with command line editing powered by libnoise
|
2020-06-11 17:30:42 -07:00 |
|
Benjamin Sergeant
|
35d76c20dc
|
add redis cli skeleton ws sub-command
|
2020-06-11 13:51:10 -07:00 |
|
Benjamin Sergeant
|
ca7344d9dc
|
use reference in range for loop
|
2020-06-11 13:50:37 -07:00 |
|
Benjamin Sergeant
|
7603d1a71b
|
(redis cobra bots) ws cobra metrics to redis / hostname invalid parsing
|
2020-06-11 08:33:36 -07:00 |
|
Benjamin Sergeant
|
d0cd4aed5a
|
(redis cobra bots) xadd with maxlen + fix bug in xadd client implementation and ws cobra metrics to redis command argument parsing
|
2020-06-11 08:20:03 -07:00 |
|
Benjamin Sergeant
|
c5aadffa08
|
(redis cobra bots) update the cobra to redis bot to use the bot framework, and change it to report fps metrics into redis streams.
|
2020-06-10 22:30:55 -07:00 |
|