Benjamin Sergeant
|
42f71364ca
|
IXHttpClient.cpp: use std::array instead of std::unique_ptr for a fixed size array
|
2020-08-17 16:25:55 -07:00 |
|
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 |
|