Now that (most) values are just byte slices, Decode and Encode don't make a ton of sense. If the chunk.Chunk abstraction held compressed bytes (and nbs stopped doing compression internally), it would allow for
-NBS to do a better job of limiting memTables to compressed size.
-Help sync avoid re-compressing chunks it just decompress to walk refs
-Allow ValueStore to do a better job of buffering values (i.e. it can eagerly compress leaf values to chunks -- as it never needs to walkRefs on them).
Now that (most) values are just byte slices, Decode and Encode don't make a ton of sense. If the chunk.Chunk abstraction held compressed bytes (and nbs stopped doing compression internally), it would allow for
-NBS to do a better job of limiting memTables to compressed size. -Help sync avoid re-compressing chunks it just decompress to walk refs -Allow ValueStore to do a better job of buffering values (i.e. it can eagerly compress leaf values to chunks -- as it never needs to walkRefs on them).