Benjamin Sergeant
932bb732e0
Feature/send large message ( #14 )
...
* introduce send fragment
* can pass a fin frame
* can send messages which are a perfect multiple of the chunk size
* set fin only for last fragment
* cleanup
* last fragment should be of type CONTINUATION
* Add simple send and receive programs
* speedups receiving + better way to wait for thing
* receive speedup by using linked list of chunks instead of large array
* document bug
* use chunks to receive data
* trailing spaces
2019-02-20 18:59:07 -08:00
Benjamin Sergeant
8983dd97a1
use dynamically generated port number to configure servers in unittest
2019-01-28 15:24:19 -08:00
Benjamin Sergeant
885d245afb
heartbeat correct
2019-01-25 16:11:39 -08:00
Benjamin Sergeant
75d01c0c11
close server socket on exit
2019-01-24 21:16:32 -08:00
Benjamin Sergeant
a8b6573f96
hearbeat
2019-01-24 12:42:49 -08:00
Benjamin Sergeant
a0f15bfb56
C++14 + use make_unique and make_shared to make shared pointers
2019-01-11 21:25:06 -08:00
Benjamin Sergeant
8a0afef825
check select errors better
2019-01-07 11:18:00 -08:00
Benjamin Sergeant
3eef8fba27
unittest on appveyor
2019-01-04 17:28:13 -08:00
Benjamin Sergeant
bce5ef2dca
timeout is configurable
2019-01-03 18:33:08 -08:00
Benjamin Sergeant
64f649d1f9
split handshake code into its own files, so that Transport file is less massive
2019-01-02 20:07:54 -08:00
Benjamin Sergeant
097c7e5397
server unittest for validating client request / new timeout cancellation handling (need refactoring)
2019-01-02 16:08:32 -08:00
Benjamin Sergeant
b1710bfa31
server per message deflate support
2019-01-02 08:12:29 -08:00
Benjamin Sergeant
2b136b2981
refactoring + cancellation was buggy during http upgrade
2019-01-02 07:45:07 -08:00
Benjamin Sergeant
d279aecb87
cleanup / remove printf, add mutex, remove hardcoded values, can pass in a binding host
2019-01-01 14:28:41 -08:00
Benjamin Sergeant
3443e82812
more cleanup to propagate server connection error and let onOpen callback execute
2018-12-31 12:43:47 -08:00
Benjamin Sergeant
379a845166
cleanup / use a websocket instead of raw websockettransport
2018-12-30 22:00:49 -08:00
Benjamin Sergeant
266cf93584
can accept multiple connection / server can send data back to client
2018-12-30 21:16:05 -08:00
Benjamin Sergeant
0ee71e9a09
proof of concept server implementation
2018-12-29 23:15:27 -08:00
Benjamin Sergeant
ea07afcc0b
can create a socket from a fd
2018-12-29 21:53:33 -08:00
Benjamin Sergeant
2d46a0605b
fix warning: field '_eventCallback' will be initialized after field '_publishMode'
2018-12-23 14:18:53 -08:00
Benjamin Sergeant
cbadecab33
non blocking dns lookup
2018-12-14 16:28:17 -08:00
Benjamin Sergeant
8c079787f0
add cancellation support while connecting, to speed up WebSocket::stop
2018-12-09 17:56:20 -08:00
Benjamin Sergeant
62528e6a0b
http upgrade and connections use non blocking sockets
2018-12-09 14:07:40 -08:00
Benjamin Sergeant
49bf8bd830
threading race condition fixes, detected by TSAN
2018-12-06 08:27:28 -08:00
Benjamin Sergeant
c64bc20bb5
cleanup
2018-11-14 15:52:28 -08:00
Benjamin Sergeant
54da891f79
per-message deflate compression fixes
2018-11-13 17:46:05 -08:00
Benjamin Sergeant
9cb1d03411
tweaks doc / license + send proper error code when closing the connecion
2018-11-12 09:00:55 -08:00
Benjamin Sergeant
4fed156b90
per message deflate support (with zlib)
2018-11-09 18:42:09 -08:00
Benjamin Sergeant
de8bcd36e8
(satori_publisher) better error handling
2018-11-07 14:54:44 -08:00
Benjamin Sergeant
f12e655cf8
Add DockerFile + parse rsv1 field
2018-11-07 11:45:17 -08:00
Benjamin Sergeant
cf0045a483
stopping connection on Linux does not close the socket, which can create problem when re-starting the connection
2018-11-01 17:02:49 -07: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
eae2f7d113
Better ping/pong support
2018-10-25 14:43:35 -07:00
Benjamin Sergeant
71b40c6d6c
Windows support (no TLS yet)
2018-10-08 21:44:54 -07:00
Benjamin Sergeant
af12089e7a
make TLS support optional
2018-10-08 15:24:36 -07:00
Benjamin Sergeant
10ce046b0f
(openssl) verify that the certificate we are getting match the domain we are requesting
2018-10-05 12:08:45 -07:00
Benjamin Sergeant
9b8d6cedfe
First import
2018-09-27 14:57:19 -07:00