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§

block
clock
prelude
queue
sync
task
timer
utils

Structs§

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

Traits§

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