feat(format): a filter registry — filters are looked up by ID
decompress_chunk_masked and compress_chunk matched on the filter ID. They now look the ID up in filter_registry: a static table of the built-in filters compiled into this build (a filter whose cargo feature is off is simply absent), then the codecs an application registered at run time with register_filter (a FilterCodec, or a plain decoding closure). Registered codecs cannot shadow a built-in one, and their output is held to the same per-stage bound as the built-in decoders. An ID in neither tier still fails with UnsupportedFilter(id). The "feature off" stub functions that returned UnsupportedFilter are gone: the table leaves those filters out instead. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
@@ -71,6 +71,7 @@ pub mod extensible_array;
|
||||
pub mod file_writer;
|
||||
pub mod fill_value;
|
||||
pub mod filter_pipeline;
|
||||
pub mod filter_registry;
|
||||
pub mod filters;
|
||||
mod filters_szip;
|
||||
pub mod fixed_array;
|
||||
|
||||
Reference in New Issue
Block a user