Commit Graph

187 Commits

Author SHA1 Message Date
Benjamin Sergeant
a5179cd17f do not busy loop while sending 2019-03-14 14:37:43 -07:00
Benjamin Sergeant
e158175819 remove docker folder 2019-03-14 13:47:19 -07:00
Benjamin Sergeant
ec2f229489 send optimization + ws file transfer test 2019-03-14 13:47:03 -07:00
Benjamin Sergeant
ead9616d04 cleanup 2019-03-13 23:03:52 -07:00
Benjamin Sergeant
922d58eb59 linux fix / linux still use event fd for now 2019-03-13 17:23:05 -07:00
Benjamin Sergeant
d1a7b9a985 cleanup 2019-03-13 12:05:17 -07:00
Benjamin Sergeant
11092027cd flush send buffer on the background thread 2019-03-12 21:49:26 -07:00
Benjamin Sergeant
4de3ec995e try to use a pipe for communication 2019-03-12 18:32:42 -07:00
Benjamin Sergeant
d6597d9f52 websocket send: make sure all data in the kernel buffer is sent 2019-03-11 22:16:55 -07:00
Benjamin Sergeant
892ea375e3 add new message type when receiving message fragments 2019-03-11 11:12:43 -07:00
Benjamin Sergeant
03abe77b5f ws broacast_server / can set serving hostname 2019-03-10 16:36:44 -07:00
Benjamin Sergeant
e46eb8aa49 debian 9 unittest build fix 2019-03-10 16:07:48 -07:00
Benjamin Sergeant
2c4862e0f1 asan test suite fix 2019-03-09 10:45:40 -08:00
Benjamin Sergeant
fd69efa45c unittest + warning fix 2019-03-09 10:37:14 -08:00
Benjamin Sergeant
e8aa15917f add ability to run with asan on macOS 2019-03-05 17:07:28 -08:00
Benjamin Sergeant
b3d77f8902 fix compiler warnings in ws command line tool 2019-03-04 13:56:30 -08:00
Benjamin Sergeant
9c3b0b08ec 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
Benjamin Sergeant
fe7d94194c readBytes does not read bytes one by one but in chunks 2019-03-02 21:11:16 -08:00
Benjamin Sergeant
d6c26d6aa8 create a blocking + cancellable Socket::readBytes method 2019-03-02 15:16:46 -08:00
Benjamin Sergeant
8a74ddcd13 create a blocking + cancellable Socket::readBytes method 2019-03-02 11:01:51 -08:00
Benjamin Sergeant
18e7189a07 more ws doc 2019-02-28 22:07:45 -08:00
Benjamin Sergeant
785dd42c84 more ws doc 2019-02-28 22:03:48 -08:00
Benjamin Sergeant
0cff5065d9
Feature/http (#16)
* add skeleton and broken http client code.

GET returns "Resource temporarily unavailable" errors...

* linux compile fix

* can GET some pages

* Update formatting in README.md

* unittest for sending large messages

* document bug

* 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

* Update README.md

Add note about message fragmentation.

* Feature/ws cli (#15)

* New command line tool for transfering files / still very beta.

* add readme

* use cli11 for argument parsing

* json -> msgpack

* stop using base64 and use binary which can be stored in message pack

* add target for building with homebrew

* all CMakeLists are referenced by the top level one

* add ws_chat and ws_connect sub commands to ws

* cleanup

* add echo and broadcast server as ws sub-commands

* add gitignore

* comments

* ping pong added to ws

* mv cobra_publisher under ws folder

* Update README.md

* linux build fix

* linux build fix

* move http_client to a ws sub-command

* simple HTTP post support (urlencode parameters)

* can specify extra headers

* chunk encoding / simple redirect support / -I option

* follow redirects is optional

* make README vim markdown plugin friendly

* cleanup argument parsing + add socket creation factory

* add missing file

* http gzip compression

* cleanup

* doc

* 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-28 21:54:03 -08:00
Benjamin Sergeant
e881b82511
Update README.md 2019-02-22 21:53:29 -08:00
Benjamin Sergeant
d5551e5d68 mv cobra_publisher under ws folder 2019-02-22 21:51:03 -08:00
Benjamin Sergeant
e8583000b8 ping pong added to ws 2019-02-22 21:47:57 -08:00
Benjamin Sergeant
d642ef1a89 comments 2019-02-22 21:27:49 -08:00
Benjamin Sergeant
2df118022d add gitignore 2019-02-22 21:26:25 -08:00
Benjamin Sergeant
95457c8f4c add echo and broadcast server as ws sub-commands 2019-02-22 21:25:56 -08:00
Benjamin Sergeant
0a45b7787f cleanup 2019-02-22 20:51:22 -08:00
Benjamin Sergeant
b8c397e180 add ws_chat and ws_connect sub commands to ws 2019-02-22 20:49:26 -08:00
Benjamin Sergeant
90105fa2b3 all CMakeLists are referenced by the top level one 2019-02-21 22:21:29 -08:00
Benjamin Sergeant
24859fef8a add target for building with homebrew 2019-02-21 22:05:30 -08:00
Benjamin Sergeant
73d7280723
Feature/ws cli (#15)
* New command line tool for transfering files / still very beta.

* add readme

* use cli11 for argument parsing

* json -> msgpack

* stop using base64 and use binary which can be stored in message pack
2019-02-21 21:24:53 -08:00
Benjamin Sergeant
262de49c3c
Update README.md
Add note about message fragmentation.
2019-02-21 14:08:27 -08: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
505dd6d50f document bug 2019-02-16 10:33:37 -08:00
Benjamin Sergeant
3f8027b65c unittest for sending large messages 2019-02-16 10:32:02 -08:00
Benjamin Sergeant
0f2c765f45
Update formatting in README.md 2019-02-05 23:04:45 -08:00
Benjamin Sergeant
49077f8f44 more conf in CI 2019-01-29 17:50:19 -08:00
Benjamin Sergeant
6a23b8530f get free port that can be used by non root users (> 1024) 2019-01-28 15:24:19 -08:00
Benjamin Sergeant
ae841af91a use dynamically generated port number to configure servers in unittest 2019-01-28 15:24:19 -08:00
Benjamin Sergeant
44f38849b2
Merge pull request #13 from machinezone/user/bsergeant/poll
User/bsergeant/poll
2019-01-27 10:47:38 -08:00
Benjamin Sergeant
ee12fbdb5f windows build fix 2019-01-27 10:46:02 -08:00
Benjamin Sergeant
316c630830 constexpr to declare number of fds 2019-01-26 21:01:36 -08:00
Benjamin Sergeant
1ea5db6110 linux fix 2019-01-26 20:57:48 -08:00
Benjamin Sergeant
986d9a00c0 remove shutdown call 2019-01-26 20:54:23 -08:00
Benjamin Sergeant
7a05a11014 rebase poll branch 2019-01-26 20:50:25 -08:00
Benjamin Sergeant
f09434263c insensitive string compare when validating server connection header 2019-01-25 16:17:51 -08:00
Benjamin Sergeant
335f594165
Merge pull request #12 from machinezone/user/bsergeant/heart-beat
Add an optional heartbeat
2019-01-25 16:14:28 -08:00