Crate mvsync

source ·
Expand description

Simple asynchronous task manager abstraction.

Provides an abstraction layer over executing asynchronous tasks over multiple threads, without re-creating threads, providing a speed increase over manually creating threads.

This crate aims to provide both a lower-level, more manual API which is highly configurable, and a higher-level API via the [command-buffers] feature.

§Features:

  • queue: Manages tasks once they are submitted. Efficiently spreads them across threads. Prevents waiting tasks from clogging the workers, by not executing they are ready.

  • task: Abstraction layer over functions, which can be synchronous or asynchronous, take in parameters, and return a result.

  • sync: Synchronization objects which provide a way of implementing control flow.

  • block: Very simple ‘poll to completion’ awaiter.

  • utils: Some simple async utility functions.

  • command buffers: A higher-level API abstraction layer, which allows making custom tasks, as well as chaining tasks.

Modules§

Structs§

  • Main structure for managing multithreaded asynchronous tasks.
  • A struct with configuration parameters (specifications) for MVSync.

Traits§

  • A marker trait for types that can be used with MVSync.