about summary refs log tree commit diff
path: root/tvix/store/src/nar
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-07-19T15·52+0300
committerclbot <clbot@tvl.fyi>2023-07-22T09·03+0000
commit432222f098bfceb033e63e9a63687e35574457f9 (patch)
tree43a5e38cf79827dd63aa2adbd841da6aa62cf1de /tvix/store/src/nar
parent7971d7d9ff42ed00f6f70121f372dd744f45915b (diff)
feat(tvix/store/proto): use Bytes instead of Vec<u8> r/6439
Makes use of https://github.com/tokio-rs/prost/pull/341, which makes our
bytes field cheaper to clone.

It's a bit annoying to configure due to
https://github.com/hyperium/tonic/issues/908, but the workaround does
get the job done.

Change-Id: I25714600b041bb5432d3adf5859b151e72b12778
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8975
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: flokli <flokli@flokli.de>
Diffstat (limited to 'tvix/store/src/nar')
-rw-r--r--tvix/store/src/nar/mod.rs6
-rw-r--r--tvix/store/src/nar/renderer.rs2
2 files changed, 4 insertions, 4 deletions
diff --git a/tvix/store/src/nar/mod.rs b/tvix/store/src/nar/mod.rs
index 84a48ba5f6b5..5a8bc21ae953 100644
--- a/tvix/store/src/nar/mod.rs
+++ b/tvix/store/src/nar/mod.rs
@@ -13,13 +13,13 @@ pub enum RenderError {
     StoreError(crate::Error),
 
     #[error("unable to find directory {}, referred from {:?}", .0, .1)]
-    DirectoryNotFound(B3Digest, Vec<u8>),
+    DirectoryNotFound(B3Digest, bytes::Bytes),
 
     #[error("unable to find blob {}, referred from {:?}", BASE64.encode(.0), .1)]
-    BlobNotFound([u8; 32], Vec<u8>),
+    BlobNotFound([u8; 32], bytes::Bytes),
 
     #[error("unexpected size in metadata for blob {}, referred from {:?} returned, expected {}, got {}", BASE64.encode(.0), .1, .2, .3)]
-    UnexpectedBlobMeta([u8; 32], Vec<u8>, u32, u32),
+    UnexpectedBlobMeta([u8; 32], bytes::Bytes, u32, u32),
 
     #[error("failure using the NAR writer: {0}")]
     NARWriterError(std::io::Error),
diff --git a/tvix/store/src/nar/renderer.rs b/tvix/store/src/nar/renderer.rs
index e2119ae0796d..cc5af488abf8 100644
--- a/tvix/store/src/nar/renderer.rs
+++ b/tvix/store/src/nar/renderer.rs
@@ -115,7 +115,7 @@ fn walk_node(
                 None => {
                     return Err(RenderError::DirectoryNotFound(
                         digest,
-                        proto_directory_node.name.to_owned(),
+                        proto_directory_node.name.clone(),
                     ))
                 }
                 Some(proto_directory) => {