#async #future #pinned

pinned

Synchronisation primitives for !Send tasks

1 unstable release

0.1.0 Sep 28, 2022

#1028 in Asynchronous

Download history 5000/week @ 2024-12-21 5013/week @ 2024-12-28 7099/week @ 2025-01-04 7916/week @ 2025-01-11 7337/week @ 2025-01-18 7746/week @ 2025-01-25 7985/week @ 2025-02-01 8623/week @ 2025-02-08 8260/week @ 2025-02-15 8156/week @ 2025-02-22 9057/week @ 2025-03-01 9069/week @ 2025-03-08 10095/week @ 2025-03-15 8575/week @ 2025-03-22 8543/week @ 2025-03-29 7299/week @ 2025-04-05

35,732 downloads per month
Used in 226 crates (4 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

~1–1.8MB
~35K SLoC