All Projects → Matthias247 → Futures Intrusive

Matthias247 / Futures Intrusive

Licence: other
Synchronization primitives for Futures and async/await based on intrusive collections

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Futures Intrusive

Swiftcoroutine
Swift coroutines for iOS, macOS and Linux.
Stars: ✭ 690 (+403.65%)
Mutual labels:  async, multithreading, async-await
Preact Cli Plugin Async
Preact CLI plugin that adds converts async/await to Promises.
Stars: ✭ 44 (-67.88%)
Mutual labels:  async, async-await
Uvloop
Ultra fast asyncio event loop.
Stars: ✭ 8,246 (+5918.98%)
Mutual labels:  async, async-await
Nim Chronos
Chronos - An efficient library for asynchronous programming
Stars: ✭ 136 (-0.73%)
Mutual labels:  async, async-await
P Map
Map over promises concurrently
Stars: ✭ 639 (+366.42%)
Mutual labels:  async, async-await
Then
🎬 Tame async code with battle-tested promises
Stars: ✭ 908 (+562.77%)
Mutual labels:  async, async-await
Ea Async
EA Async implements async-await methods in the JVM.
Stars: ✭ 1,085 (+691.97%)
Mutual labels:  async, async-await
Trio
Trio – a friendly Python library for async concurrency and I/O
Stars: ✭ 4,404 (+3114.6%)
Mutual labels:  async, async-await
Sync
Synchronization primitives for PHP based on Amp.
Stars: ✭ 67 (-51.09%)
Mutual labels:  async, synchronization
Radon
Object oriented state management solution for front-end development.
Stars: ✭ 80 (-41.61%)
Mutual labels:  async, async-await
Aiormq
Pure python AMQP 0.9.1 asynchronous client library
Stars: ✭ 112 (-18.25%)
Mutual labels:  async, async-await
Chillout
Reduce CPU usage by non-blocking async loop and psychologically speed up in JavaScript
Stars: ✭ 565 (+312.41%)
Mutual labels:  async, async-await
Posterus
Composable async primitives with cancelation, control over scheduling, and coroutines. Superior replacement for JS Promises.
Stars: ✭ 536 (+291.24%)
Mutual labels:  async, async-await
Actix Net
A collection of lower-level libraries for composable network services.
Stars: ✭ 415 (+202.92%)
Mutual labels:  async, multithreading
Rubico
[a]synchronous functional programming
Stars: ✭ 133 (-2.92%)
Mutual labels:  async, async-await
Create React Redux App
This project was bootstrapped with Create React App and Redux, Sass Structure.
Stars: ✭ 46 (-66.42%)
Mutual labels:  async, async-await
P Iteration
Utilities that make array iteration easy when using async/await or Promises
Stars: ✭ 337 (+145.99%)
Mutual labels:  async, async-await
Concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
Stars: ✭ 340 (+148.18%)
Mutual labels:  multithreading, async-await
Tascalate Async Await
Async / Await asynchronous programming model for Java similar to the functionality available in C# 5. The implementation is based on continuations for Java (see my other projects).
Stars: ✭ 60 (-56.2%)
Mutual labels:  async, async-await
Async Backplane
Simple, Erlang-inspired fault-tolerance framework for Rust Futures.
Stars: ✭ 113 (-17.52%)
Mutual labels:  async, async-await

futures-intrusive

This crate provides a variety of Futures-based and async/await compatible types that are based on the idea of intrusive collections:

  • Channels in a variety of flavors:
    • Oneshot
    • Multi-Producer Multi-Consumer (MPMC)
    • State Broadcast
  • Synchronization Primitives:
    • Manual Reset Event
    • Mutex
    • Semaphore
  • A timer

Please refer to the documentation for details.

In addition to the documentation the examples provide a quick overview on how the primitives can be used.

Usage

Add this to your Cargo.toml:

[dependencies]
futures-intrusive = "^0.4"

In order to use the crate in a no-std environment, it needs to be compiled without default features:

[dependencies]
futures-intrusive = { version = "^0.4", default-features = false }

The crate defines a feature alloc, which can be used in order to re-enable alloc features. Also defined is std, which can be used in order to re-enable std features.

Minimum Rust version

The minimum required Rust version is 1.36, due to reliance on stable Future, Context and Waker types.

License

Licensed under either of

at your option.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].