pub struct FileSystemLimits { /* private fields */ }Expand description
Stable limits declared by a configured filesystem provider.
§Examples
use qubit_fs::metadata::{FileSystemLimit, FileSystemLimits};
let limits = FileSystemLimits::unknown();
assert_eq!(FileSystemLimit::Unknown, limits.max_path_text_bytes());Implementations§
Source§impl FileSystemLimits
impl FileSystemLimits
Sourcepub const fn unknown() -> Self
pub const fn unknown() -> Self
Creates a limit snapshot whose dimensions are all explicitly unknown.
Sourcepub const fn with_max_path_text_bytes(self, limit: FileSystemLimit) -> Self
pub const fn with_max_path_text_bytes(self, limit: FileSystemLimit) -> Self
Returns a copy with the path-text byte limit replaced by limit.
Sourcepub const fn with_max_component_text_bytes(self, limit: FileSystemLimit) -> Self
pub const fn with_max_component_text_bytes(self, limit: FileSystemLimit) -> Self
Returns a copy with the component-text byte limit replaced by limit.
Sourcepub const fn with_max_read_range_bytes(self, limit: FileSystemLimit) -> Self
pub const fn with_max_read_range_bytes(self, limit: FileSystemLimit) -> Self
Returns a copy with the range-read byte limit replaced by limit.
Sourcepub const fn with_max_write_bytes(self, limit: FileSystemLimit) -> Self
pub const fn with_max_write_bytes(self, limit: FileSystemLimit) -> Self
Returns a copy with the write-session byte limit replaced by limit.
Sourcepub const fn with_max_list_page_entries(self, limit: FileSystemLimit) -> Self
pub const fn with_max_list_page_entries(self, limit: FileSystemLimit) -> Self
Returns a copy with the native list-page entry limit replaced by
limit.
Sourcepub const fn max_path_text_bytes(&self) -> FileSystemLimit
pub const fn max_path_text_bytes(&self) -> FileSystemLimit
Returns the maximum canonical crate::path::Path text length in UTF-8
bytes.
Sourcepub const fn max_component_text_bytes(&self) -> FileSystemLimit
pub const fn max_component_text_bytes(&self) -> FileSystemLimit
Returns the maximum path-component text length in UTF-8 bytes.
Sourcepub const fn max_read_range_bytes(&self) -> FileSystemLimit
pub const fn max_read_range_bytes(&self) -> FileSystemLimit
Returns the maximum byte count accepted by one logical range read.
Sourcepub const fn max_write_bytes(&self) -> FileSystemLimit
pub const fn max_write_bytes(&self) -> FileSystemLimit
Returns the maximum total byte count accepted by one write session.
Sourcepub const fn max_list_page_entries(&self) -> FileSystemLimit
pub const fn max_list_page_entries(&self) -> FileSystemLimit
Returns the maximum entry count in one provider-native list page.
Sourcepub fn clamp_list_page_size(&self, requested: Option<usize>) -> Option<usize>
pub fn clamp_list_page_size(&self, requested: Option<usize>) -> Option<usize>
Clamps a requested list-page size to the declared finite maximum.
Unknown, unbounded, and inapplicable limits leave the hint unchanged. A missing hint remains absent so the provider can select its natural page size while still honoring its declared limit.
§Parameters
requested: Optional caller-supplied page-size hint.
§Returns
The effective page-size hint forwarded to the provider.
Sourcepub fn validate_path(
&self,
path: &Path,
semantics: PathSemantics,
operation: FsOperation,
) -> FsResult<()>
pub fn validate_path( &self, path: &Path, semantics: PathSemantics, operation: FsOperation, ) -> FsResult<()>
Validates a canonical filesystem path against provider path limits.
Component limits are checked only for hierarchical path semantics.
§Errors
Returns FsErrorKind::ResourceLimitExceeded when the complete path
text or a hierarchical component exceeds its declared finite maximum.
Sourcepub fn validate_read_range(
&self,
path: &Path,
length: Option<u64>,
) -> FsResult<()>
pub fn validate_read_range( &self, path: &Path, length: Option<u64>, ) -> FsResult<()>
Validates a requested logical range-read length.
A missing length cannot be preflighted and remains the provider’s responsibility during execution.
§Errors
Returns FsErrorKind::ResourceLimitExceeded when length exceeds
the declared finite range-read maximum.
Sourcepub fn validate_write_size(&self, path: &Path, bytes: usize) -> FsResult<()>
pub fn validate_write_size(&self, path: &Path, bytes: usize) -> FsResult<()>
Validates the total bytes supplied to one write session.
§Errors
Returns FsErrorKind::ResourceLimitExceeded when bytes exceeds the
declared finite write-session maximum.