Commit Graph

20 Commits

Author SHA1 Message Date
Martin Chang 4210dbce07
Revert OS X CI fix (#721) 2021-02-17 09:58:33 +08:00
Martin Chang a2142dd93e
Coroutine support (#693)
* app().registerHttpHandler() accepts coroutine as handlers
* HttpController can use coroutine as handlers'
* Http request handlers with coroutine catches exception instead of crashing the entire app
* DbClient now has execSqlCoro that is awaitable
* DbClient now has newTransactionCoro that is awaitable
* HttpClient have awaitable sendRequestCoro
* WebSocketClient have awaitable connectToServerCoro
* WebSocketClient have setAsyncMessageHandler and setAsyncConnectionClosedHandler
* drogon::AsyncTask and drogon::Task<T> as our corutine types
* Related tests
* Misc

Future work
* Coroutine for WebSocket server
* Known issues

co_future() and sync_wait may crash. It looks like GCC bug but I'm not sure.
Workarround: Make an coroutine of AsyncTask. Then launch said coroutine.
Not sure why wrapping the exact same thing in function crashes things.

Co-authored-by: an-tao <antao2002@gmail.com>
2021-02-06 17:05:58 +08:00
Martin Chang a060351f7a
Fix CI fail on OS X (#699) 2021-02-03 13:10:08 +08:00
An Tao 43e7b3fec0
Add --path-to-namespace option to drogon_ctl for creating views (#607) 2020-10-12 21:51:39 +08:00
An Tao 7b1712003d
Modify drogon_ctl to show more compilation information (#441) 2020-05-21 21:14:40 +08:00
An Tao c43ba9e514
Add support for brotli compression (#406) 2020-04-04 18:15:15 +08:00
interfector18 4c8dbdbb85
Ninja (#391)
Use ninja to build if found on system (in /bin/ninja)
Make make simulate ninja's default parallelism

Should help with travis_ci as default build environments have 2 cores.
2020-03-17 00:54:30 +08:00
An Tao 58702dc41e
Port drogon to Windows (#335)
Co-authored-by: mcirsta <mforce2@gmail.com>
2020-01-25 11:58:20 +08:00
An Tao 6571e55631
Adding unit tests to Travis CI (#310) 2019-12-07 17:43:00 +08:00
WojciechMigda c9076220ac Fix size_t underflow (#272)
This fixes abnormal behaviour when controller without namespace
is being created
2019-10-06 09:43:08 +08:00
An Tao 323bf0693a
Use the IOThreadStorage for responses caching and fast database clients storage (#267) 2019-10-03 10:17:54 +08:00
An Tao 10db494556
Add database tests in the travis CI (#214) 2019-08-16 23:41:03 +08:00
antao 0a27394cca Change version to 0.9.33 2019-05-05 15:43:17 +08:00
antao e87c9a75f6 Modify the implementation of WebSocket 2019-04-08 16:37:24 +08:00
antao 3a587ab90b Modify the pipeling test 2019-04-07 12:15:02 +08:00
antao b96eb04859 Add WebSocket client support 2019-04-07 00:46:22 +08:00
antao 92fa1f83e4 Update test.sh and config.example.json 2019-03-31 18:30:06 +08:00
antao 7ffd47101f Update test.sh for testing drogon_ctl 2019-03-31 00:27:12 +08:00
antao fd5c02c89f Update README.md and the submodule trantor 2019-03-28 09:52:35 +08:00
antao 1f8be1ce8c Add some Travis CI tests 2019-03-26 15:25:22 +08:00