jbaldwin / libcoro

C++20 coroutine library
Apache License 2.0
596 stars 61 forks source link

Introduce concepts::io_executor #238

Closed jbaldwin closed 9 months ago

jbaldwin commented 9 months ago

The dns resolver hard links against coro::io_scheduler via coro::task_container. Since the concepts::executor was introduced a while ago to make it possible to pass in different executors (or even user defined executors) the resolver has apparently been forgotten about. Lets introduce an io_executor (needs poll()) and make the resolver use an agnostic concepts::executor.

The other reason for doing this is that the windows build is failing when LIBCORO_FEATURE_PLATFORM=OFF and building as a SHARED library since the coro::io_scheduler is sneaking in via the resolver class but then ultimately isn't compiled since its excluded from the build.

Closes #237