Crate gdnative::tasks

Expand description

Runtime async support for godot-rust.

This crate contains types and functions that enable using async code with godot-rust.

§Safety assumptions

This crate assumes that all user non-Rust code follow the official threading guidelines.

Structs§

  • Adapter for async methods that implements Method and can be registered.
  • Context for creating yield-like futures in async methods.
  • A helper structure for working around naming future types. See Spawner::spawn.
  • Adapter for methods whose arguments are statically determined. If the arguments would fail to type check, the method will print the errors to Godot’s debug console and return null.
  • Future that can be awaited for a signal or a resume call from Godot. See Context for methods that return this future.

Traits§

  • Trait for async methods. When exported, such methods return FunctionState-like objects that can be manually resumed or yielded to completion.
  • Trait for async methods whose argument lists are known at compile time. Not to be confused with a “static method”. When exported, such methods return FunctionState-like objects that can be manually resumed or yielded to completion.

Functions§

  • Adds required supporting NativeScript classes to handle. This must be called once and only once per initialization.
  • Sets the global executor for the current thread to a Box<dyn LocalSpawn>. This value is leaked.
  • Sets the global executor for the current thread to a &'static dyn LocalSpawn.
  • Releases all observers still in use. This should be called in the godot_gdnative_terminate callback.