Benjamin Sergeant
f8fef833b8
new options for cobra commands
...
- ws cobra_subscribe has a new -q (quiet) option
- ws cobra_subscribe knows to and display msg stats (count and # of messages received per second)
- ws cobra_subscribe, cobra_to_statsd and cobra_to_sentry commands have a new option, --filter to restrict the events they want to receive
2019-08-01 15:22:24 -07:00
Benjamin Sergeant
fc4068f2e5
ws connect command has a new option to send in binary mode (still default to text)
2019-07-25 15:48:45 -07:00
Benjamin Sergeant
c300866dcc
add better line editing capability to ws connect, thanks to linenoise-cpp
2019-07-25 11:54:50 -07:00
Benjamin Sergeant
18485a74e5
README.md / cosmetic
2019-07-23 14:04:45 -07:00
Benjamin Sergeant
4dd5950406
fix typo in README
2019-07-23 13:52:16 -07:00
Benjamin Sergeant
98de54106d
README: add reference to conan/vcpk to the build section
2019-07-22 20:41:06 -07:00
Benjamin Sergeant
4d64272a1a
do not update homebrew when installing a package
2019-07-03 14:49:39 -07:00
Benjamin Sergeant
0ccece908b
ci / get mbedtls from homebrew on mac
2019-07-03 14:46:05 -07:00
Benjamin Sergeant
64cd725060
do not use mbed tls for the unittest
2019-07-03 14:39:46 -07:00
Benjamin Sergeant
cc2fa55608
add new docker file to run the unittest with tsan on latest Ubuntu
2019-06-30 23:37:25 -07:00
Benjamin Sergeant
4fb268585c
dns / use cancellable instead of blocking
2019-06-30 23:26:14 -07:00
Benjamin Sergeant
3a2495c456
make IXDNSLookup more robust
2019-06-26 19:12:48 -07:00
Benjamin Sergeant
1d4d058ed0
simplify IXDNSLookup
2019-06-26 16:25:07 -07:00
Benjamin Sergeant
15a1347531
use poll instead of select in SocketServer
2019-06-25 17:18:24 -07:00
Benjamin Sergeant
4cbfa71338
switch from select to poll to deal with Android 9 giving us high socket fds when calling ::connect
2019-06-25 17:11:27 -07:00
Benjamin Sergeant
705625af0a
refactor select code + add protection against large fds (cf Android 9)
2019-06-25 15:41:39 -07:00
Benjamin Sergeant
01bc6654cb
Add extra check in IXWebSocketCloseTest.cpp
2019-06-25 14:10:39 -07:00
Benjamin Sergeant
eea42bff66
select refactoring IXSocket::select -> IXSocket::poll
2019-06-25 10:16:40 -07:00
Benjamin Sergeant
06b4762c19
disable CI on Windows
2019-06-25 00:28:11 -07:00
Benjamin Sergeant
1ee9479009
cmake use_tls fix
2019-06-24 23:34:31 -07:00
Benjamin Sergeant
73e94ed03a
do not build mbedtls on ci
2019-06-24 23:28:35 -07:00
Benjamin Sergeant
1883519e82
try to disable TLS for unittesting
2019-06-24 23:27:44 -07:00
Benjamin Sergeant
6f6c1f85ef
CI / build zlib and mbedtls locally
2019-06-24 23:17:19 -07:00
Benjamin Sergeant
c55ff3cb1b
CI work
2019-06-24 10:17:57 -07:00
Benjamin Sergeant
d8e83caffc
fix warning
2019-04-13 21:16:04 -07:00
Benjamin Sergeant
fbf80b9f50
ws: new command to subscribe to a cobra server and send an event to a sentry server
2019-04-11 16:03:05 -07:00
Benjamin Sergeant
c2a9139d41
(ws) add subcommands: cobra subscribe, and cobra subscribe to statsd bridge
2019-04-08 21:56:01 -07:00
Benjamin Sergeant
6e3dff149a
linux ci tentative fix
2019-04-03 22:02:10 -07:00
Benjamin Sergeant
1bacbe38f4
better unittest runner / can run through lldb and produce a junit XML artifact
2019-03-29 15:54:05 -07:00
Benjamin Sergeant
2e9c610ac9
Bump sleep time in test shell script
2019-03-29 09:36:56 -07:00
Benjamin Sergeant
eb063ec60a
(redis_subscribe) in verbose mode, received message gets printed with a 'received: ' header
2019-03-29 09:35:19 -07:00
Benjamin Sergeant
37fb14646d
Add clarification notice about third party modules
2019-03-29 09:34:17 -07:00
Benjamin Sergeant
ae543518d3
offline version of remark-latest
2019-03-28 16:06:43 -07:00
Benjamin Sergeant
c865d64608
redis conf slides
2019-03-28 14:17:19 -07:00
Benjamin Sergeant
3004422cb6
slides
2019-03-27 16:27:52 -07:00
Benjamin Sergeant
0c46a17443
add redis-conf slides
2019-03-27 15:53:55 -07:00
Benjamin Sergeant
497373d976
ws redis command improvements + test script
2019-03-27 13:41:46 -07:00
Benjamin Sergeant
91198aca0d
(ws) redis_subscribe and redis_publish can take a password + display subscribe response
2019-03-26 09:33:22 -07:00
Benjamin Sergeant
b17a5e5f0b
update doc
2019-03-24 21:48:14 -07:00
Benjamin Sergeant
3f0ef59f65
remove Formula folder
...
Homebrew stuff is at https://github.com/bsergean/homebrew-IXWebSocket
2019-03-24 21:43:38 -07:00
Benjamin Sergeant
1e96edc293
(server) fix masking bug
2019-03-22 15:33:04 -07:00
Benjamin Sergeant
0afb77393b
can send TEXT message (we only support BINARY messages now)
2019-03-22 14:24:22 -07:00
Benjamin Sergeant
7614b642bb
unmasked code is broken
2019-03-22 14:24:15 -07:00
Benjamin Sergeant
bc89580dfe
remove printf + unittest fix
2019-03-22 09:56:28 -07:00
Benjamin Sergeant
358ae13a88
(server) server should not mask data when sending to client (some python client libraries enforce that and assert)
2019-03-22 09:53:56 -07:00
Benjamin Sergeant
ccf9dcba70
(server) HTTP response is malformed
2019-03-22 09:52:19 -07:00
Benjamin Sergeant
94604fad61
minor cleanup
2019-03-21 13:51:25 -07:00
Benjamin Sergeant
5c4cc7c50d
HTTP/1.1 response should contains a reason (websocket server)
...
Fix compatibility problem with websockets python library, where the response does not contains a reason
File "/.../lib/python3.7/site-packages/websockets/http.py", line 126, in read_response
version, status_code, reason = status_line[:-2].split(b' ', 2)
ValueError: not enough values to unpack (expected 3, got 2)
The above exception was the direct cause of the following exception:
websockets.exceptions.InvalidMessage: Malformed HTTP message
2019-03-21 13:43:47 -07:00
Benjamin Sergeant
9ed961ec06
cleanup, remove dead method
2019-03-21 10:06:59 -07:00
Benjamin Sergeant
e6bd8cc8c4
(cmake) add a warning about 32/64 conversion problems.
2019-03-20 21:51:38 -07:00
Benjamin Sergeant
310724c961
make PollResultType an enum class
2019-03-19 09:29:57 -07:00
Benjamin Sergeant
ceba8ae620
fix bug with isReadyToWrite
2019-03-18 22:05:04 -07:00
Benjamin Sergeant
fead661ab7
workaround bug in Socket::isReadyToWrite
2019-03-18 20:37:33 -07:00
Benjamin Sergeant
9c8c17f577
use milliseconds
2019-03-18 20:17:44 -07:00
Benjamin Sergeant
a04f83930f
ws / log subcommand name
2019-03-18 17:54:06 -07:00
Benjamin Sergeant
c421d19800
disable sigpipe on osx when writing/reading into a dead pipe
2019-03-18 17:52:01 -07:00
Benjamin Sergeant
521f02c90e
edit homebrew install steps
2019-03-18 15:45:33 -07:00
Benjamin Sergeant
c86b6074f2
add an install target
2019-03-18 15:11:08 -07:00
Benjamin Sergeant
d5d1a2c5f4
no default parameters for isReadyToWrite and isReadyToRead
2019-03-18 14:31:21 -07:00
Benjamin Sergeant
2a90e3f478
when trying to flush the send buffer, use select to wait until it is possible instead of using sleep to retry at a given frequency
2019-03-18 14:25:27 -07:00
Benjamin Sergeant
e1de1f6682
remove unused gitmodule file
2019-03-17 10:38:48 -07:00
Benjamin Sergeant
47ed5e4d4d
remove unused folder
2019-03-17 10:38:19 -07:00
Benjamin Sergeant
d77f6f5659
linux hangs when closing
2019-03-16 11:38:23 -07:00
Benjamin Sergeant
05f0045d5d
edit README
2019-03-16 11:32:46 -07:00
Benjamin Sergeant
c4afb84f6e
use pipe to abort select on Linux as well as macOS
2019-03-15 17:46:40 -07:00
Benjamin Sergeant
b0b2f9b6d2
missing assert include on Linux
2019-03-15 11:43:27 -07:00
Benjamin Sergeant
ee37feb489
cleanup
2019-03-15 11:41:57 -07:00
Benjamin Sergeant
6b8337596f
unittest fix
2019-03-14 18:58:16 -07:00
Benjamin Sergeant
250665b92e
linux compile fix
2019-03-14 18:55:33 -07:00
Benjamin Sergeant
86b83c889e
linux fixes
2019-03-14 18:54:47 -07:00
Benjamin Sergeant
c9c657c07b
build fix
2019-03-14 18:53:21 -07:00
Benjamin Sergeant
4f2babaf54
select interrupt cleanup
2019-03-14 18:37:38 -07:00
Benjamin Sergeant
1b03bf4555
linux build fix
2019-03-14 15:17:17 -07:00
Benjamin Sergeant
977b995af9
replace uint8_t with uint64_t for the send/close requests types / use named variable to index into the _fildes array
2019-03-14 15:03:57 -07:00
Benjamin Sergeant
310ab990bd
set a default close reason string
2019-03-14 14:52:51 -07:00
Benjamin Sergeant
d6b49b54d4
do not busy loop while sending
2019-03-14 14:48:08 -07:00
Benjamin Sergeant
f00cf39462
remove docker folder
2019-03-14 14:48:02 -07:00
Benjamin Sergeant
18550cf1cb
send optimization + ws file transfer test
2019-03-14 14:47:53 -07:00
Benjamin Sergeant
d6597d9f52
websocket send: make sure all data in the kernel buffer is sent
2019-03-11 22:16:55 -07:00
Benjamin Sergeant
892ea375e3
add new message type when receiving message fragments
2019-03-11 11:12:43 -07:00
Benjamin Sergeant
03abe77b5f
ws broacast_server / can set serving hostname
2019-03-10 16:36:44 -07:00
Benjamin Sergeant
e46eb8aa49
debian 9 unittest build fix
2019-03-10 16:07:48 -07:00
Benjamin Sergeant
2c4862e0f1
asan test suite fix
2019-03-09 10:45:40 -08:00
Benjamin Sergeant
fd69efa45c
unittest + warning fix
2019-03-09 10:37:14 -08:00
Benjamin Sergeant
e8aa15917f
add ability to run with asan on macOS
2019-03-05 17:07:28 -08:00
Benjamin Sergeant
b3d77f8902
fix compiler warnings in ws command line tool
2019-03-04 13:56:30 -08:00
Benjamin Sergeant
9c3b0b08ec
Socket code refactoring, plus stop polling with a 1s timeout in readBytes while we only want to poll with a 1ms timeout
2019-03-04 13:40:15 -08:00
Benjamin Sergeant
fe7d94194c
readBytes does not read bytes one by one but in chunks
2019-03-02 21:11:16 -08:00
Benjamin Sergeant
d6c26d6aa8
create a blocking + cancellable Socket::readBytes method
2019-03-02 15:16:46 -08:00
Benjamin Sergeant
8a74ddcd13
create a blocking + cancellable Socket::readBytes method
2019-03-02 11:01:51 -08:00
Benjamin Sergeant
18e7189a07
more ws doc
2019-02-28 22:07:45 -08:00
Benjamin Sergeant
785dd42c84
more ws doc
2019-02-28 22:03:48 -08:00
Benjamin Sergeant
46d00360a8
unittest on appveyor
2019-01-04 17:28:13 -08:00
Benjamin Sergeant
45b579447e
Handle Sec-WebSocket-Accept correctly
2018-10-27 10:24:48 -07:00
Benjamin Sergeant
bb0b1836cd
capture an error code and a reason when the server closes the connection
2018-10-25 18:51:19 -07:00
Benjamin Sergeant
d5c8815438
add doc about ping/pong
2018-10-25 15:14:31 -07:00
Benjamin Sergeant
ac500ed079
ping pong example: more error handling
2018-10-25 14:46:23 -07:00
Benjamin Sergeant
2bc38acbb1
ping / pong support / fix bug in dispatching received message type
2018-10-25 14:43:35 -07:00
Benjamin Sergeant
977feae1d6
Better ping/pong support
2018-10-25 14:43:35 -07:00
Benjamin Sergeant
9c872fcc3e
New ws_connect example. Close to wscat node.js tool.
2018-10-25 14:43:35 -07:00