chore(tvix/store): Use BoxStream type alias

The BoxStream type alias is a more concise and easier to read than
the full `Pin<Box<dyn Stream<Item = ...> + Send + ...>>` type.

Change-Id: I5b7bccfd066ded5557e01f7895f4cf5c4a33bd44
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10677
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Autosubmit: Connor Brewster <cbrewster@hey.com>
This commit is contained in:
Connor Brewster 2024-01-20 16:25:39 -06:00 committed by clbot
parent 56ba7a72d8
commit 4e341fb5d9
15 changed files with 44 additions and 67 deletions

View file

@ -1,8 +1,8 @@
use std::{collections::BTreeMap, pin::Pin};
use std::collections::BTreeMap;
use crate::{proto::node::Node, Error};
use bytes::Bytes;
use futures::Stream;
use futures::stream::BoxStream;
use tonic::async_trait;
/// Provides an interface for looking up root nodes in tvix-castore by given
@ -15,7 +15,7 @@ pub trait RootNodes: Send + Sync {
/// Lists all root CA nodes in the filesystem. An error can be returned
/// in case listing is not allowed
fn list(&self) -> Pin<Box<dyn Stream<Item = Result<Node, Error>> + Send + '_>>;
fn list(&self) -> BoxStream<Result<Node, Error>>;
}
#[async_trait]
@ -29,7 +29,7 @@ where
Ok(self.as_ref().get(name).cloned())
}
fn list(&self) -> Pin<Box<dyn Stream<Item = Result<Node, Error>> + Send + '_>> {
fn list(&self) -> BoxStream<Result<Node, Error>> {
Box::pin(tokio_stream::iter(
self.as_ref().iter().map(|(_, v)| Ok(v.clone())),
))