pub enum XlsxPathSource {
SharedFile,
DirectMmap,
}Expand description
Selects the retained backing source used for an XLSX filesystem path.
This policy applies only to path-based Calamine XLSX loads. Byte and reader inputs always retain one shared immutable byte allocation.
Variants§
Retain one opened file and serialize physical seeks and reads while giving each XLSX consumer an independent logical cursor.
This mutation-safe option is the default. Renaming or replacing the pathname is safe because the opened handle is retained.
DirectMmap
Retain the opened file and map it read-only.
Mapping is attempted explicitly and errors are returned without falling
back to SharedFile. The caller guarantees that the
opened underlying file/inode is not destructively modified or truncated
for the adapter’s lifetime. Violating this contract can terminate the
process; in particular, Unix may deliver SIGBUS when a mapped page past
a new end-of-file is accessed. Renaming or replacing the pathname is safe
because the original opened handle remains retained.
Trait Implementations§
Source§impl Clone for XlsxPathSource
impl Clone for XlsxPathSource
Source§fn clone(&self) -> XlsxPathSource
fn clone(&self) -> XlsxPathSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for XlsxPathSource
Source§impl Debug for XlsxPathSource
impl Debug for XlsxPathSource
Source§impl Default for XlsxPathSource
impl Default for XlsxPathSource
Source§fn default() -> XlsxPathSource
fn default() -> XlsxPathSource
impl Eq for XlsxPathSource
Source§impl PartialEq for XlsxPathSource
impl PartialEq for XlsxPathSource
impl StructuralPartialEq for XlsxPathSource
Auto Trait Implementations§
impl Freeze for XlsxPathSource
impl RefUnwindSafe for XlsxPathSource
impl Send for XlsxPathSource
impl Sync for XlsxPathSource
impl Unpin for XlsxPathSource
impl UnsafeUnpin for XlsxPathSource
impl UnwindSafe for XlsxPathSource
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more