feat(tvix/store/digests): use bytes::Bytes instead of Vec<u8>

This will save us some copies, because a clone will simply create an
additional pointer to the same data.

Change-Id: I017a5d6b4c85a861b5541ebad2858ad4fbf8e8fa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8978
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
This commit is contained in:
Florian Klink 2023-07-20 13:37:29 +03:00 committed by clbot
parent 72e82ffcb1
commit a6580748aa
14 changed files with 99 additions and 68 deletions

View file

@ -38,7 +38,7 @@ impl From<&proto::SymlinkNode> for InodeData {
impl From<&proto::FileNode> for InodeData {
fn from(value: &proto::FileNode) -> Self {
InodeData::Regular(
B3Digest::from_vec(value.digest.clone()).unwrap(),
value.digest.clone().try_into().unwrap(),
value.size,
value.executable,
)
@ -49,7 +49,7 @@ impl From<&proto::FileNode> for InodeData {
impl From<&proto::DirectoryNode> for InodeData {
fn from(value: &proto::DirectoryNode) -> Self {
InodeData::Directory(DirectoryInodeData::Sparse(
B3Digest::from_vec(value.digest.clone()).unwrap(),
value.digest.clone().try_into().unwrap(),
value.size,
))
}