tvl-depot/tvix/store/protos
Florian Klink c4ee942b1c feat(tvix/store/protos): rename Get to Read, add Stat method
Stat exposes metadata about a given blob,
such as more granular chunking, baos.
It implicitly allows checking for existence too, as asking this for a
non-existing Blob will return a Status::not_found grpc error.

The previous version returned a Status::not_found error on the Get
request too, but there was no chance to prevent the server from starting
to stream (except sending an immediate cancellation).

Being able to check whether something exists in a BlobStore helps to
prevent from uploading in first place.

The granular chunking bits are an optional optimization - if the
BlobStore implements no more granular chunking, the Stat response can
simply contain a single chunk.

Read returns a stream of BlobChunk, which is just a stream of bytes -
not necessarily using the chunking that's returned in the reply of a
Stat() call. It can be used to read blobs or chunks.

Change-Id: I4b6030ef184ace5484c84ca273b49d710433731d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7652
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-12-28 13:55:18 +00:00
..
castore.go feat(tvix/store/protos): implement Directory.Validate() 2022-12-27 21:31:33 +00:00
castore.pb.go feat(txix/store/protos): init go.mod, generate .pb.go files 2022-12-26 11:38:52 +00:00
castore.proto feat(tvix/store/protos): add go_package option 2022-12-26 11:38:52 +00:00
castore_test.go feat(tvix/store/protos): implement Directory.Validate() 2022-12-27 21:31:33 +00:00
go.mod feat(tvix/store/protos): implement Size() and Digest() for Directory 2022-12-27 21:31:33 +00:00
go.sum feat(tvix/store/protos): implement Size() and Digest() for Directory 2022-12-27 21:31:33 +00:00
LICENSE chore(tvix/store): move castore.proto 2022-12-04 10:41:39 +00:00
pathinfo.pb.go chore(tvix/store/protos): drop non-sha256 NAR hashes 2022-12-28 13:55:18 +00:00
pathinfo.proto chore(tvix/store/protos): drop non-sha256 NAR hashes 2022-12-28 13:55:18 +00:00
rpc_blobstore.pb.go feat(tvix/store/protos): rename Get to Read, add Stat method 2022-12-28 13:55:18 +00:00
rpc_blobstore.proto feat(tvix/store/protos): rename Get to Read, add Stat method 2022-12-28 13:55:18 +00:00
rpc_blobstore_grpc.pb.go feat(tvix/store/protos): rename Get to Read, add Stat method 2022-12-28 13:55:18 +00:00
rpc_directory.pb.go feat(txix/store/protos): init go.mod, generate .pb.go files 2022-12-26 11:38:52 +00:00
rpc_directory.proto feat(tvix/store/protos): add go_package option 2022-12-26 11:38:52 +00:00
rpc_directory_grpc.pb.go feat(txix/store/protos): init go.mod, generate .pb.go files 2022-12-26 11:38:52 +00:00
rpc_pathinfo.pb.go chore(tvix/store/protos): add PathInfoService::CalculateNAR() 2022-12-28 13:55:18 +00:00
rpc_pathinfo.proto chore(tvix/store/protos): add PathInfoService::CalculateNAR() 2022-12-28 13:55:18 +00:00
rpc_pathinfo_grpc.pb.go chore(tvix/store/protos): add PathInfoService::CalculateNAR() 2022-12-28 13:55:18 +00:00