Benjamin Sergeant
9ab7bc652a
(server) attempt to fix broken macOS unittest on travis CI
2019-04-22 09:36:16 -07:00
Benjamin Sergeant
d48bf9249b
indentation / comestic changes
2019-04-19 16:57:38 -07:00
Benjamin Sergeant
4564173b75
(socket server) wait for all connections threads to be terminated before exiting stop method
2019-04-19 16:31:33 -07:00
Benjamin Sergeant
b041042473
fix Linux cast warning
2019-04-19 15:03:49 -07:00
Benjamin Sergeant
b0139c2217
add locks around Socket::send and Socket::recv to see if it helps with thread sanitizer error in Linux CI
2019-04-19 14:28:51 -07:00
Benjamin Sergeant
bb442021cf
fix bad merge in IXWebSocketTransport.cpp ...
2019-04-19 09:41:16 -07:00
Benjamin Sergeant
91106b7456
Socket::Poll does not need a callback
2019-04-19 09:32:49 -07:00
Kumamon38
309b5ee1b3
Ping timeout use constant ( #36 )
...
* use constant for ping timeout
* change close code types
2019-04-19 09:16:25 -07:00
Kumamon38
e3d0c899d3
fix close code/reason issue ( #34 )
...
* fix close code/reason issue
* added code 1006 for abnormal closure
2019-04-18 10:02:31 -07:00
Kumamon38
d7595b0dd0
Real ping ( #32 )
...
* close method change and fix code
* missing mutex
* wip
* renaming and fixes
* renaming, fixes
* added enablePong/disablePong, add tests
* added new test cases
* add 1 test case
* fix gcd name to greatestCommonDivisor
* move ping and ping timeout checks into socket poll, local var in test cases and indent fixes
* indent issue
2019-04-18 09:24:16 -07:00
Benjamin Sergeant
c367435073
docker + linux build fix
2019-04-17 22:52:03 -07:00
Benjamin Sergeant
dc812c384e
setter method does not need to return anything, make it void
2019-04-17 20:36:26 -07:00
Benjamin Sergeant
10b2d10dbd
(doc) Add more doc to SocketServer
2019-04-17 20:36:26 -07:00
Benjamin Sergeant
f96babc6a6
websocket server: closed connection threads are joined properly
2019-04-17 20:36:26 -07:00
Benjamin Sergeant
4e2e14fb22
Bug/30 server connection problem ( #31 )
...
* use threads instead of std::async, need to cleanup threads
* less buggy server connection per thread system
2019-04-16 22:19:44 -07:00
Benjamin Sergeant
bcf2fc1812
make closeWireSize a default parameter of WebSocketTransport::close
2019-04-16 09:55:12 -07:00
Kumamon38
935e6791a3
close method change and fix code ( #28 )
...
* close method change and fix code
* missing mutex
2019-04-16 08:58:34 -07:00
Dimon4eg
fbb7c012a3
fix windows build ( #29 )
...
* fix windows build
* fix for Unix
* Fix build if TLS is OFF
* add OpenSSL req to ws
* Fix build on Mac
* fix tests for windows
2019-04-16 08:51:57 -07:00
Benjamin Sergeant
d8e83caffc
fix warning
2019-04-13 21:16:04 -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
ee25bd0f92
Feature/connection state ( #25 )
...
* (cmake) add a warning about 32/64 conversion problems.
* fix typo
* New connection state for server code + fix OpenSSL double init bug
* update README
2019-03-20 18:34:24 -07:00
Benjamin Sergeant
e77b9176f3
Feature/redis ( #23 )
...
* Fix warning
* (cmake) add a warning about 32/64 conversion problems.
* simple redis clients
* can publish to redis
* redis subscribe
* display messages received per second
* verbose flag
* (cmake) use clang only compile option -Wshorten-64-to-32 when compiling with clang
2019-03-20 14:29:02 -07:00
Michael Lu
afe8b966ad
Fixed heartbeat typos ( #22 )
2019-03-19 21:31:43 -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
c421d19800
disable sigpipe on osx when writing/reading into a dead pipe
2019-03-18 17:52:01 -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
d77f6f5659
linux hangs when closing
2019-03-16 11:38:23 -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
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