refactor(tvix/castore/grpc/blobsvc): inline stream_mapper
This can be written without the additional function. Change-Id: Ib11c5d5254d3e44c8fa9661414835b0622eb1ac4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10735 Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
1157eea710
commit
5ad5a0da00
1 changed files with 3 additions and 12 deletions
|
@ -3,7 +3,6 @@ use core::pin::pin;
|
|||
use futures::{stream::BoxStream, TryFutureExt};
|
||||
use std::{
|
||||
collections::VecDeque,
|
||||
io,
|
||||
ops::{Deref, DerefMut},
|
||||
};
|
||||
use tokio_stream::StreamExt;
|
||||
|
@ -118,17 +117,9 @@ where
|
|||
.map_err(|_e| Status::invalid_argument("invalid digest length"))?;
|
||||
|
||||
match self.blob_service.open_read(&req_digest).await {
|
||||
Ok(Some(reader)) => {
|
||||
fn stream_mapper(
|
||||
x: Result<bytes::Bytes, io::Error>,
|
||||
) -> Result<super::BlobChunk, Status> {
|
||||
match x {
|
||||
Ok(bytes) => Ok(super::BlobChunk { data: bytes }),
|
||||
Err(e) => Err(Status::from(e)),
|
||||
}
|
||||
}
|
||||
|
||||
let chunks_stream = ReaderStream::new(reader).map(stream_mapper);
|
||||
Ok(Some(r)) => {
|
||||
let chunks_stream =
|
||||
ReaderStream::new(r).map(|chunk| Ok(super::BlobChunk { data: chunk? }));
|
||||
Ok(Response::new(Box::pin(chunks_stream)))
|
||||
}
|
||||
Ok(None) => Err(Status::not_found(format!("blob {} not found", &req_digest))),
|
||||
|
|
Loading…
Reference in a new issue