Rust extension seams
Rust's extension-tier names: documented, reachable, not portable.
Extension-tier names are part of this binding’s documented surface but are not harmonized across bindings, and may change in a minor release.
1 names.
Reader
type · canonical name reader
pub trait Reader: Send + Sync {
fn formats(&self) -> &'static [&'static str];
fn extensions(&self) -> &'static [&'static str];
fn read_native(&self, blob_path: &Path, variables: &[String], select: &Selection) -> Result<NativeDataset>;
fn read_native_records(&self, blob_path: &Path, variables: &[String], select: &Selection, records: Option<&Records>) -> Result<NativeDataset>;
fn supports_records(&self) -> bool;
fn dim_length(&self, _blob_path: &Path, _dim: &str) -> Result<Option<usize>>;
fn store_backed(&self) -> bool;
fn supports_selection(&self) -> bool;
fn read_store(&self, _cache: Arc<Cache>, _base_url: &str, _variables: &[String], _select: &Selection) -> Result<NativeDataset>;
fn array_shape(&self, _cache: Arc<Cache>, _base_url: &str, _var: &str) -> Result<Option<Vec<usize>>>;
fn configured(&self, options: &Map<String, Value>) -> Result<Option<Arc<dyn Reader>>>;
fn supports_direct_read(&self) -> bool;
fn read_store_direct(&self, _base_url: &str, _variables: &[String], _select: &Selection, _options: &[(String, String)]) -> Result<NativeDataset>;
fn array_shape_direct(&self, _base_url: &str, _var: &str, _options: &[(String, String)]) -> Result<Option<Vec<usize>>>;
}
A format reader (spec/registries.md §2): opens a cached blob and returns
CF-decoded native arrays. Keyed by format name in the FormatRegistry.
Native-only: a reader’s input is a path into the content-addressed cache.