status-im / nim-chronos

Chronos - An efficient library for asynchronous programming
https://status-im.github.io/nim-chronos/docs/chronos
Apache License 2.0
353 stars 51 forks source link

Introduce chronos/internals, move some code #453

Closed arnetheduck closed 11 months ago

arnetheduck commented 11 months ago

This PR breaks the include dependencies between asyncfutures2 and asyncmacros2 by moving the dispatcher and some other code to a new module.

This step makes it easier to implement asyncraises support for future utilities like allFutures etc avoiding the need to play tricks with include order etc.

Future PR:s may further articulate the difference between "internal" stuff subject to API breakage and regular public API intended for end users (rather than advanced integrators).

arnetheduck commented 11 months ago

discussed with @cheatfate, moving on to the next PR