Benjamin Sergeant
55c65b08bf
- WebSocket::send() sends message in TEXT mode by default
...
- WebSocketMessage sets a new binary field, which tells whether the received incoming message is binary or text
2019-06-09 11:56:47 -07:00
Benjamin Sergeant
d50125c62d
Feature/http async ( #90 )
...
* unittest working / uses shared_ptr for a bunch of things 🗿
* fix command line tools
* fix ws + add doc
* add more logging
2019-06-05 17:04:24 -07:00
Kumamon38
49fd2a9e53
Clean ( #82 )
...
Thanks
2019-05-21 12:14:58 -07:00
Kumamon38
3990d3bcbf
fix close bug and tests : let poll do his job when closing ( #79 )
...
* let poll do his job when closing
* try fix test
* try fix test
* Update IXWebSocketTransport.cpp
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* change state immediately, and send close frame after
* add immediate close test
* disable test for windows
2019-05-21 09:34:08 -07:00
Benjamin Sergeant
aecd5e9c94
bring back socket mutex which is needed, some CI failures are happening without it
2019-05-16 15:58:20 -07:00
Benjamin Sergeant
e0edca43d5
disable socket mutex usage in WebSocketTransport
2019-05-16 15:46:32 -07:00
Benjamin Sergeant
42bdfb51c3
Add constants for closing code and messages
2019-05-16 12:46:53 -07:00
Benjamin Sergeant
671c9f805f
use a regular mutex instead of a recursive one + stop properly
2019-05-15 19:26:02 -07:00
Benjamin Sergeant
3755d29a45
enum class HttpErrorCode derives from int
2019-05-15 16:50:00 -07:00
Benjamin Sergeant
a33ecd1338
recursive mutex + enable test that was breaking on Ubuntu Xenial + gcc + tsan
2019-05-15 16:01:05 -07:00
Benjamin Sergeant
9315eb5289
more protection against socket when closing
2019-05-15 15:18:46 -07:00
Kumamon38
12f6cd878d
save timepoints after connect and not in contructor, adjusted tests ( #72 )
...
* save timepoints after connect and not in contructor, adjusted tests
* move call into setReadyState
* more time to detect client close in test
2019-05-13 09:08:46 -07:00
Dimon4eg
9aacebbbaf
fix for Windows ( #69 )
...
* fix for Windows
* fix condition
* make condition only on Windows
2019-05-12 22:21:56 -07:00
Dimon4eg
4c4f99606e
use C++11 enums ( #67 )
...
* use C++11 enums
* small rename
* update tests
* update tests
* update ws
* update ws
* update README.md
2019-05-11 14:22:06 -07:00
Dimon4eg
a64b7b0c4a
minor improvements ( #66 )
...
* minor improvements
* fix build
* improve tests code
2019-05-11 12:20:58 -07:00
Kumamon38
cb1d1bfd85
fix ping, fix send frame close ( #49 )
...
* fix ping, fix send frame close
* fixes for data race on _closeCode etc. and fix test
* fixing one TC
* fix waiting forever if no time to change of readyState, and poll never end
* add 1005 code if no status code received
* fixes for 1005 code
* fix test issue
* fix macOS issue
* revert to master tests and renaming
2019-05-09 09:21:05 -07:00
Dimon4eg
fa7f0fadde
Remove redundant iostream includes ( #60 )
2019-05-08 13:33:21 -07:00
Dimon4eg
c65cfd3d26
Use LUrlParser to fix issue of Windows ( #53 )
...
LGTM
2019-05-06 14:45:02 -07:00
Dimon4eg
753fc845ac
Fix for windows ( #50 )
2019-05-06 09:13:42 -07:00
Benjamin Sergeant
14ec8522ef
remove un-needed _backgroundThreadRunning variable
2019-05-01 11:09:25 -07:00
Benjamin Sergeant
b178ba16af
fix indentation of greatestCommonDivisor
2019-04-25 16:21:36 -07:00
Kumamon38
8ff1339b80
add boolean and add missing protocol error close constant ( #41 )
2019-04-23 04:31:55 -07:00
Benjamin Sergeant
d48bf9249b
indentation / comestic changes
2019-04-19 16:57:38 -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
10b2d10dbd
(doc) Add more doc to SocketServer
2019-04-17 20:36:26 -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
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
9ed961ec06
cleanup, remove dead method
2019-03-21 10:06:59 -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
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
4f2babaf54
select interrupt cleanup
2019-03-14 18:37:38 -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
18550cf1cb
send optimization + ws file transfer test
2019-03-14 14:47:53 -07:00