Commit Graph
100 Commits
Author SHA1 Message Date
Benjamin Sergeant 217d0650f4 bump version 2019-08-26 10:20:01 -07:00
Benjamin Sergeant 45d7bb34d7 ws connect has a new option to send HTTP headers + use WebSocketHttpHeaders instead of unordered_map<string, string> 2019-08-26 10:19:09 -07:00
Benjamin Sergeant 2e32319236 CobraConnection: sets a unique id field for all messages sent to [cobra](https://github.com/machinezone/cobra).
CobraConnection: sets a counter as a field for each event published.
2019-08-26 09:51:37 -07:00
Benjamin Sergeant 8eb0d0b7c3 put windows poll in the global namespace, not ix namespace 2019-08-26 09:51:37 -07:00
Benjamin Sergeant 193da820b2 Windows: use select instead of WSAPoll, through a poll wrapper 2019-08-22 10:34:17 -07:00
Benjamin Sergeant c6198305d4 add new makefile target to make git tags 2019-08-20 09:21:30 -07:00
Benjamin Sergeant c77d6ae3f5 bump version + talk about Windows fix in the changelog 2019-08-20 09:20:02 -07:00
Benjamin Sergeant c72b2dbd6b add poll alias to WSAPoll on Windows 2019-08-19 22:26:25 -07:00
Benjamin Sergeant 835523f77b fix #101 / wrong include in IXSocket.cpp on Windows 2019-08-19 22:19:39 -07:00
Benjamin Sergeant ec8a35b587 README tweaks 2019-08-19 20:35:26 -07:00
Benjamin Sergeant aca18995d1 README / formatting 2019-08-19 20:33:56 -07:00
Benjamin Sergeant f9178f58aa README.md: add reference to WSAStartup to initialize the networking system 2019-08-19 09:47:59 -07:00
Benjamin Sergeant 2477946e68 (CI) linux: install libmbedtls 2019-08-14 21:49:43 -07:00
Benjamin Sergeant 7c4d040384 (CI) try to build Linux on Ubuntu Bionic 2019-08-14 21:44:49 -07:00
Benjamin Sergeant 197cf8ed36 bump version 2019-08-14 21:36:20 -07:00
Benjamin Sergeant dd0d7c268f CobraMetricThreadedPublisher _enable flag is an atomic, and CobraMetricsPublisher is enabled by default 2019-08-14 19:54:30 -07:00
Benjamin Sergeant b2bfccac0a clang format 2019-08-13 10:59:18 -07:00
Benjamin Sergeant 8b8b352e61 fix #99 / Connect error descriptions are invalid 2019-08-13 10:49:11 -07:00
Benjamin Sergeant 0403dd354b update readme 2019-08-06 20:55:44 -07:00
Benjamin Sergeant b78b453504 fix #98 2019-08-02 17:11:53 -07:00
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