#send-sync #async #future

pinned

Synchronisation primitives for !Send tasks

1 unstable release

0.1.0 Sep 28, 2022

#1444 in Asynchronous

Download history 36379/week @ 2025-11-13 33202/week @ 2025-11-20 21893/week @ 2025-11-27 37030/week @ 2025-12-04 37298/week @ 2025-12-11 29565/week @ 2025-12-18 11700/week @ 2025-12-25 21011/week @ 2026-01-01 36706/week @ 2026-01-08 34320/week @ 2026-01-15 42207/week @ 2026-01-22 47341/week @ 2026-01-29 49231/week @ 2026-02-05 46090/week @ 2026-02-12 51376/week @ 2026-02-19 50522/week @ 2026-02-26

208,265 downloads per month
Used in 259 crates (5 directly)

MIT/Apache

48KB
923 lines

Task synchronisation primitives for pinned tasks.

This crate provides the following task synchronisation mechanisms for !Send futures:

  • Barrier: Ensures multiple tasks to wait until all tasks have reached a point in the program before continuing execution of all together.
  • RwLock: Provides a mutual exclusion mechanism which allows multiple readers at the same time, while allowing only one writer at a time.
  • mpsc: A channel that supports sending multiple values from multiple producers to a single receiver.
  • oneshot: A channel to send one single value from a producer to a receiver.

Pinned

Synchronisation primitives for !Send tasks.

This crate provides the following task synchronisation mechanisms for !Send futures:

  • Barrier: Ensures multiple tasks to wait until all tasks have reached a point in the program before continuing execution of all together.
  • RwLock: Provides a mutual exclusion mechanism which allows multiple readers at the same time, while allowing only one writer at a time.
  • mpsc: A channel that supports sending multiple values from multiple producers to a single receiver.
  • oneshot: A channel to send one single value from a producer to a receiver.

Dependencies

~0.8–1.6MB
~31K SLoC