diff options
author | Florian Klink <flokli@flokli.de> | 2022-12-28T15·40+0100 |
---|---|---|
committer | flokli <flokli@flokli.de> | 2022-12-30T15·21+0000 |
commit | 58f5ff2c173b6c64e3ffb1d2cd4d840e0dcf38c3 (patch) | |
tree | af3e28b373a54e50b3e72a803eae779a633a9f20 /tvix/store/src/dummy_blob_service.rs | |
parent | d22a9c8610f2cd1bf0e021ec1f46e6200ed4a28f (diff) |
feat(tvix/store): initial dummy implementation r/5554
This replaces the hello world example from tvix-store with an actual gRPC endpoint, implementing all of BlobService, DirectoryService and PathInfoService. All RPC methods currently respond with the unimplemented gRPC status. Co-Authored-By: Márton Boros <martonboros@gmail.com> Change-Id: Ieba333cca44dc1e3f2ffbe676ba7a99e672b9bfb Reviewed-on: https://cl.tvl.fyi/c/depot/+/7664 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/store/src/dummy_blob_service.rs')
-rw-r--r-- | tvix/store/src/dummy_blob_service.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tvix/store/src/dummy_blob_service.rs b/tvix/store/src/dummy_blob_service.rs new file mode 100644 index 000000000000..7731ea3344e3 --- /dev/null +++ b/tvix/store/src/dummy_blob_service.rs @@ -0,0 +1,34 @@ +use tokio_stream::wrappers::ReceiverStream; + +use crate::proto::blob_service_server::BlobService; +use crate::proto::BlobChunk; +use crate::proto::BlobMeta; +use crate::proto::PutBlobResponse; +use crate::proto::ReadBlobRequest; +use crate::proto::StatBlobRequest; +use tonic::{Request, Response, Result, Status, Streaming}; + +pub struct DummyBlobService {} + +#[tonic::async_trait] +impl BlobService for DummyBlobService { + type ReadStream = ReceiverStream<Result<BlobChunk>>; + + async fn stat(&self, _request: Request<StatBlobRequest>) -> Result<Response<BlobMeta>> { + Err(Status::unimplemented("not implemented")) + } + + async fn read( + &self, + _request: Request<ReadBlobRequest>, + ) -> Result<Response<Self::ReadStream>, Status> { + Err(Status::unimplemented("not implemented")) + } + + async fn put( + &self, + _request: Request<Streaming<BlobChunk>>, + ) -> Result<Response<PutBlobResponse>> { + Err(Status::unimplemented("not implemented")) + } +} |