ready

crates.io version build status downloads docs.rs docs

Async readiness traits. Useful when implementing async state machine internals, without directly relying on custom Futures structs. For example romio::TcpListener and romio::TcpStream.

Examples

Basic usage ```rust

![feature(futures_api)]

use std::pin::Pin; use std::task::{Poll, Waker}; use futures::prelude::*; use std::io;

struct Fut;

impl Future for Fut { type Output = (); fn poll(self: Pin<&mut Self>, waker: &Waker) -> Poll { Poll::Ready(()) } }

impl ready::Ready for Fut { type Ok = (); type Err = io::Error; fn poll_ready(&self, waker: &Waker) -> Poll> { Poll::Ready(Ok(())) } } ```

Installation

sh $ cargo add ready

Safety

This crate uses #![deny(unsafe_code)] to ensure everything is implemented in 100% Safe Rust.

Contributing

Want to join us? Check out our "Contributing" guide and take a look at some of these issues:

References

None.

License

MIT OR Apache-2.0