Commit Graph

25 Commits

Author SHA1 Message Date
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
6f90425154 linux compile fix 2019-03-14 18:55:33 -07:00
a0e35ad644 build fix 2019-03-14 18:53:21 -07:00
b91dc77d6f select interrupt cleanup 2019-03-14 18:37:38 -07:00
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
08c2cdbf1d send can fail silently when sending would block (EWOULDBLOCK return for send) (#18)
* try to use a pipe for communication

* flush send buffer on the background thread

* cleanup

* linux fix / linux still use event fd for now

* cleanup
2019-03-13 23:09:45 -07:00
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
0c226c7629 readBytes does not read bytes one by one but in chunks 2019-03-02 21:11:16 -08:00
86cc76388e create a blocking + cancellable Socket::readBytes method 2019-03-02 11:01:51 -08:00
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
a8b6573f96 hearbeat 2019-01-24 12:42:49 -08:00
5e1c150024 windows compile fix 2019-01-05 21:02:55 -08:00
0fd06bb592 int -> ssize_t for socker recv and send 2019-01-05 20:53:50 -08:00
3eef8fba27 unittest on appveyor 2019-01-04 17:28:13 -08:00
64f649d1f9 split handshake code into its own files, so that Transport file is less massive 2019-01-02 20:07:54 -08:00
097c7e5397 server unittest for validating client request / new timeout cancellation handling (need refactoring) 2019-01-02 16:08:32 -08:00
2b136b2981 refactoring + cancellation was buggy during http upgrade 2019-01-02 07:45:07 -08:00
ea07afcc0b can create a socket from a fd 2018-12-29 21:53:33 -08:00
cbadecab33 non blocking dns lookup 2018-12-14 16:28:17 -08:00
8c079787f0 add cancellation support while connecting, to speed up WebSocket::stop 2018-12-09 17:56:20 -08:00
62528e6a0b http upgrade and connections use non blocking sockets 2018-12-09 14:07:40 -08:00
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
71b40c6d6c Windows support (no TLS yet) 2018-10-08 21:44:54 -07:00
09af729c07 g++ build fixes 2018-10-01 14:46:11 -07:00
9b8d6cedfe First import 2018-09-27 14:57:19 -07:00