diff --git a/snix/docs/src/TODO.md b/snix/docs/src/TODO.md index b328282b0..770c1846b 100644 --- a/snix/docs/src/TODO.md +++ b/snix/docs/src/TODO.md @@ -195,29 +195,6 @@ This requires some more designing. Some goals: - Rework the URL syntax for object_store. We should support the default s3/gcs URLs at least. -### BlobService - - On the trait side, currently there's no way to distinguish reading a - known-chunk vs blob, so we might be calling `.chunks()` unnecessarily often. - At least for the `object_store` backend, this might be a problem, causing a - lot of round-trips. It also doesn't compose well - every implementation of - `BlobService` needs to both solve the "holding metadata about chunking info" - as well as "storing chunks" questions. - Design idea (@flokli): split these two concerns into two separate traits: - - a `ChunkService` dealing with retrieving individual chunks, by their - content digests. Chunks are small enough to keep around in contiguous - memory. - - a `BlobService` storing metadata about blobs. - - Individual stores would not need to implement `BlobReader` anymore, but that - could be a global thing with access to the whole store composition layer, - which should make it easier to reuse chunks from other backends. Unclear - if the write path should be structured the same way. At least for some - backends, we want the remote end to be able to decide about chunking. - - - While `object_store` recently got support for `Content-Type` - (https://github.com/apache/arrow-rs/pull/5650), there's no support on the - local filesystem yet. We'd need to add support to this (through xattrs). - ### PathInfoService - sqlite backend (different schema than the Nix one, we need the root nodes data!)