Trait zarrs::array::ArrayShardedReadableExt

source ·
pub trait ArrayShardedReadableExt<TStorage: ?Sized + ReadableStorageTraits + 'static> {
    // Required methods
    fn retrieve_inner_chunk_opt<'a>(
        &'a self,
        cache: &ArrayShardedReadableExtCache<'a>,
        inner_chunk_indices: &[u64],
        options: &CodecOptions
    ) -> Result<Vec<u8>, ArrayError>;
    fn retrieve_inner_chunk_elements_opt<'a, T: Pod>(
        &'a self,
        cache: &ArrayShardedReadableExtCache<'a>,
        inner_chunk_indices: &[u64],
        options: &CodecOptions
    ) -> Result<Vec<T>, ArrayError>;
    fn retrieve_inner_chunk_ndarray_opt<'a, T: Pod>(
        &'a self,
        cache: &ArrayShardedReadableExtCache<'a>,
        inner_chunk_indices: &[u64],
        options: &CodecOptions
    ) -> Result<ArrayD<T>, ArrayError>;
    fn retrieve_inner_chunks_opt<'a>(
        &'a self,
        cache: &ArrayShardedReadableExtCache<'a>,
        inner_chunks: &ArraySubset,
        options: &CodecOptions
    ) -> Result<Vec<u8>, ArrayError>;
    fn retrieve_inner_chunks_elements_opt<'a, T: Pod>(
        &'a self,
        cache: &ArrayShardedReadableExtCache<'a>,
        inner_chunks: &ArraySubset,
        options: &CodecOptions
    ) -> Result<Vec<T>, ArrayError>;
    fn retrieve_inner_chunks_ndarray_opt<'a, T: Pod>(
        &'a self,
        cache: &ArrayShardedReadableExtCache<'a>,
        inner_chunks: &ArraySubset,
        options: &CodecOptions
    ) -> Result<ArrayD<T>, ArrayError>;
    fn retrieve_array_subset_sharded_opt<'a>(
        &'a self,
        cache: &ArrayShardedReadableExtCache<'a>,
        array_subset: &ArraySubset,
        options: &CodecOptions
    ) -> Result<Vec<u8>, ArrayError>;
    fn retrieve_array_subset_elements_sharded_opt<'a, T: Pod>(
        &'a self,
        cache: &ArrayShardedReadableExtCache<'a>,
        array_subset: &ArraySubset,
        options: &CodecOptions
    ) -> Result<Vec<T>, ArrayError>;
    fn retrieve_array_subset_ndarray_sharded_opt<'a, T: Pod>(
        &'a self,
        cache: &ArrayShardedReadableExtCache<'a>,
        array_subset: &ArraySubset,
        options: &CodecOptions
    ) -> Result<ArrayD<T>, ArrayError>;
    fn retrieve_shard_subset_into_array_view_opt<'a>(
        &'a self,
        cache: &ArrayShardedReadableExtCache<'a>,
        shard_indices: &[u64],
        shard_subset: &ArraySubset,
        array_view: &ArrayView<'_>,
        options: &CodecOptions
    ) -> Result<(), ArrayError>;
}
Available on crate feature sharding only.
Expand description

An Array extension trait to efficiently read data (e.g. inner chunks) from arrays using the sharding_indexed codec.

Sharding indexes are cached in a ArrayShardedReadableExtCache enabling faster retrieval.

Required Methods§

source

fn retrieve_inner_chunk_opt<'a>( &'a self, cache: &ArrayShardedReadableExtCache<'a>, inner_chunk_indices: &[u64], options: &CodecOptions ) -> Result<Vec<u8>, ArrayError>

Read and decode the inner chunk at chunk_indices into its bytes.

See Array::retrieve_chunk_opt.

source

fn retrieve_inner_chunk_elements_opt<'a, T: Pod>( &'a self, cache: &ArrayShardedReadableExtCache<'a>, inner_chunk_indices: &[u64], options: &CodecOptions ) -> Result<Vec<T>, ArrayError>

Read and decode the inner chunk at chunk_indices into a vector of its elements.

See Array::retrieve_chunk_elements_opt.

source

fn retrieve_inner_chunk_ndarray_opt<'a, T: Pod>( &'a self, cache: &ArrayShardedReadableExtCache<'a>, inner_chunk_indices: &[u64], options: &CodecOptions ) -> Result<ArrayD<T>, ArrayError>

Available on crate feature ndarray only.

Read and decode the chunk at chunk_indices into an ndarray::ArrayD.

See Array::retrieve_chunk_ndarray_opt.

source

fn retrieve_inner_chunks_opt<'a>( &'a self, cache: &ArrayShardedReadableExtCache<'a>, inner_chunks: &ArraySubset, options: &CodecOptions ) -> Result<Vec<u8>, ArrayError>

Read and decode the chunks at chunks into their bytes.

See Array::retrieve_chunks_opt.

source

fn retrieve_inner_chunks_elements_opt<'a, T: Pod>( &'a self, cache: &ArrayShardedReadableExtCache<'a>, inner_chunks: &ArraySubset, options: &CodecOptions ) -> Result<Vec<T>, ArrayError>

Read and decode the inner chunks at inner_chunks into a vector of their elements.

See Array::retrieve_chunks_elements_opt.

source

fn retrieve_inner_chunks_ndarray_opt<'a, T: Pod>( &'a self, cache: &ArrayShardedReadableExtCache<'a>, inner_chunks: &ArraySubset, options: &CodecOptions ) -> Result<ArrayD<T>, ArrayError>

Available on crate feature ndarray only.

Read and decode the inner chunks at inner_chunks into an ndarray::ArrayD.

See Array::retrieve_chunks_ndarray_opt.

source

fn retrieve_array_subset_sharded_opt<'a>( &'a self, cache: &ArrayShardedReadableExtCache<'a>, array_subset: &ArraySubset, options: &CodecOptions ) -> Result<Vec<u8>, ArrayError>

Read and decode the array_subset of array into its bytes.

See Array::retrieve_array_subset_opt.

source

fn retrieve_array_subset_elements_sharded_opt<'a, T: Pod>( &'a self, cache: &ArrayShardedReadableExtCache<'a>, array_subset: &ArraySubset, options: &CodecOptions ) -> Result<Vec<T>, ArrayError>

Read and decode the array_subset of array into a vector of its elements.

See Array::retrieve_array_subset_elements_opt.

source

fn retrieve_array_subset_ndarray_sharded_opt<'a, T: Pod>( &'a self, cache: &ArrayShardedReadableExtCache<'a>, array_subset: &ArraySubset, options: &CodecOptions ) -> Result<ArrayD<T>, ArrayError>

Available on crate feature ndarray only.

Read and decode the array_subset of array into an ndarray::ArrayD.

See Array::retrieve_array_subset_ndarray_opt.

source

fn retrieve_shard_subset_into_array_view_opt<'a>( &'a self, cache: &ArrayShardedReadableExtCache<'a>, shard_indices: &[u64], shard_subset: &ArraySubset, array_view: &ArrayView<'_>, options: &CodecOptions ) -> Result<(), ArrayError>

Retrieve a shard subset into an array view.

For an unsharded array, retrieves

See Array::retrieve_array_subset_into_array_view_opt.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<TStorage: ?Sized + ReadableStorageTraits + 'static> ArrayShardedReadableExt<TStorage> for Array<TStorage>