rlua-async
provides a way for Rust code using rlua
to seamlessly interface
with Lua code, the only condition being that the Lua code must not make use of
coroutines, as it is the way the async
handling is proxied through Lua.
async
builtins available to Lua codeThe first thing you need to do is to make async
builtins available to Lua
code. You can do it via eg.
ContextExt::create_async_function
.
Once these builtins are available, they can be called by Lua code. This Lua code
must not use coroutines, as the coroutines are an essential part of how
rlua-async
works internally.
In addition to this, to actually make the code async
, it is also required to
retrieve a Future
when trying to call functions -- otherwise, evaluation is
not going to be asynchronous.
To do that, you can use methods like
FunctionExt::call_async
.