Benjamin Sergeant
de87fa34dc
Implement SSL server with OpenSSL backend / still flaky
2019-10-01 15:43:37 -07:00
Benjamin Sergeant
d60f5de231
Add --tls option to pass to ws server command, to enable/disable tls
2019-10-01 13:54:46 -07:00
Benjamin Sergeant
22b4e6a8fb
Socket Factory has only one function which works for server and client code, and can do tls for both
2019-09-30 22:06:46 -07:00
Benjamin Sergeant
1ed39677ce
SocketServer::handleConnection takes an std::shared_ptr<Socket> instead of a file descriptor
2019-09-30 21:48:55 -07:00
Benjamin Sergeant
58d6e4bb26
all ws subcommands propagate tls options to servers (unimplemented) or ws or http client (implemented) (contributed by Matt DeBoer)
2019-09-30 18:21:20 -07:00
Benjamin Sergeant
fbf80f4ab1
Add simple Redis Server which is only capable of doing publish / subscribe. New ws redis_server sub-command to use it. The server is used in the unittest, so that we can run on CI in environment where redis isn not available like github actions env.
2019-09-23 21:04:01 -07:00
Benjamin Sergeant
6f2fe49a7b
reformat everything with clang-format
2019-09-23 10:25:23 -07:00
Benjamin Sergeant
15a1347531
use poll instead of select in SocketServer
2019-06-25 17:18:24 -07:00
Benjamin Sergeant
691502d7ad
Feature/httpd ( #94 )
...
* Stub code for http server
* can send a response, cannot process body yet
* write headers to the response
* remove commented code
* add simple test + set default http handler
* tweak CI + unittest
* add missing file
* rewrite http::trim in a simple way
* doc
2019-06-23 14:54:21 -07:00
Benjamin Sergeant
160d3869a9
server code / add dedicated thread to close/join terminated connection threads
2019-05-13 17:17:35 -07:00
Benjamin Sergeant
205c8c15bd
socket server / used wrong mutex to protect _connectionsThreads
2019-05-06 12:24:20 -07:00
Dimon4eg
78198a0147
Fix windows ( #51 )
...
* More fixes for Windows
* fix tests for windows
* qf for linux
* clean up
2019-05-06 12:22:57 -07:00
Dimon4eg
753fc845ac
Fix for windows ( #50 )
2019-05-06 09:13:42 -07:00
Benjamin Sergeant
4fe07579b9
Fix data races in DNSLookup (tsan)
2019-04-24 21:53:31 -07:00
Benjamin Sergeant
f563d14134
better server termination / another try at preventing thread join failures
2019-04-24 09:45:53 -07:00
Benjamin Sergeant
9ab7bc652a
(server) attempt to fix broken macOS unittest on travis CI
2019-04-22 09:36:16 -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
c367435073
docker + linux build fix
2019-04-17 22:52:03 -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
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
3a77e96a05
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
3f8027b65c
unittest for sending large messages
2019-02-16 10:32:02 -08:00
Benjamin Sergeant
3c9ec0aed0
close server socket on exit
2019-01-24 21:16:32 -08:00
Benjamin Sergeant
1fa75d7fb2
check select errors better
2019-01-07 11:18:00 -08:00
Benjamin Sergeant
98c579da03
make a class hierarchy for server code (IXWebSocketServer <- IXSocketServer)
2019-01-06 12:09:31 -08:00