use super::File; use futures::{Future, Poll}; use std::fs::File as StdFile; use std::io; use std::path::Path; /// Future returned by `File::create` and resolves to a `File` instance. #[derive(Debug)] pub struct CreateFuture

{ path: P, } impl

CreateFuture

where P: AsRef + Send + 'static, { pub(crate) fn new(path: P) -> Self { CreateFuture { path } } } impl

Future for CreateFuture

where P: AsRef + Send + 'static, { type Item = File; type Error = io::Error; fn poll(&mut self) -> Poll { let std = try_ready!(::blocking_io(|| { StdFile::create(&self.path) })); let file = File::from_std(std); Ok(file.into()) } }