You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
714 B
25 lines
714 B
4 years ago
|
use super::*;
|
||
|
use std::collections::HashMap;
|
||
|
use std::path::PathBuf;
|
||
|
|
||
|
/// Contains a graph of all paths and inodes that were successfully stat'd
|
||
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||
|
pub struct INodeInfoGraph
|
||
|
{
|
||
|
inodes: HashMap<INode, FsInfo>, // FsInfo contains parent INode that can be used to look up again in this table
|
||
|
paths: HashMap<PathBuf, INode>, // map absolute paths to INodes to be looked up in `inodes` table.
|
||
|
}
|
||
|
|
||
|
impl INodeInfoGraph
|
||
|
{
|
||
|
/// Create a new graph from these linked `HashMap`s
|
||
|
#[inline] pub fn new(inodes: HashMap<INode, FsInfo>, paths: HashMap<PathBuf, INode>) -> Self
|
||
|
{
|
||
|
Self {
|
||
|
inodes,
|
||
|
paths
|
||
|
}
|
||
|
}
|
||
|
//TODO: Order by largest size, get and iter fns etc
|
||
|
}
|