mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-24 00:00:11 +02:00
Adds: - oneshot::Sender::close - mpsc::Receiver::recv - mpsc::Sender::send Also renames `poll_next` to `poll_recv`. Refs: #1210
50 lines
974 B
Rust
50 lines
974 B
Rust
#![doc(html_root_url = "https://docs.rs/tokio-sync/0.1.5")]
|
|
#![deny(
|
|
missing_debug_implementations,
|
|
missing_docs,
|
|
unreachable_pub,
|
|
rust_2018_idioms
|
|
)]
|
|
#![cfg_attr(test, deny(warnings))]
|
|
#![doc(test(no_crate_inject, attr(deny(rust_2018_idioms))))]
|
|
#![feature(async_await)]
|
|
|
|
//! Asynchronous synchronization primitives.
|
|
//!
|
|
//! This crate provides primitives for synchronizing asynchronous tasks.
|
|
|
|
macro_rules! debug {
|
|
($($t:tt)*) => {
|
|
if false {
|
|
println!($($t)*);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// Unwrap a ready value or propagate `Poll::Pending`.
|
|
#[macro_export]
|
|
macro_rules! ready {
|
|
($e:expr) => {{
|
|
use std::task::Poll::{Pending, Ready};
|
|
|
|
match $e {
|
|
Ready(v) => v,
|
|
Pending => return Pending,
|
|
}
|
|
}};
|
|
}
|
|
|
|
macro_rules! if_fuzz {
|
|
($($t:tt)*) => {{
|
|
if false { $($t)* }
|
|
}}
|
|
}
|
|
|
|
pub mod lock;
|
|
mod loom;
|
|
pub mod mpsc;
|
|
pub mod oneshot;
|
|
pub mod semaphore;
|
|
pub mod task;
|
|
pub mod watch;
|