Struct CasefoldCache

Source
struct CasefoldCache(BTreeMap<Vec<u8>, CString>);
Expand description

Per-directory cache for PassthroughFs::ascii_casefold_lookup().

The key of the underlying BTreeMap is a lower-cased file name in the direcoty. The value is the case-sensitive file name stored in the host file system. We assume that if PassthroughFs has exclusive access to the filesystem, this cache exhaustively covers all file names that exist within the directory. So every PassthroughFs’s handler that adds or removes files in the directory is expected to update this cache.

Tuple Fields§

§0: BTreeMap<Vec<u8>, CString>

Implementations§

Source§

impl CasefoldCache

Source

fn new(dir: &InodeData) -> Result<Self>

Source

fn insert(&mut self, name: &CStr)

Source

fn lookup(&self, name: &[u8]) -> Option<CString>

Source

fn remove(&mut self, name: &CStr)

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V