chore(3p/sources): bump channels & overlays (2024-12-31)
Last one of the year! С наступающим)
Fixes:
* users/wpcarro: remove use-package from emacs packages (it has been built-in
for a while now)
* users/sterni: the same thing
* users/aspen: remove `coz`, forwardport `gdmap` from stable
* users/flokli: dropped corneish_zen firmware from CI
This firmware depends on a non-reproducible FOD which, when updated, causes
build failures. We have worked around this repeatedly, but it needs to be
fixed properly.
* tvix: regenerate Go protobufs
* tvix: address new clippy lints
* tvix/{castore,store,build}-go: update grpc/protobuf libraries
* tvix/eval: formatting fixes
* 3p/overlays/tvl: work around GCC 14 -Werrors
Change-Id: Ice5948ca7780192fb7d2abc6a48971fb875f03c9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12933
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This commit is contained in:
parent
bd73dff0bf
commit
54f72afcda
44 changed files with 516 additions and 578 deletions
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.2
|
||||
// protoc-gen-go v1.36.0
|
||||
// protoc (unknown)
|
||||
// source: tvix/castore/protos/castore.proto
|
||||
|
||||
|
|
@ -34,13 +34,12 @@ const (
|
|||
// Elements in each list need to be lexicographically ordered by the name
|
||||
// attribute.
|
||||
type Directory struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Directories []*DirectoryNode `protobuf:"bytes,1,rep,name=directories,proto3" json:"directories,omitempty"`
|
||||
Files []*FileNode `protobuf:"bytes,2,rep,name=files,proto3" json:"files,omitempty"`
|
||||
Symlinks []*SymlinkNode `protobuf:"bytes,3,rep,name=symlinks,proto3" json:"symlinks,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Directories []*DirectoryNode `protobuf:"bytes,1,rep,name=directories,proto3" json:"directories,omitempty"`
|
||||
Files []*FileNode `protobuf:"bytes,2,rep,name=files,proto3" json:"files,omitempty"`
|
||||
Symlinks []*SymlinkNode `protobuf:"bytes,3,rep,name=symlinks,proto3" json:"symlinks,omitempty"`
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *Directory) Reset() {
|
||||
|
|
@ -96,10 +95,7 @@ func (x *Directory) GetSymlinks() []*SymlinkNode {
|
|||
|
||||
// A DirectoryNode represents a directory in a Directory.
|
||||
type DirectoryNode struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// The (base)name of the directory
|
||||
Name []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
// The blake3 hash of a Directory message, serialized in protobuf canonical form.
|
||||
|
|
@ -114,7 +110,9 @@ type DirectoryNode struct {
|
|||
// A credulous implementation won't reject an excessive size, but this is
|
||||
// harmless: you'll have some ordinals without nodes. Undersizing is obvious
|
||||
// and easy to reject: you won't have an ordinal for some nodes.
|
||||
Size uint64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
|
||||
Size uint64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DirectoryNode) Reset() {
|
||||
|
|
@ -170,10 +168,7 @@ func (x *DirectoryNode) GetSize() uint64 {
|
|||
|
||||
// A FileNode represents a regular or executable file in a Directory.
|
||||
type FileNode struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// The (base)name of the file
|
||||
Name []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
// The blake3 digest of the file contents
|
||||
|
|
@ -181,7 +176,9 @@ type FileNode struct {
|
|||
// The file content size
|
||||
Size uint64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
|
||||
// Whether the file is executable
|
||||
Executable bool `protobuf:"varint,4,opt,name=executable,proto3" json:"executable,omitempty"`
|
||||
Executable bool `protobuf:"varint,4,opt,name=executable,proto3" json:"executable,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *FileNode) Reset() {
|
||||
|
|
@ -244,14 +241,13 @@ func (x *FileNode) GetExecutable() bool {
|
|||
|
||||
// A SymlinkNode represents a symbolic link in a Directory.
|
||||
type SymlinkNode struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// The (base)name of the symlink
|
||||
Name []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
// The target of the symlink.
|
||||
Target []byte `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
|
||||
Target []byte `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *SymlinkNode) Reset() {
|
||||
|
|
@ -300,16 +296,15 @@ func (x *SymlinkNode) GetTarget() []byte {
|
|||
|
||||
// A Node is either a DirectoryNode, FileNode or SymlinkNode.
|
||||
type Node struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// Types that are assignable to Node:
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Types that are valid to be assigned to Node:
|
||||
//
|
||||
// *Node_Directory
|
||||
// *Node_File
|
||||
// *Node_Symlink
|
||||
Node isNode_Node `protobuf_oneof:"node"`
|
||||
Node isNode_Node `protobuf_oneof:"node"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *Node) Reset() {
|
||||
|
|
@ -342,30 +337,36 @@ func (*Node) Descriptor() ([]byte, []int) {
|
|||
return file_tvix_castore_protos_castore_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (m *Node) GetNode() isNode_Node {
|
||||
if m != nil {
|
||||
return m.Node
|
||||
func (x *Node) GetNode() isNode_Node {
|
||||
if x != nil {
|
||||
return x.Node
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Node) GetDirectory() *DirectoryNode {
|
||||
if x, ok := x.GetNode().(*Node_Directory); ok {
|
||||
return x.Directory
|
||||
if x != nil {
|
||||
if x, ok := x.Node.(*Node_Directory); ok {
|
||||
return x.Directory
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Node) GetFile() *FileNode {
|
||||
if x, ok := x.GetNode().(*Node_File); ok {
|
||||
return x.File
|
||||
if x != nil {
|
||||
if x, ok := x.Node.(*Node_File); ok {
|
||||
return x.File
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Node) GetSymlink() *SymlinkNode {
|
||||
if x, ok := x.GetNode().(*Node_Symlink); ok {
|
||||
return x.Symlink
|
||||
if x != nil {
|
||||
if x, ok := x.Node.(*Node_Symlink); ok {
|
||||
return x.Symlink
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ in
|
|||
(pkgs.buildGoModule {
|
||||
name = "castore-go";
|
||||
src = depot.third_party.gitignoreSource ./.;
|
||||
vendorHash = "sha256-ZNtSSW+oCxMsBtURSrea9/GyUHDagtGefM+Ii+VkgCA=";
|
||||
vendorHash = "sha256:03wwzk7irlb05y0zjfmpp5c2dxhcpnmfc169g05sn6d3ni07aly8";
|
||||
}).overrideAttrs (_: {
|
||||
meta.ci.extraSteps = {
|
||||
check = {
|
||||
|
|
|
|||
|
|
@ -1,22 +1,24 @@
|
|||
module code.tvl.fyi/tvix/castore-go
|
||||
|
||||
go 1.19
|
||||
go 1.22
|
||||
|
||||
toolchain go1.23.4
|
||||
|
||||
require (
|
||||
github.com/stretchr/testify v1.8.1
|
||||
google.golang.org/grpc v1.51.0
|
||||
google.golang.org/protobuf v1.31.0
|
||||
google.golang.org/grpc v1.69.2
|
||||
google.golang.org/protobuf v1.36.1
|
||||
lukechampine.com/blake3 v1.1.7
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/golang/protobuf v1.5.2 // indirect
|
||||
github.com/golang/protobuf v1.5.4 // indirect
|
||||
github.com/klauspost/cpuid/v2 v2.0.9 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b // indirect
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect
|
||||
golang.org/x/text v0.4.0 // indirect
|
||||
golang.org/x/net v0.30.0 // indirect
|
||||
golang.org/x/sys v0.26.0 // indirect
|
||||
golang.org/x/text v0.19.0 // indirect
|
||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
|
|
|||
|
|
@ -7,6 +7,10 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
|
|||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
|
||||
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
|
|
@ -17,15 +21,16 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU
|
|||
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
|
||||
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
|
||||
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
|
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
|
||||
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
|
||||
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
|
||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
|
||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4=
|
||||
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
|
|
@ -38,6 +43,16 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
|
|||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
|
||||
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||
go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY=
|
||||
go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE=
|
||||
go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE=
|
||||
go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY=
|
||||
go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk=
|
||||
go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8=
|
||||
go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys=
|
||||
go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
|
|
@ -47,25 +62,24 @@ golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73r
|
|||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0=
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
|
||||
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s=
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
|
||||
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
|
||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
|
||||
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
|
||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
|
|
@ -75,8 +89,8 @@ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEY
|
|||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
||||
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U=
|
||||
google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
|
||||
google.golang.org/grpc v1.69.2 h1:U3S9QEtbXC0bYNvRtcoklF3xGtLViumSYxWykJS+7AU=
|
||||
google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
|
|
@ -84,10 +98,8 @@ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miE
|
|||
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
|
||||
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
|
||||
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
||||
google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
|
||||
google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.2
|
||||
// protoc-gen-go v1.36.0
|
||||
// protoc (unknown)
|
||||
// source: tvix/castore/protos/rpc_blobstore.proto
|
||||
|
||||
|
|
@ -24,16 +24,15 @@ const (
|
|||
)
|
||||
|
||||
type StatBlobRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// The blake3 digest of the blob requested
|
||||
Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
|
||||
// Whether the server should reply with a list of more granular chunks.
|
||||
SendChunks bool `protobuf:"varint,2,opt,name=send_chunks,json=sendChunks,proto3" json:"send_chunks,omitempty"`
|
||||
// Whether the server should reply with a bao.
|
||||
SendBao bool `protobuf:"varint,3,opt,name=send_bao,json=sendBao,proto3" json:"send_bao,omitempty"`
|
||||
SendBao bool `protobuf:"varint,3,opt,name=send_bao,json=sendBao,proto3" json:"send_bao,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *StatBlobRequest) Reset() {
|
||||
|
|
@ -88,17 +87,16 @@ func (x *StatBlobRequest) GetSendBao() bool {
|
|||
}
|
||||
|
||||
type StatBlobResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// If `send_chunks` was set to true, this MAY contain a list of more
|
||||
// granular chunks, which then may be read individually via the `Read`
|
||||
// method.
|
||||
Chunks []*StatBlobResponse_ChunkMeta `protobuf:"bytes,2,rep,name=chunks,proto3" json:"chunks,omitempty"`
|
||||
// If `send_bao` was set to true, this MAY contain a outboard bao.
|
||||
// The exact format and message types here will still be fleshed out.
|
||||
Bao []byte `protobuf:"bytes,3,opt,name=bao,proto3" json:"bao,omitempty"`
|
||||
Bao []byte `protobuf:"bytes,3,opt,name=bao,proto3" json:"bao,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *StatBlobResponse) Reset() {
|
||||
|
|
@ -146,12 +144,11 @@ func (x *StatBlobResponse) GetBao() []byte {
|
|||
}
|
||||
|
||||
type ReadBlobRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// The blake3 digest of the blob or chunk requested
|
||||
Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
|
||||
Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ReadBlobRequest) Reset() {
|
||||
|
|
@ -194,11 +191,10 @@ func (x *ReadBlobRequest) GetDigest() []byte {
|
|||
// This represents some bytes of a blob.
|
||||
// Blobs are sent in smaller chunks to keep message sizes manageable.
|
||||
type BlobChunk struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *BlobChunk) Reset() {
|
||||
|
|
@ -239,12 +235,11 @@ func (x *BlobChunk) GetData() []byte {
|
|||
}
|
||||
|
||||
type PutBlobResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// The blake3 digest of the data that was sent.
|
||||
Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
|
||||
Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *PutBlobResponse) Reset() {
|
||||
|
|
@ -285,14 +280,13 @@ func (x *PutBlobResponse) GetDigest() []byte {
|
|||
}
|
||||
|
||||
type StatBlobResponse_ChunkMeta struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Digest of that specific chunk
|
||||
Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
|
||||
// Length of that chunk, in bytes.
|
||||
Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
|
||||
Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *StatBlobResponse_ChunkMeta) Reset() {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc (unknown)
|
||||
// source: tvix/castore/protos/rpc_blobstore.proto
|
||||
|
||||
|
|
@ -18,8 +18,8 @@ import (
|
|||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
BlobService_Stat_FullMethodName = "/tvix.castore.v1.BlobService/Stat"
|
||||
|
|
@ -30,6 +30,11 @@ const (
|
|||
// BlobServiceClient is the client API for BlobService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// BlobService allows reading (or uploading) content-addressed blobs of data.
|
||||
// BLAKE3 is used as a hashing function for the data. Uploading a blob will
|
||||
// return the BLAKE3 digest of it, and that's the identifier used to Read/Stat
|
||||
// them too.
|
||||
type BlobServiceClient interface {
|
||||
// Stat can be used to check for the existence of a blob, as well as
|
||||
// gathering more data about it, like more granular chunking information
|
||||
|
|
@ -47,13 +52,13 @@ type BlobServiceClient interface {
|
|||
// The server may decide on whatever chunking it may seem fit as a size for
|
||||
// the individual BlobChunk sent in the response stream, this is mostly to
|
||||
// keep individual messages at a manageable size.
|
||||
Read(ctx context.Context, in *ReadBlobRequest, opts ...grpc.CallOption) (BlobService_ReadClient, error)
|
||||
Read(ctx context.Context, in *ReadBlobRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[BlobChunk], error)
|
||||
// Put uploads a Blob, by reading a stream of bytes.
|
||||
//
|
||||
// The way the data is chunked up in individual BlobChunk messages sent in
|
||||
// the stream has no effect on how the server ends up chunking blobs up, if
|
||||
// it does at all.
|
||||
Put(ctx context.Context, opts ...grpc.CallOption) (BlobService_PutClient, error)
|
||||
Put(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[BlobChunk, PutBlobResponse], error)
|
||||
}
|
||||
|
||||
type blobServiceClient struct {
|
||||
|
|
@ -65,20 +70,22 @@ func NewBlobServiceClient(cc grpc.ClientConnInterface) BlobServiceClient {
|
|||
}
|
||||
|
||||
func (c *blobServiceClient) Stat(ctx context.Context, in *StatBlobRequest, opts ...grpc.CallOption) (*StatBlobResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(StatBlobResponse)
|
||||
err := c.cc.Invoke(ctx, BlobService_Stat_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, BlobService_Stat_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *blobServiceClient) Read(ctx context.Context, in *ReadBlobRequest, opts ...grpc.CallOption) (BlobService_ReadClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &BlobService_ServiceDesc.Streams[0], BlobService_Read_FullMethodName, opts...)
|
||||
func (c *blobServiceClient) Read(ctx context.Context, in *ReadBlobRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[BlobChunk], error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
stream, err := c.cc.NewStream(ctx, &BlobService_ServiceDesc.Streams[0], BlobService_Read_FullMethodName, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &blobServiceReadClient{stream}
|
||||
x := &grpc.GenericClientStream[ReadBlobRequest, BlobChunk]{ClientStream: stream}
|
||||
if err := x.ClientStream.SendMsg(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -88,60 +95,30 @@ func (c *blobServiceClient) Read(ctx context.Context, in *ReadBlobRequest, opts
|
|||
return x, nil
|
||||
}
|
||||
|
||||
type BlobService_ReadClient interface {
|
||||
Recv() (*BlobChunk, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type BlobService_ReadClient = grpc.ServerStreamingClient[BlobChunk]
|
||||
|
||||
type blobServiceReadClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *blobServiceReadClient) Recv() (*BlobChunk, error) {
|
||||
m := new(BlobChunk)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func (c *blobServiceClient) Put(ctx context.Context, opts ...grpc.CallOption) (BlobService_PutClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &BlobService_ServiceDesc.Streams[1], BlobService_Put_FullMethodName, opts...)
|
||||
func (c *blobServiceClient) Put(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[BlobChunk, PutBlobResponse], error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
stream, err := c.cc.NewStream(ctx, &BlobService_ServiceDesc.Streams[1], BlobService_Put_FullMethodName, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &blobServicePutClient{stream}
|
||||
x := &grpc.GenericClientStream[BlobChunk, PutBlobResponse]{ClientStream: stream}
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type BlobService_PutClient interface {
|
||||
Send(*BlobChunk) error
|
||||
CloseAndRecv() (*PutBlobResponse, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
type blobServicePutClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *blobServicePutClient) Send(m *BlobChunk) error {
|
||||
return x.ClientStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func (x *blobServicePutClient) CloseAndRecv() (*PutBlobResponse, error) {
|
||||
if err := x.ClientStream.CloseSend(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
m := new(PutBlobResponse)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type BlobService_PutClient = grpc.ClientStreamingClient[BlobChunk, PutBlobResponse]
|
||||
|
||||
// BlobServiceServer is the server API for BlobService service.
|
||||
// All implementations must embed UnimplementedBlobServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// BlobService allows reading (or uploading) content-addressed blobs of data.
|
||||
// BLAKE3 is used as a hashing function for the data. Uploading a blob will
|
||||
// return the BLAKE3 digest of it, and that's the identifier used to Read/Stat
|
||||
// them too.
|
||||
type BlobServiceServer interface {
|
||||
// Stat can be used to check for the existence of a blob, as well as
|
||||
// gathering more data about it, like more granular chunking information
|
||||
|
|
@ -159,30 +136,34 @@ type BlobServiceServer interface {
|
|||
// The server may decide on whatever chunking it may seem fit as a size for
|
||||
// the individual BlobChunk sent in the response stream, this is mostly to
|
||||
// keep individual messages at a manageable size.
|
||||
Read(*ReadBlobRequest, BlobService_ReadServer) error
|
||||
Read(*ReadBlobRequest, grpc.ServerStreamingServer[BlobChunk]) error
|
||||
// Put uploads a Blob, by reading a stream of bytes.
|
||||
//
|
||||
// The way the data is chunked up in individual BlobChunk messages sent in
|
||||
// the stream has no effect on how the server ends up chunking blobs up, if
|
||||
// it does at all.
|
||||
Put(BlobService_PutServer) error
|
||||
Put(grpc.ClientStreamingServer[BlobChunk, PutBlobResponse]) error
|
||||
mustEmbedUnimplementedBlobServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedBlobServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedBlobServiceServer struct {
|
||||
}
|
||||
// UnimplementedBlobServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedBlobServiceServer struct{}
|
||||
|
||||
func (UnimplementedBlobServiceServer) Stat(context.Context, *StatBlobRequest) (*StatBlobResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Stat not implemented")
|
||||
}
|
||||
func (UnimplementedBlobServiceServer) Read(*ReadBlobRequest, BlobService_ReadServer) error {
|
||||
func (UnimplementedBlobServiceServer) Read(*ReadBlobRequest, grpc.ServerStreamingServer[BlobChunk]) error {
|
||||
return status.Errorf(codes.Unimplemented, "method Read not implemented")
|
||||
}
|
||||
func (UnimplementedBlobServiceServer) Put(BlobService_PutServer) error {
|
||||
func (UnimplementedBlobServiceServer) Put(grpc.ClientStreamingServer[BlobChunk, PutBlobResponse]) error {
|
||||
return status.Errorf(codes.Unimplemented, "method Put not implemented")
|
||||
}
|
||||
func (UnimplementedBlobServiceServer) mustEmbedUnimplementedBlobServiceServer() {}
|
||||
func (UnimplementedBlobServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeBlobServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to BlobServiceServer will
|
||||
|
|
@ -192,6 +173,13 @@ type UnsafeBlobServiceServer interface {
|
|||
}
|
||||
|
||||
func RegisterBlobServiceServer(s grpc.ServiceRegistrar, srv BlobServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedBlobServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&BlobService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
|
@ -218,47 +206,18 @@ func _BlobService_Read_Handler(srv interface{}, stream grpc.ServerStream) error
|
|||
if err := stream.RecvMsg(m); err != nil {
|
||||
return err
|
||||
}
|
||||
return srv.(BlobServiceServer).Read(m, &blobServiceReadServer{stream})
|
||||
return srv.(BlobServiceServer).Read(m, &grpc.GenericServerStream[ReadBlobRequest, BlobChunk]{ServerStream: stream})
|
||||
}
|
||||
|
||||
type BlobService_ReadServer interface {
|
||||
Send(*BlobChunk) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type blobServiceReadServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *blobServiceReadServer) Send(m *BlobChunk) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type BlobService_ReadServer = grpc.ServerStreamingServer[BlobChunk]
|
||||
|
||||
func _BlobService_Put_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
return srv.(BlobServiceServer).Put(&blobServicePutServer{stream})
|
||||
return srv.(BlobServiceServer).Put(&grpc.GenericServerStream[BlobChunk, PutBlobResponse]{ServerStream: stream})
|
||||
}
|
||||
|
||||
type BlobService_PutServer interface {
|
||||
SendAndClose(*PutBlobResponse) error
|
||||
Recv() (*BlobChunk, error)
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type blobServicePutServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *blobServicePutServer) SendAndClose(m *PutBlobResponse) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func (x *blobServicePutServer) Recv() (*BlobChunk, error) {
|
||||
m := new(BlobChunk)
|
||||
if err := x.ServerStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type BlobService_PutServer = grpc.ClientStreamingServer[BlobChunk, PutBlobResponse]
|
||||
|
||||
// BlobService_ServiceDesc is the grpc.ServiceDesc for BlobService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.2
|
||||
// protoc-gen-go v1.36.0
|
||||
// protoc (unknown)
|
||||
// source: tvix/castore/protos/rpc_directory.proto
|
||||
|
||||
|
|
@ -24,11 +24,8 @@ const (
|
|||
)
|
||||
|
||||
type GetDirectoryRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// Types that are assignable to ByWhat:
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Types that are valid to be assigned to ByWhat:
|
||||
//
|
||||
// *GetDirectoryRequest_Digest
|
||||
ByWhat isGetDirectoryRequest_ByWhat `protobuf_oneof:"by_what"`
|
||||
|
|
@ -36,7 +33,9 @@ type GetDirectoryRequest struct {
|
|||
// Directory messages SHOULD be streamed in a recursive breadth-first walk,
|
||||
// but other orders are also fine, as long as Directory messages are only
|
||||
// sent after they are referred to from previously sent Directory messages.
|
||||
Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"`
|
||||
Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetDirectoryRequest) Reset() {
|
||||
|
|
@ -69,16 +68,18 @@ func (*GetDirectoryRequest) Descriptor() ([]byte, []int) {
|
|||
return file_tvix_castore_protos_rpc_directory_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (m *GetDirectoryRequest) GetByWhat() isGetDirectoryRequest_ByWhat {
|
||||
if m != nil {
|
||||
return m.ByWhat
|
||||
func (x *GetDirectoryRequest) GetByWhat() isGetDirectoryRequest_ByWhat {
|
||||
if x != nil {
|
||||
return x.ByWhat
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *GetDirectoryRequest) GetDigest() []byte {
|
||||
if x, ok := x.GetByWhat().(*GetDirectoryRequest_Digest); ok {
|
||||
return x.Digest
|
||||
if x != nil {
|
||||
if x, ok := x.ByWhat.(*GetDirectoryRequest_Digest); ok {
|
||||
return x.Digest
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
@ -104,11 +105,10 @@ type GetDirectoryRequest_Digest struct {
|
|||
func (*GetDirectoryRequest_Digest) isGetDirectoryRequest_ByWhat() {}
|
||||
|
||||
type PutDirectoryResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
RootDigest []byte `protobuf:"bytes,1,opt,name=root_digest,json=rootDigest,proto3" json:"root_digest,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RootDigest []byte `protobuf:"bytes,1,opt,name=root_digest,json=rootDigest,proto3" json:"root_digest,omitempty"`
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *PutDirectoryResponse) Reset() {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc (unknown)
|
||||
// source: tvix/castore/protos/rpc_directory.proto
|
||||
|
||||
|
|
@ -18,8 +18,8 @@ import (
|
|||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
DirectoryService_Get_FullMethodName = "/tvix.castore.v1.DirectoryService/Get"
|
||||
|
|
@ -40,7 +40,7 @@ type DirectoryServiceClient interface {
|
|||
// Directory digests that are at the "root", aka the last element that's
|
||||
// sent in a Put. This makes sense for implementations bundling closures of
|
||||
// directories together in batches.
|
||||
Get(ctx context.Context, in *GetDirectoryRequest, opts ...grpc.CallOption) (DirectoryService_GetClient, error)
|
||||
Get(ctx context.Context, in *GetDirectoryRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[Directory], error)
|
||||
// Put uploads a graph of Directory messages.
|
||||
// Individual Directory messages need to be send in an order walking up
|
||||
// from the leaves to the root - a Directory message can only refer to
|
||||
|
|
@ -50,7 +50,7 @@ type DirectoryServiceClient interface {
|
|||
// so sending subsequent ones can be omitted.
|
||||
// We might add a separate method, allowing to send partial graphs at a later
|
||||
// time, if requiring to send the full graph turns out to be a problem.
|
||||
Put(ctx context.Context, opts ...grpc.CallOption) (DirectoryService_PutClient, error)
|
||||
Put(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[Directory, PutDirectoryResponse], error)
|
||||
}
|
||||
|
||||
type directoryServiceClient struct {
|
||||
|
|
@ -61,12 +61,13 @@ func NewDirectoryServiceClient(cc grpc.ClientConnInterface) DirectoryServiceClie
|
|||
return &directoryServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *directoryServiceClient) Get(ctx context.Context, in *GetDirectoryRequest, opts ...grpc.CallOption) (DirectoryService_GetClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &DirectoryService_ServiceDesc.Streams[0], DirectoryService_Get_FullMethodName, opts...)
|
||||
func (c *directoryServiceClient) Get(ctx context.Context, in *GetDirectoryRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[Directory], error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
stream, err := c.cc.NewStream(ctx, &DirectoryService_ServiceDesc.Streams[0], DirectoryService_Get_FullMethodName, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &directoryServiceGetClient{stream}
|
||||
x := &grpc.GenericClientStream[GetDirectoryRequest, Directory]{ClientStream: stream}
|
||||
if err := x.ClientStream.SendMsg(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -76,60 +77,25 @@ func (c *directoryServiceClient) Get(ctx context.Context, in *GetDirectoryReques
|
|||
return x, nil
|
||||
}
|
||||
|
||||
type DirectoryService_GetClient interface {
|
||||
Recv() (*Directory, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type DirectoryService_GetClient = grpc.ServerStreamingClient[Directory]
|
||||
|
||||
type directoryServiceGetClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *directoryServiceGetClient) Recv() (*Directory, error) {
|
||||
m := new(Directory)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func (c *directoryServiceClient) Put(ctx context.Context, opts ...grpc.CallOption) (DirectoryService_PutClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &DirectoryService_ServiceDesc.Streams[1], DirectoryService_Put_FullMethodName, opts...)
|
||||
func (c *directoryServiceClient) Put(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[Directory, PutDirectoryResponse], error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
stream, err := c.cc.NewStream(ctx, &DirectoryService_ServiceDesc.Streams[1], DirectoryService_Put_FullMethodName, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &directoryServicePutClient{stream}
|
||||
x := &grpc.GenericClientStream[Directory, PutDirectoryResponse]{ClientStream: stream}
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type DirectoryService_PutClient interface {
|
||||
Send(*Directory) error
|
||||
CloseAndRecv() (*PutDirectoryResponse, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
type directoryServicePutClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *directoryServicePutClient) Send(m *Directory) error {
|
||||
return x.ClientStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func (x *directoryServicePutClient) CloseAndRecv() (*PutDirectoryResponse, error) {
|
||||
if err := x.ClientStream.CloseSend(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
m := new(PutDirectoryResponse)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type DirectoryService_PutClient = grpc.ClientStreamingClient[Directory, PutDirectoryResponse]
|
||||
|
||||
// DirectoryServiceServer is the server API for DirectoryService service.
|
||||
// All implementations must embed UnimplementedDirectoryServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
type DirectoryServiceServer interface {
|
||||
// Get retrieves a stream of Directory messages, by using the lookup
|
||||
// parameters in GetDirectoryRequest.
|
||||
|
|
@ -141,7 +107,7 @@ type DirectoryServiceServer interface {
|
|||
// Directory digests that are at the "root", aka the last element that's
|
||||
// sent in a Put. This makes sense for implementations bundling closures of
|
||||
// directories together in batches.
|
||||
Get(*GetDirectoryRequest, DirectoryService_GetServer) error
|
||||
Get(*GetDirectoryRequest, grpc.ServerStreamingServer[Directory]) error
|
||||
// Put uploads a graph of Directory messages.
|
||||
// Individual Directory messages need to be send in an order walking up
|
||||
// from the leaves to the root - a Directory message can only refer to
|
||||
|
|
@ -151,21 +117,25 @@ type DirectoryServiceServer interface {
|
|||
// so sending subsequent ones can be omitted.
|
||||
// We might add a separate method, allowing to send partial graphs at a later
|
||||
// time, if requiring to send the full graph turns out to be a problem.
|
||||
Put(DirectoryService_PutServer) error
|
||||
Put(grpc.ClientStreamingServer[Directory, PutDirectoryResponse]) error
|
||||
mustEmbedUnimplementedDirectoryServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedDirectoryServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedDirectoryServiceServer struct {
|
||||
}
|
||||
// UnimplementedDirectoryServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedDirectoryServiceServer struct{}
|
||||
|
||||
func (UnimplementedDirectoryServiceServer) Get(*GetDirectoryRequest, DirectoryService_GetServer) error {
|
||||
func (UnimplementedDirectoryServiceServer) Get(*GetDirectoryRequest, grpc.ServerStreamingServer[Directory]) error {
|
||||
return status.Errorf(codes.Unimplemented, "method Get not implemented")
|
||||
}
|
||||
func (UnimplementedDirectoryServiceServer) Put(DirectoryService_PutServer) error {
|
||||
func (UnimplementedDirectoryServiceServer) Put(grpc.ClientStreamingServer[Directory, PutDirectoryResponse]) error {
|
||||
return status.Errorf(codes.Unimplemented, "method Put not implemented")
|
||||
}
|
||||
func (UnimplementedDirectoryServiceServer) mustEmbedUnimplementedDirectoryServiceServer() {}
|
||||
func (UnimplementedDirectoryServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeDirectoryServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to DirectoryServiceServer will
|
||||
|
|
@ -175,6 +145,13 @@ type UnsafeDirectoryServiceServer interface {
|
|||
}
|
||||
|
||||
func RegisterDirectoryServiceServer(s grpc.ServiceRegistrar, srv DirectoryServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedDirectoryServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&DirectoryService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
|
@ -183,47 +160,18 @@ func _DirectoryService_Get_Handler(srv interface{}, stream grpc.ServerStream) er
|
|||
if err := stream.RecvMsg(m); err != nil {
|
||||
return err
|
||||
}
|
||||
return srv.(DirectoryServiceServer).Get(m, &directoryServiceGetServer{stream})
|
||||
return srv.(DirectoryServiceServer).Get(m, &grpc.GenericServerStream[GetDirectoryRequest, Directory]{ServerStream: stream})
|
||||
}
|
||||
|
||||
type DirectoryService_GetServer interface {
|
||||
Send(*Directory) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type directoryServiceGetServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *directoryServiceGetServer) Send(m *Directory) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type DirectoryService_GetServer = grpc.ServerStreamingServer[Directory]
|
||||
|
||||
func _DirectoryService_Put_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
return srv.(DirectoryServiceServer).Put(&directoryServicePutServer{stream})
|
||||
return srv.(DirectoryServiceServer).Put(&grpc.GenericServerStream[Directory, PutDirectoryResponse]{ServerStream: stream})
|
||||
}
|
||||
|
||||
type DirectoryService_PutServer interface {
|
||||
SendAndClose(*PutDirectoryResponse) error
|
||||
Recv() (*Directory, error)
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type directoryServicePutServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *directoryServicePutServer) SendAndClose(m *PutDirectoryResponse) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func (x *directoryServicePutServer) Recv() (*Directory, error) {
|
||||
m := new(Directory)
|
||||
if err := x.ServerStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type DirectoryService_PutServer = grpc.ClientStreamingServer[Directory, PutDirectoryResponse]
|
||||
|
||||
// DirectoryService_ServiceDesc is the grpc.ServiceDesc for DirectoryService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue