Source Edit

Implements the async and multisync macros for asyncdispatch.

Imports

macros, strutils, asyncfutures

Macros

  1. macro async(prc: untyped): untyped

Macro which processes async procedures into the appropriate iterators and yield statements. Source Edit

  1. macro multisync(prc: untyped): untyped

Macro which processes async procedures into both asynchronous and synchronous procedures.

The generated async procedures use the async macro, whereas the generated synchronous procedures simply strip off the await calls.

Source Edit

Templates

  1. template await(f: typed): untyped {.used.}

Source Edit

  1. template await[T](f: Future[T]): auto {.used.}

Source Edit