Skip to main content

ListDirOptions

Struct ListDirOptions 

Source
pub struct ListDirOptions { /* private fields */ }
Expand description

Shared directory traversal policy for collection and paged visiting. Defaults to immediate children only. Collection retains native batching; visiting delivers owned directory pages incrementally through callbacks. Unspecified budgets inherit the client’s resource limits. Require no symlink components when false; metadata’s final-component option has a deliberately different name.

ⓘ
use vfsi_core::api::ListDirOptions;
ListDirOptions::new().with_follow_symlinks(false);

Implementations§

Source§

impl ListDirOptions

Source

pub const fn unlimited() -> ListDirOptions

Explicitly disable entry, path-byte and depth limits. This can permit unbounded collection or traversal; prefer finite application budgets.

Source

pub const fn new() -> ListDirOptions

Source

pub const fn with_recursive(self, value: bool) -> ListDirOptions

Descend into directories, without following entry symlinks.

Whether resolving an input directory path may follow symlinks (default: true). False requires no-follow resolution, including parent components; backends unable to guarantee it return Unsupported. Recursive entry symlinks are never traversed regardless of this setting. Buffered recursive/lifecycle listdir enforces false when reopening directories.

Source

pub const fn with_max_entries(self, value: usize) -> ListDirOptions

Shared entry budget across every input root.

Source

pub const fn with_max_path_bytes(self, value: usize) -> ListDirOptions

Shared path-byte budget. Recursive visiting also charges root paths.

Source

pub const fn with_max_depth(self, value: DepthLimit) -> ListDirOptions

Root listing is depth 0; depth 1 also lists immediate subdirectories. In recursive mode, encountering a directory beyond this limit is an error unless truncate_at_max_depth(true) is selected. Shallow mode ignores depth settings and intentionally visits only immediate children. Use a checked finite depth or explicitly select an unlimited depth.

Source

pub const fn with_truncate_at_max_depth(self, value: bool) -> ListDirOptions

Intentionally stop descending at the depth limit instead of failing.

Source

pub const fn with_fields(self, value: AttrMask) -> ListDirOptions

Select metadata returned with directory pages, without per-entry stat calls. Defaults to common stat fields. MODE is always requested for traversal; backends may return additional fields or omit unsupported ones.

Source

pub const fn recursive(self) -> bool

Source

pub fn fields(self) -> AttrMask

Source

pub fn max_entries(self) -> Option<usize>

Configured override; None inherits the client’s entry budget.

Source

pub fn max_path_bytes(self) -> Option<usize>

Configured override; None inherits the client’s path-byte budget.

Source

pub const fn max_depth(self) -> Option<DepthLimit>

Configured override; None inherits the client’s descent limit.

Source

pub fn max_entries_or(self, default: usize) -> usize

Source

pub fn max_path_bytes_or(self, default: usize) -> usize

Source

pub fn max_depth_or(self, default: DepthLimit) -> DepthLimit

Source

pub const fn truncate_at_max_depth(self) -> bool

Source

pub fn resolve(self, limits: ResourceLimits) -> ListDirOptions

Apply client defaults while preserving explicit zero and unlimited budgets.

Source

pub fn walk_options(self, limits: ResourceLimits) -> ListDirOptions

Resolve a recursive traversal against the client’s defaults.

Source

pub fn directory_options(self, limits: ResourceLimits) -> ListDirOptions

Resolve a shallow listing against the client’s defaults.

Trait Implementations§

Source§

impl Clone for ListDirOptions

Source§

fn clone(&self) -> ListDirOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ListDirOptions

Source§

impl Debug for ListDirOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for ListDirOptions

Source§

fn default() -> ListDirOptions

Returns the “default value” for a type. Read more
Source§

impl Eq for ListDirOptions

Source§

impl From<ListDirOptions> for WalkOptions

Source§

fn from(listing: ListDirOptions) -> WalkOptions

Converts to this type from the input type.
Source§

impl PartialEq for ListDirOptions

Source§

fn eq(&self, other: &ListDirOptions) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ListDirOptions

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.