pub enum LayoutStrategy {
Auto,
Clustered,
LeafOptimized,
Compact,
}Expand description
Directory layout strategy for a PMTiles archive.
The variant selected drives the header clustered flag and (where the
writer supports it) whether the root directory is split into leaf
directories.
Variants§
Auto
Pick a concrete strategy automatically from a LayoutAnalysis.
Resolution rules (see choose_strategy): deduplication-heavy archives
become Compact; very large tile counts
become LeafOptimized; everything else
becomes Clustered.
Clustered
Tiles ordered by tile_id with monotonically non-decreasing data
offsets. The archive is streamable and the header clustered flag is
set. Best for the common, moderate-sized, low-deduplication case.
LeafOptimized
Split the directory early into leaf directories. Keeps the root
directory small for large archives so initial range requests stay cheap.
The header clustered flag remains set (the data is still ordered).
Compact
Minimise directory size, favouring run-length / content sharing over
strict streamable ordering. Best for small or deduplication-heavy
archives. The header clustered flag is cleared.
Trait Implementations§
Source§impl Clone for LayoutStrategy
impl Clone for LayoutStrategy
Source§fn clone(&self) -> LayoutStrategy
fn clone(&self) -> LayoutStrategy
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 LayoutStrategy
Source§impl Debug for LayoutStrategy
impl Debug for LayoutStrategy
Source§impl Default for LayoutStrategy
impl Default for LayoutStrategy
Source§fn default() -> LayoutStrategy
fn default() -> LayoutStrategy
impl Eq for LayoutStrategy
Source§impl PartialEq for LayoutStrategy
impl PartialEq for LayoutStrategy
Source§fn eq(&self, other: &LayoutStrategy) -> bool
fn eq(&self, other: &LayoutStrategy) -> bool
self and other values to be equal, and is used by ==.