Commit Graph
100 Commits
Author SHA1 Message Date
Benjamin Sergeant 5cc21c87fb 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 505e0c79d9 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 ca9d59c1c1 add better line editing capability to ws connect, thanks to linenoise-cpp 2019-07-25 11:54:50 -07:00
Benjamin Sergeant 8319dbb56a README.md / cosmetic 2019-07-23 14:04:45 -07:00
Benjamin Sergeant b1b6697c37 fix typo in README 2019-07-23 13:52:16 -07:00
Benjamin Sergeant 280716394d README: add reference to conan/vcpk to the build section 2019-07-22 20:41:06 -07:00
Benjamin Sergeant 5795f72eab do not update homebrew when installing a package 2019-07-03 14:49:39 -07:00
Benjamin Sergeant 7e16c8959b ci / get mbedtls from homebrew on mac 2019-07-03 14:46:05 -07:00
Benjamin Sergeant dfc188a24d do not use mbed tls for the unittest 2019-07-03 14:39:46 -07:00
Benjamin Sergeant d18bae0c95 add new docker file to run the unittest with tsan on latest Ubuntu 2019-06-30 23:37:25 -07:00
Benjamin Sergeant 747746cba1 dns / use cancellable instead of blocking 2019-06-30 23:26:14 -07:00
Benjamin Sergeant 5b73edec8c make IXDNSLookup more robust 2019-06-26 19:12:48 -07:00
Benjamin Sergeant 3750781bce simplify IXDNSLookup 2019-06-26 16:25:07 -07:00
Benjamin Sergeant e646e53dac use poll instead of select in SocketServer 2019-06-25 17:18:24 -07:00
Benjamin Sergeant 6b8aa43ec0 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 e8a20c7e8a refactor select code + add protection against large fds (cf Android 9) 2019-06-25 15:41:39 -07:00
Benjamin Sergeant 0423ed01a6 Add extra check in IXWebSocketCloseTest.cpp 2019-06-25 14:10:39 -07:00
Benjamin Sergeant 4a600c2611 select refactoring IXSocket::select -> IXSocket::poll 2019-06-25 10:16:40 -07:00
Benjamin Sergeant e5faa23d4f disable CI on Windows 2019-06-25 00:28:11 -07:00
Benjamin Sergeant b2f9c219b1 cmake use_tls fix 2019-06-24 23:34:31 -07:00
Benjamin Sergeant 77d65760f0 do not build mbedtls on ci 2019-06-24 23:28:35 -07:00
Benjamin Sergeant 98d0460af0 try to disable TLS for unittesting 2019-06-24 23:27:44 -07:00
Benjamin Sergeant de8d93341c CI / build zlib and mbedtls locally 2019-06-24 23:17:19 -07:00
Benjamin Sergeant 0b6a773087 CI work 2019-06-24 10:17:57 -07:00
Benjamin Sergeant 37c64841ff fix warning 2019-04-13 21:16:04 -07:00
Benjamin Sergeant 8f8dd076ff 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 51fcf65424 (ws) add subcommands: cobra subscribe, and cobra subscribe to statsd bridge 2019-04-08 21:56:01 -07:00
Benjamin Sergeant 56b19fa2b0 linux ci tentative fix 2019-04-03 22:02:10 -07:00
Benjamin Sergeant fe38dab405 better unittest runner / can run through lldb and produce a junit XML artifact 2019-03-29 15:54:05 -07:00
Benjamin Sergeant 6cb2aaab65 Bump sleep time in test shell script 2019-03-29 09:36:56 -07:00
Benjamin Sergeant c604c4591f (redis_subscribe) in verbose mode, received message gets printed with a 'received: ' header 2019-03-29 09:35:19 -07:00
Benjamin Sergeant f0f54434cb Add clarification notice about third party modules 2019-03-29 09:34:17 -07:00
Benjamin Sergeant f9de85c257 offline version of remark-latest 2019-03-28 16:06:43 -07:00
Benjamin Sergeant 44f817646e redis conf slides 2019-03-28 14:17:19 -07:00
Benjamin Sergeant 91786779f8 slides 2019-03-27 16:27:52 -07:00
Benjamin Sergeant 27d0aed2c9 add redis-conf slides 2019-03-27 15:53:55 -07:00
Benjamin Sergeant 7767c96a9e ws redis command improvements + test script 2019-03-27 13:41:46 -07:00
Benjamin Sergeant 3388bb50e1 (ws) redis_subscribe and redis_publish can take a password + display subscribe response 2019-03-26 09:33:22 -07:00
Benjamin Sergeant 1554c587b3 update doc 2019-03-24 21:48:14 -07:00
Benjamin Sergeant ce70e73a34 remove Formula folder
Homebrew stuff is at https://github.com/bsergean/homebrew-IXWebSocket
2019-03-24 21:43:38 -07:00
Benjamin Sergeant 804ec9246f (server) fix masking bug 2019-03-22 15:33:04 -07:00
Benjamin Sergeant f029321664 can send TEXT message (we only support BINARY messages now) 2019-03-22 14:24:22 -07:00
Benjamin Sergeant d41b7f64e4 unmasked code is broken 2019-03-22 14:24:15 -07:00
Benjamin Sergeant 0366d1afb9 remove printf + unittest fix 2019-03-22 09:56:28 -07:00
Benjamin Sergeant 4ef3073ca4 (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 68a53aa884 (server) HTTP response is malformed 2019-03-22 09:52:19 -07:00
Benjamin Sergeant 2358b3ff26 minor cleanup 2019-03-21 13:51:25 -07:00
Benjamin Sergeant 00ed1d2817 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 5b6fdb6526 cleanup, remove dead method 2019-03-21 10:06:59 -07:00
Benjamin Sergeant fe700d1e7b (cmake) add a warning about 32/64 conversion problems. 2019-03-20 21:51:38 -07:00
Benjamin Sergeant 523a6e989a make PollResultType an enum class 2019-03-19 09:29:57 -07:00
Benjamin Sergeant 13f4aee5ee fix bug with isReadyToWrite 2019-03-18 22:05:04 -07:00
Benjamin Sergeant bbc0e2106c workaround bug in Socket::isReadyToWrite 2019-03-18 20:37:33 -07:00
Benjamin Sergeant eb6ee52aaa use milliseconds 2019-03-18 20:17:44 -07:00
Benjamin Sergeant 80e330d4c3 ws / log subcommand name 2019-03-18 17:54:06 -07:00
Benjamin Sergeant a3adc49d8c disable sigpipe on osx when writing/reading into a dead pipe 2019-03-18 17:52:01 -07:00
Benjamin Sergeant 9c6eeed0f8 edit homebrew install steps 2019-03-18 15:45:33 -07:00
Benjamin Sergeant 705e9a93f8 add an install target 2019-03-18 15:11:08 -07:00
Benjamin Sergeant 572a217050 no default parameters for isReadyToWrite and isReadyToRead 2019-03-18 14:31:21 -07:00
Benjamin Sergeant d58798e36c 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 f1f08eced0 remove unused gitmodule file 2019-03-17 10:38:48 -07:00
Benjamin Sergeant 6c2da9f0e4 remove unused folder 2019-03-17 10:38:19 -07:00
Benjamin Sergeant e158635f57 linux hangs when closing 2019-03-16 11:38:23 -07:00
Benjamin Sergeant 5a241e77da edit README 2019-03-16 11:32:46 -07:00
Benjamin Sergeant 68e397ab34 use pipe to abort select on Linux as well as macOS 2019-03-15 17:46:40 -07:00
Benjamin Sergeant 4c78b94cd8 missing assert include on Linux 2019-03-15 11:43:27 -07:00
Benjamin Sergeant 3a9cc9b079 cleanup 2019-03-15 11:41:57 -07:00
Benjamin Sergeant 6ff8c6e7f3 unittest fix 2019-03-14 18:58:16 -07:00
Benjamin Sergeant 6f90425154 linux compile fix 2019-03-14 18:55:33 -07:00
Benjamin Sergeant 49ec9b1d9e linux fixes 2019-03-14 18:54:47 -07:00
Benjamin Sergeant a0e35ad644 build fix 2019-03-14 18:53:21 -07:00
Benjamin Sergeant b91dc77d6f select interrupt cleanup 2019-03-14 18:37:38 -07:00
Benjamin Sergeant b462b5a5c8 linux build fix 2019-03-14 15:17:17 -07:00
Benjamin Sergeant b5e7fb20b6 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 9d245add9c set a default close reason string 2019-03-14 14:52:51 -07:00
Benjamin Sergeant ded03ed743 do not busy loop while sending 2019-03-14 14:48:08 -07:00
Benjamin Sergeant 6cc260c04e remove docker folder 2019-03-14 14:48:02 -07:00
Benjamin Sergeant 5b4354a6f3 send optimization + ws file transfer test 2019-03-14 14:47:53 -07:00
Benjamin Sergeant dedbeb3eab websocket send: make sure all data in the kernel buffer is sent 2019-03-11 22:16:55 -07:00
Benjamin Sergeant d88bf16500 add new message type when receiving message fragments 2019-03-11 11:12:43 -07:00
Benjamin Sergeant ad9c8318a7 ws broacast_server / can set serving hostname 2019-03-10 16:36:44 -07:00
Benjamin Sergeant f2778c0729 debian 9 unittest build fix 2019-03-10 16:07:48 -07:00
Benjamin Sergeant 03ca73658c asan test suite fix 2019-03-09 10:45:40 -08:00
Benjamin Sergeant 1da5f6c30c unittest + warning fix 2019-03-09 10:37:14 -08:00
Benjamin Sergeant bee8a99a34 add ability to run with asan on macOS 2019-03-05 17:07:28 -08:00
Benjamin Sergeant f5efd41dc1 fix compiler warnings in ws command line tool 2019-03-04 13:56:30 -08:00
Benjamin Sergeant c202f8cf1d 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 0c226c7629 readBytes does not read bytes one by one but in chunks 2019-03-02 21:11:16 -08:00
Benjamin Sergeant a9e772f330 create a blocking + cancellable Socket::readBytes method 2019-03-02 15:16:46 -08:00
Benjamin Sergeant 86cc76388e create a blocking + cancellable Socket::readBytes method 2019-03-02 11:01:51 -08:00
Benjamin Sergeant 0f4e9af172 more ws doc 2019-02-28 22:07:45 -08:00
Benjamin Sergeant 3a1352c8ec more ws doc 2019-02-28 22:03:48 -08:00
Benjamin Sergeant 3eef8fba27 unittest on appveyor 2019-01-04 17:28:13 -08:00
Benjamin Sergeant 912d926260 Handle Sec-WebSocket-Accept correctly 2018-10-27 10:24:48 -07:00
Benjamin Sergeant a8dfd640a7 capture an error code and a reason when the server closes the connection 2018-10-25 18:51:19 -07:00
Benjamin Sergeant 390044b716 add doc about ping/pong 2018-10-25 15:14:31 -07:00
Benjamin Sergeant 8ac36e6ee5 ping pong example: more error handling 2018-10-25 14:46:23 -07:00
Benjamin Sergeant 208c693088 ping / pong support / fix bug in dispatching received message type 2018-10-25 14:43:35 -07:00
Benjamin Sergeant eae2f7d113 Better ping/pong support 2018-10-25 14:43:35 -07:00
Benjamin Sergeant 45f92115f9 New ws_connect example. Close to wscat node.js tool. 2018-10-25 14:43:35 -07:00