refactor(tvix/castore): add try_into_anonymous_node, rename to try_*
We have two places where we parse protos and want their names to be empty: - Receiving a root node in a nar-bridge NAR request - Processing the CalculateNAR gRPC call We don't have any place where we want to keep a name as bytes::Bytes around, yet we used the `into_name_bytes_and_node` method. It was also a bit wrongly named - it wasn't very clear the name was not validated, and that the function may fail. This moves the "splitting off the name as bytes::Bytes" part into a private helper, only leaving the `try_into_name_and_node` and `try_into_anonymous_node` methods around. Change-Id: I2c7fd9871d49ec67450d7efa6a30d96197fb319c Reviewed-on: https://cl.tvl.fyi/c/depot/+/12664 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Marijan Petričević <marijan.petricevic94@gmail.com> Reviewed-by: raitobezarius <tvl@lahfa.xyz>
This commit is contained in:
parent
9c22345019
commit
3fda90602d
10 changed files with 59 additions and 31 deletions
|
|
@ -131,7 +131,7 @@ where
|
|||
let root_nodes: BTreeMap<PathComponent, Node> =
|
||||
BTreeMap::from_iter(request.inputs.iter().map(|input| {
|
||||
// We know from validation this is Some.
|
||||
input.clone().into_name_and_node().unwrap()
|
||||
input.clone().try_into_name_and_node().unwrap()
|
||||
}));
|
||||
let patterns = ReferencePattern::new(request.refscan_needles.clone());
|
||||
// NOTE: impl Drop for FuseDaemon unmounts, so if the call is cancelled, umount.
|
||||
|
|
|
|||
|
|
@ -266,7 +266,7 @@ fn configure_mounts<'a>(
|
|||
for input in inputs {
|
||||
let (input_name, _input) = input
|
||||
.clone()
|
||||
.into_name_and_node()
|
||||
.try_into_name_and_node()
|
||||
.expect("invalid input name");
|
||||
|
||||
let input_name = std::str::from_utf8(input_name.as_ref()).expect("invalid input name");
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ impl TryFrom<BuildRequest> for crate::buildservice::BuildRequest {
|
|||
for (i, node) in value.inputs.iter().enumerate() {
|
||||
let (name, node) = node
|
||||
.clone()
|
||||
.into_name_and_node()
|
||||
.try_into_name_and_node()
|
||||
.map_err(|e| ValidateBuildRequestError::InvalidInputNode(i, e))?;
|
||||
|
||||
if name.as_ref() <= last_name.as_ref() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue