From a09b52204faeabe564e8890942f5b934db4e62a2 Mon Sep 17 00:00:00 2001 From: sharkdp Date: Sat, 21 Sep 2019 11:37:46 +0200 Subject: Make UniqueId private --- src/walk/mod.rs | 9 +++++---- src/walk/unique_id.rs | 5 +++++ src/walk/unix.rs | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 src/walk/unique_id.rs diff --git a/src/walk/mod.rs b/src/walk/mod.rs index 87e4bcb..889eceb 100644 --- a/src/walk/mod.rs +++ b/src/walk/mod.rs @@ -5,11 +5,9 @@ use std::thread; use crossbeam_channel as channel; -use rayon; -use rayon::prelude::*; +use rayon::{self, prelude::*}; -#[derive(Eq, PartialEq, Hash)] -pub struct UniqueID(u64, u64); +mod unique_id; #[cfg(target_os = "windows")] mod windows; @@ -21,10 +19,13 @@ mod unix; #[cfg(not(target_os = "windows"))] pub use self::unix::*; +use unique_id::UniqueID; + pub enum Err { NoMetadataForPath(PathBuf), CouldNotReadDir(PathBuf), } + enum Message { SizeEntry(Option, u64), Error { err: Err }, diff --git a/src/walk/unique_id.rs b/src/walk/unique_id.rs new file mode 100644 index 0000000..59d3cc2 --- /dev/null +++ b/src/walk/unique_id.rs @@ -0,0 +1,5 @@ +#[derive(Eq, PartialEq, Hash)] +pub struct UniqueID { + pub device: u64, + pub inode: u64, +} diff --git a/src/walk/unix.rs b/src/walk/unix.rs index f320fd1..6d918d7 100644 --- a/src/walk/unix.rs +++ b/src/walk/unix.rs @@ -1,13 +1,16 @@ use std::os::unix::fs::MetadataExt; -use super::UniqueID; +use crate::walk::unique_id::UniqueID; pub fn generate_unique_id(metadata: &std::fs::Metadata) -> Option { // If the entry has more than one hard link, generate // a unique ID consisting of device and inode in order // not to count this entry twice. if metadata.is_file() && metadata.nlink() > 1 { - Some(UniqueID(metadata.dev(), metadata.ino())) + Some(UniqueID { + device: metadata.dev(), + inode: metadata.ino(), + }) } else { None } -- cgit v1.2.3