#[non_exhaustive]pub enum FilenameEncoding {
Direct,
UrlEncode,
Base64,
}Expand description
File-naming encoding strategy for entity IDs.
Determines how entity IDs are encoded into filesystem-safe filenames.
Empty IDs are rejected by every strategy (they would produce a hidden
dot-file invisible to list_ids).
§Case-insensitive filesystems
All strategies produce case-sensitive filenames. On case-insensitive
filesystems (macOS / Windows defaults), two IDs that differ only in case
(Direct), or whose encoded forms differ only in case (Base64), map to
the same file and silently overwrite each other.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Direct
Use the ID directly as the filename.
Only IDs consisting entirely of ASCII alphanumeric characters, -, and
_ are accepted; any other character causes a StoreError::FilenameEncoding
error.
UrlEncode
URL-encode the ID so that special characters become percent-escaped sequences that are safe to use in a filename.
Base64
Base64-encode the ID using the URL-safe alphabet without padding.
Trait Implementations§
Source§impl Clone for FilenameEncoding
impl Clone for FilenameEncoding
Source§fn clone(&self) -> FilenameEncoding
fn clone(&self) -> FilenameEncoding
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 FilenameEncoding
Source§impl Debug for FilenameEncoding
impl Debug for FilenameEncoding
Source§impl Default for FilenameEncoding
impl Default for FilenameEncoding
Source§fn default() -> FilenameEncoding
fn default() -> FilenameEncoding
impl Eq for FilenameEncoding
Source§impl PartialEq for FilenameEncoding
impl PartialEq for FilenameEncoding
impl StructuralPartialEq for FilenameEncoding
Auto Trait Implementations§
impl Freeze for FilenameEncoding
impl RefUnwindSafe for FilenameEncoding
impl Send for FilenameEncoding
impl Sync for FilenameEncoding
impl Unpin for FilenameEncoding
impl UnsafeUnpin for FilenameEncoding
impl UnwindSafe for FilenameEncoding
Blanket Implementations§
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.