pub struct FileConfig<C: CompressionCodec> {
pub codec: C,
pub block_target_size: usize,
pub cache_capacity: usize,
pub io_cache_capacity: usize,
pub cache: Option<Arc<DeltaCache>>,
}Expand description
Configuration for opening or creating an ArrayFile.
Construct with FileConfig::new for the defaults, then override fields as
needed:
use array_format::{FileConfig, ZstdCodec};
let config = FileConfig {
block_target_size: 4 * 1024 * 1024,
..FileConfig::new(ZstdCodec { level: 9 })
};Fields§
§codec: CCompression codec applied to data blocks on write.
block_target_size: usizeTarget size of a data block before a new block is started, in bytes.
cache_capacity: usizeByte budget for this file’s decompressed-block cache.
Ignored when cache is Some.
io_cache_capacity: usizeByte budget for this file’s raw I/O slab cache (0 disables it).
Ignored when cache is Some.
cache: Option<Arc<DeltaCache>>Optional pre-built cache to share across multiple ArrayFiles.
When Some, cache_capacity and
io_cache_capacity are ignored and every file
sharing this cache is bounded by one combined byte budget. Entries are
keyed by (file_path, block_id), so files do not interfere.
Implementations§
Source§impl<C: CompressionCodec> FileConfig<C>
impl<C: CompressionCodec> FileConfig<C>
Auto Trait Implementations§
impl<C> Freeze for FileConfig<C>where
C: Freeze,
impl<C> !RefUnwindSafe for FileConfig<C>
impl<C> Send for FileConfig<C>
impl<C> Sync for FileConfig<C>
impl<C> Unpin for FileConfig<C>where
C: Unpin,
impl<C> UnsafeUnpin for FileConfig<C>where
C: UnsafeUnpin,
impl<C> !UnwindSafe for FileConfig<C>
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.