Have
Array.encode_chunk() -> EncodedChunk
which takes in chunk indices and a typed, decoded array (#47).
Or rather, because chunk encoding will be either sync (current thread) or async (on a Rust thread pool), maybe have a separate ChunkEncoder class.
Or, just put encoding onto CodecChain, so we have CodecChain.encode and CodecChain.encode_async.
- We probably want a way to encode/decode chunks that is independent of a store.
- It seems a little messy to put sync/async methods for chunk encoding onto
Array/ AsyncArray, when the sync/async bridge of chunk encoding describes where the CPU bound work is happening, not what kind of IO is happening
Have
which takes in chunk indices and a typed, decoded array (#47).
Or rather, because chunk encoding will be either sync (current thread) or async (on a Rust thread pool), maybe have a separate
ChunkEncoderclass.Or, just put encoding onto
CodecChain, so we haveCodecChain.encodeandCodecChain.encode_async.Array/AsyncArray, when the sync/async bridge of chunk encoding describes where the CPU bound work is happening, not what kind of IO is happening