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
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
22dffd5b7e
WebSocket::close is re-entrant
2020-07-27 17:38:33 -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
e34f1c30d6
(ws) port broadcast_server sub-command to the new server API
2020-07-24 14:35:07 -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
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
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
7c1b57c8cd
(cmake) change the way zlib and openssl are searched
2020-07-07 10:58:20 -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
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
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
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
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
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
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
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
Benjamin Sergeant
ee8a3a52ec
compile tweak on linux + version bump
2020-06-04 15:01:16 -07:00
Benjamin Sergeant
531bd624b5
remove spaces in keys + verbose statsd
2020-06-04 14:57:36 -07:00
Benjamin Sergeant
c317100b47
(statsd cobra bots) statsd improvement: prefix does not need a dot as a suffix, message size can be larger than 256 bytes, error handling was invalid, use core logger for logging instead of std::cerr
2020-06-04 09:35:55 -07:00
Benjamin Sergeant
268f528423
httpd gzip compression / set a response header and search for gzip in the request header in case deflate is added to gzip in there
2020-06-01 17:11:42 -07:00
Benjamin Sergeant
4872b59fac
fix windows build (or operator is not supported || is required
2020-05-29 17:18:09 -07:00
Benjamin Sergeant
bb1be240ec
fix linux compile failure
2020-05-29 16:53:57 -07:00
Benjamin Sergeant
b008c97c83
(http server) support gzip compression
2020-05-29 16:49:29 -07:00
Benjamin Sergeant
16eb269e1e
bump version for (compiler fix) support clang 5 and earlier (contributed by @LunarWatcher) #206
2020-05-20 10:58:30 -07:00
Benjamin Sergeant
2319dec278
(cmake) revert CMake changes to fix #203 and be able to use an external OpenSSL
2020-05-20 10:56:58 -07:00
Olivia Zoe
f1be48aff1
Re-enable support for clang 5 and earlier ( #206 )
2020-05-20 10:56:24 -07:00
Benjamin Sergeant
54d4d81bf4
(cmake) make install cmake files optional to not conflict with vcpkg
...
See https://github.com/microsoft/vcpkg/pull/11030
2020-05-17 20:36:46 -07:00
Benjamin Sergeant
ea207d8199
(windows + tls) mbedtls is the default windows tls backend + add ability to load system certificates with mbdetls on windows
2020-05-17 20:36:46 -07:00
Benjamin Sergeant
1af39bf0eb
(ixbots) add options to limit how many messages per minute should be processed
2020-05-12 21:40:17 -07:00
Benjamin Sergeant
2e904801a0
(ixbots) add new class to configure a bot to simplify passing options around
2020-05-12 19:08:16 -07:00
Benjamin Sergeant
4773af8f2f
(openssl tls) (openssl < 1.1) logic inversion - crypto locking callback are not registered properly
2020-05-08 09:54:42 -07:00
Benjamin Sergeant
c1403df74a
(cmake) default TLS back to mbedtls on Windows Universal Platform
2020-05-08 09:31:53 -07:00
Benjamin Sergeant
0772ef7ef5
(cobra bots) add a --heartbeat_timeout option to specify when the bot should terminate because no events are received
2020-05-06 22:01:48 -07:00
Benjamin Sergeant
c030a62c8b
openSSLLockingCallback should be static
2020-05-06 16:57:53 -07:00
Benjamin Sergeant
931530b101
only register the crypto lock callback if no-one has registered them before us
2020-05-06 16:49:04 -07:00
Benjamin Sergeant
6c205b983e
(openssl tls) when OpenSSL is older than 1.1, register the crypto locking callback to be thread safe. Should fix lots of CI failures
2020-05-06 16:26:30 -07:00
Benjamin Sergeant
a65b334961
assert that the timeout is non zero in makeCancellationRequestWithTimeout
2020-05-06 15:53:27 -07:00
Benjamin Sergeant
2de8aafcbc
another windows build error in IXUdpSocket ...
2020-05-05 08:29:39 -07:00
Benjamin Sergeant
f075f586e1
fix windows compile error with UdpSocket::recvfrom
2020-05-05 08:15:01 -07:00
Benjamin Sergeant
93cb898989
fix compile error with UdpSocket::recvfrom
2020-05-05 08:03:04 -07:00
Benjamin Sergeant
2b4c06e6d2
UdpSocket::recvfrom last argument does not have to be a uint32_t
2020-05-05 07:49:07 -07:00
tostc
7337ed34a6
Added asynchronous udp receive function ( #193 )
...
* Added asynchronous udp receive function
* Remove receive_async and added low level recv, which is non-blocking.
* Remove thread include
* Moved unix include to IXNetSystem.h
2020-05-05 07:47:41 -07:00
Benjamin Sergeant
15355188d5
(http client) rework a bit PATCH pull request, fix compile error with setForceBody and initialize _forceBody to false
2020-05-05 07:43:55 -07:00
Liz3
8760c87635
add PATCH and add option to enforce a http request body write ( #195 )
...
* add PATCH and add option to enforce a http request body write
* remove private bool prop
2020-05-05 07:38:55 -07:00
Benjamin Sergeant
2786631e3b
clang-format
2020-05-04 17:19:25 -07:00
Benjamin Sergeant
4f17cd5e74
(cobra bots) do not use a queue to store messages pending processing, let the bot handle queuing
2020-05-04 15:45:11 -07:00
Benjamin Sergeant
b34d9f6a06
uwp fixes
2020-05-01 11:27:59 -07:00
Benjamin Sergeant
303f99a432
refine previous commit
2020-05-01 10:37:25 -07:00
Benjamin Sergeant
a42ccea8dd
disable unicode
2020-05-01 09:22:03 -07:00
Benjamin Sergeant
b45980f0f6
(http client) better current request cancellation support when the HttpClient destructor is invoked (see #189 )
2020-04-29 11:53:23 -07:00
Benjamin Sergeant
fbca513008
bump version
2020-04-27 12:36:56 -07:00
Benjamin Sergeant
5632360fbd
(http client) Set default values for most HttpRequestArgs struct members ( fix #185 )
2020-04-27 09:43:31 -07:00
Benjamin Sergeant
0ab04f51fe
(ssl) Default to OpenSSL on Windows, since it can load the system certificates by default
2020-04-25 15:36:31 -07:00
Benjamin Sergeant
287e48962f
bump version number
2020-04-25 11:41:58 -07:00
Francisco Javier
953c680eee
Bug on setting extra headers. Now it loses the first string character. ( #184 )
...
Client code:
...
ix::WebSocketHttpHeaders headers {
{"Cookie", "ABC"}
};
...
Expected header string on server:
"Cookie: ABC"
Resulted header string on server:
"Cookie: BC"
Solution:
The easy way I found to solve the problem is to add a space where extra headers are set before sended to server.
Co-authored-by: Fco. Javier M. C <fcojavmc@todo-redes.com>
2020-04-25 11:39:37 -07:00
Benjamin Sergeant
2802cad8c4
more tls in memory certs doc + bump file format
2020-04-24 15:50:39 -07:00
Benjamin Sergeant
9f770b10c0
clang-format
2020-04-24 15:34:00 -07:00
Max Weisel
677f79b0ea
Implement API for adding custom roots via a string ( #178 )
...
* Implement API for adding custom roots via a string. SocketTLSOptions API design needs work, but the IXSocketOpenSSL implementation feels good to me.
* Improve API design for specifying roots from memory.
* Add in-memory root CAs mbedtls implementation.
* Fix bug in newer versions of OpenSSL with in-memory certificate handling.
2020-04-24 15:32:11 -07:00
Benjamin Sergeant
2469d7102e
missing headers for url parsing
2020-04-24 14:13:15 -07:00
Benjamin Sergeant
79acb915ce
merge the 2 url parsing file into one, fix a silly build error
2020-04-24 14:08:59 -07:00
Benjamin Sergeant
c70f1d09a8
include all ssl backends inside special per backend macro
2020-04-24 12:47:47 -07:00
Benjamin Sergeant
9d79596629
(ixbots) display sent/receive message, per seconds as accumulated
2020-04-17 09:56:09 -07:00
Benjamin Sergeant
0b6fd989f5
(ws) add a --logfile option to configure all logs to go to a file
2020-04-17 09:35:47 -07:00
Benjamin Sergeant
0f5d15aa11
(cobra bots) add a utility class to factor out the common bots features (heartbeat) and move cobra to sentry bot to use it
2020-04-16 14:49:49 -07:00
Benjamin Sergeant
ccfd196863
clang-format
2020-04-16 11:58:06 -07:00
Benjamin Sergeant
9b8cfa0a37
(websocket) add a positive number to the heartbeat message sent, incremented each time the heartbeat is sent
2020-04-15 18:33:36 -07:00
Benjamin Sergeant
64754df66c
(ixcobra) change cobra event callback to use a struct instead of several objects, which is more flexible/extensible
2020-04-15 17:38:39 -07:00
Benjamin Sergeant
386ef3ab04
(ixcobra) make CobraConnection_EventType an enum class (CobraEventType)
2020-04-15 16:59:17 -07:00
Benjamin Sergeant
2c4bf8f4bd
(ixsentry) add a library method to upload a payload directly to sentry
2020-04-14 22:02:51 -07:00
Benjamin Sergeant
3a2c446225
missing headers in IXWebSocketCloseInfo.h, ,IXWebSocketErrorInfo.h and IXWebSocketOpenInfo.h
2020-04-14 21:52:27 -07:00
Benjamin Sergeant
35630fe7ed
new makefile target + better error description in Socket::readBytes
2020-04-14 21:50:56 -07:00
Benjamin Sergeant
bea582c208
cobra subscriber in fluentd mode insert a created_at timestamp entry
2020-04-14 15:30:30 -07:00
Benjamin Sergeant
432f0570f4
(websocket) WebSocketMessagePtr is a unique_ptr instead of a shared_ptr
2020-04-13 21:56:01 -07:00