diff options
Diffstat (limited to 'tokio-fs/src/read_dir.rs')
-rw-r--r-- | tokio-fs/src/read_dir.rs | 91 |
1 files changed, 37 insertions, 54 deletions
diff --git a/tokio-fs/src/read_dir.rs b/tokio-fs/src/read_dir.rs index 05629d79..855e2332 100644 --- a/tokio-fs/src/read_dir.rs +++ b/tokio-fs/src/read_dir.rs @@ -1,3 +1,4 @@ +use futures::{Future, Poll, Stream}; use std::ffi::OsString; use std::fs::{self, DirEntry as StdDirEntry, FileType, Metadata, ReadDir as StdReadDir}; use std::io; @@ -5,8 +6,6 @@ use std::io; use std::os::unix::fs::DirEntryExt; use std::path::{Path, PathBuf}; -use futures::{Future, Poll, Stream}; - /// Returns a stream over the entries within a directory. /// /// This is an async version of [`std::fs::read_dir`][std] @@ -45,7 +44,7 @@ where type Error = io::Error; fn poll(&mut self) -> Poll<Self::Item, io::Error> { - ::blocking_io(|| Ok(ReadDir(fs::read_dir(&self.path)?))) + crate::blocking_io(|| Ok(ReadDir(fs::read_dir(&self.path)?))) } } @@ -73,7 +72,7 @@ impl Stream for ReadDir { type Error = io::Error; fn poll(&mut self) -> Poll<Option<Self::Item>, Self::Error> { - ::blocking_io(|| match self.0.next() { + crate::blocking_io(|| match self.0.next() { Some(Err(err)) => Err(err), Some(Ok(item)) => Ok(Some(DirEntry(item))), None => Ok(None), @@ -112,18 +111,14 @@ impl DirEntry { /// # Examples /// /// ``` - /// # extern crate futures; - /// # extern crate tokio; - /// # extern crate tokio_fs; /// use futures::{Future, Stream}; /// - /// fn main() { - /// let fut = tokio_fs::read_dir(".").flatten_stream().for_each(|dir| { - /// println!("{:?}", dir.path()); - /// Ok(()) - /// }).map_err(|err| { eprintln!("Error: {:?}", err); () }); - /// tokio::run(fut); - /// } + /// let fut = tokio_fs::read_dir(".").flatten_stream().for_each(|dir| { + /// println!("{:?}", dir.path()); + /// Ok(()) + /// }).map_err(|err| { eprintln!("Error: {:?}", err); () }); + /// + /// tokio::run(fut); /// ``` /// /// This prints output like: @@ -145,19 +140,15 @@ impl DirEntry { /// # Examples /// /// ``` - /// # extern crate futures; - /// # extern crate tokio; - /// # extern crate tokio_fs; /// use futures::{Future, Stream}; /// - /// fn main() { - /// let fut = tokio_fs::read_dir(".").flatten_stream().for_each(|dir| { - /// // Here, `dir` is a `DirEntry`. - /// println!("{:?}", dir.file_name()); - /// Ok(()) - /// }).map_err(|err| { eprintln!("Error: {:?}", err); () }); - /// tokio::run(fut); - /// } + /// let fut = tokio_fs::read_dir(".").flatten_stream().for_each(|dir| { + /// // Here, `dir` is a `DirEntry`. + /// println!("{:?}", dir.file_name()); + /// Ok(()) + /// }).map_err(|err| { eprintln!("Error: {:?}", err); () }); + /// + /// tokio::run(fut); /// ``` pub fn file_name(&self) -> OsString { self.0.file_name() @@ -177,25 +168,21 @@ impl DirEntry { /// # Examples /// /// ``` - /// # extern crate futures; - /// # extern crate tokio; - /// # extern crate tokio_fs; /// use futures::{Future, Stream}; /// use futures::future::poll_fn; /// - /// fn main() { - /// let fut = tokio_fs::read_dir(".").flatten_stream().for_each(|dir| { - /// // Here, `dir` is a `DirEntry`. - /// let path = dir.path(); - /// poll_fn(move || dir.poll_metadata()).map(move |metadata| { - /// println!("{:?}: {:?}", path, metadata.permissions()); - /// }) - /// }).map_err(|err| { eprintln!("Error: {:?}", err); () }); - /// tokio::run(fut); - /// } + /// let fut = tokio_fs::read_dir(".").flatten_stream().for_each(|dir| { + /// // Here, `dir` is a `DirEntry`. + /// let path = dir.path(); + /// poll_fn(move || dir.poll_metadata()).map(move |metadata| { + /// println!("{:?}: {:?}", path, metadata.permissions()); + /// }) + /// }).map_err(|err| { eprintln!("Error: {:?}", err); () }); + /// + /// tokio::run(fut); /// ``` pub fn poll_metadata(&self) -> Poll<Metadata, io::Error> { - ::blocking_io(|| self.0.metadata()) + crate::blocking_io(|| self.0.metadata()) } /// Return the file type for the file that this entry points at. @@ -212,26 +199,22 @@ impl DirEntry { /// # Examples /// /// ``` - /// # extern crate futures; - /// # extern crate tokio; - /// # extern crate tokio_fs; /// use futures::{Future, Stream}; /// use futures::future::poll_fn; /// - /// fn main() { - /// let fut = tokio_fs::read_dir(".").flatten_stream().for_each(|dir| { - /// // Here, `dir` is a `DirEntry`. - /// let path = dir.path(); - /// poll_fn(move || dir.poll_file_type()).map(move |file_type| { - /// // Now let's show our entry's file type! - /// println!("{:?}: {:?}", path, file_type); - /// }) - /// }).map_err(|err| { eprintln!("Error: {:?}", err); () }); - /// tokio::run(fut); - /// } + /// let fut = tokio_fs::read_dir(".").flatten_stream().for_each(|dir| { + /// // Here, `dir` is a `DirEntry`. + /// let path = dir.path(); + /// poll_fn(move || dir.poll_file_type()).map(move |file_type| { + /// // Now let's show our entry's file type! + /// println!("{:?}: {:?}", path, file_type); + /// }) + /// }).map_err(|err| { eprintln!("Error: {:?}", err); () }); + /// + /// tokio::run(fut); /// ``` pub fn poll_file_type(&self) -> Poll<FileType, io::Error> { - ::blocking_io(|| self.0.file_type()) + crate::blocking_io(|| self.0.file_type()) } } |