Tectu / malloy

A cross-platform C++20 library providing embeddable server & client components for HTTP and WebSocket.
BSD 3-Clause "New" or "Revised" License
66 stars 8 forks source link

[draft] add support for asio CompletionToken api for client #97

Open 0x00002a opened 2 years ago

0x00002a commented 2 years ago

This implements support for the asio CompletionToken api as discussed in #74.

There are some issues currently with coroutines. The only compiler I can get working with them currently is gcc and it won't compile one of the tests (it crashes with an ICE). There is an example using coroutines, but it throws a bad_alloc exception with an unreadable stack trace, I'm not sure if this is an issue with how I wrote the example or asio.

Major breaking changes

Other major changes

Notable internal changes

Things that could use improvement (IMO)

Tectu commented 2 years ago

Wow... that is a substantial amount of work... I'll have a proper look at this today/tomorrow/... (should be fine as I should have a lot more time at hand the next few weeks).

One thing I noticed while just browsing this: It would seem that the Ubuntu test-suites on boost versions >= 1.74.0 hang (from the quick looks of it if it's either a shared build or a TLS-enabeld build (?)). This would be similar to #89

Tectu commented 2 years ago

@0x00002a any news/update on this? :)