ready

Crates.ioready
lib.rsready
version1.1.0
sourcesrc
created_at2019-03-07 21:30:37.444846
updated_at2019-03-07 22:00:58.44388
descriptionAsync ready states.
homepage
repositoryhttps://github.com/yoshuawuyts/ready
max_upload_size
id119374
size33,822
Yosh (yoshuawuyts)

documentation

https://docs.rs/ready

README

ready

crates.io version build status downloads docs.rs docs

Async readiness traits. Useful when implementing async state machines that can later be wrapped in dedicated futures.

Examples

Basic usage

#![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<Self::Output> {
    Poll::Ready(())
  }
}

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

Installation

$ 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

Commit count: 31

cargo fmt