From 28c97123011c03d70f2748a580a8667bdefc3f60 Mon Sep 17 00:00:00 2001 From: Aman Mangal Date: Thu, 10 Jul 2025 15:21:39 +0530 Subject: [PATCH 01/12] Make dgraph import work over the internet This PR fixes the timeout issue when cloudflare is not happy for just one way data send. It adds application level ACKs to work around the 120s timeout for a HTTP response. Additionally, it adds an argument to take p directory as input for the dgraph import command. --- Dockerfile | 4 +- dgraph/cmd/dgraphimport/import_client.go | 28 +++-- dgraph/cmd/dgraphimport/import_test.go | 10 +- dgraph/cmd/dgraphimport/run.go | 12 +++ dgraphtest/load.go | 4 + edgraph/server.go | 8 +- go.mod | 2 +- go.sum | 4 +- protos/pb/pb.pb.go | 77 ++++++++++++++ protos/pb/pb_grpc.pb.go | 20 ++++ worker/import.go | 126 ++++++++++++----------- 11 files changed, 213 insertions(+), 82 deletions(-) diff --git a/Dockerfile b/Dockerfile index 396d543f903..f82b1c26c6e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,11 +4,13 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ bzip2=1.0.8-5+b1 \ git=1:2.39.5-0+deb12u2 \ && rm -rf /var/lib/apt/lists/* +ARG TARGETARCH=amd64 +ARG TARGETOS=linux WORKDIR /go/src/repo COPY go.mod go.sum ./ RUN go mod download && go mod verify COPY . . -RUN CGO_ENABLED=0 make +RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} make ###################### Stage II ###################### FROM ubuntu:24.04 diff --git a/dgraph/cmd/dgraphimport/import_client.go b/dgraph/cmd/dgraphimport/import_client.go index fc56c96cbce..c6ff29b113e 100644 --- a/dgraph/cmd/dgraphimport/import_client.go +++ b/dgraph/cmd/dgraphimport/import_client.go @@ -127,23 +127,18 @@ func streamSnapshotForGroup(ctx context.Context, dc api.DgraphClient, pdir strin if err != nil { return fmt.Errorf("failed to start external snapshot stream for group %d: %w", groupId, err) } - defer func() { - if _, err := out.CloseAndRecv(); err != nil { - glog.Errorf("failed to close the stream for group [%v]: %v", groupId, err) - } - - glog.Infof("[import] Group [%v]: Received ACK ", groupId) + _ = out.CloseSend() }() // Open the BadgerDB instance at the specified directory opt := badger.DefaultOptions(pdir) + opt.ReadOnly = true ps, err := badger.OpenManaged(opt) if err != nil { glog.Errorf("failed to open BadgerDB at [%s]: %v", pdir, err) return fmt.Errorf("failed to open BadgerDB at [%v]: %v", pdir, err) } - defer func() { if err := ps.Close(); err != nil { glog.Warningf("[import] Error closing BadgerDB: %v", err) @@ -154,17 +149,18 @@ func streamSnapshotForGroup(ctx context.Context, dc api.DgraphClient, pdir strin glog.Infof("[import] Sending request for streaming external snapshot for group ID [%v]", groupId) groupReq := &api.StreamExtSnapshotRequest{GroupId: groupId} if err := out.Send(groupReq); err != nil { - return fmt.Errorf("failed to send request for streaming external snapshot for group ID [%v] to the server: %w", - groupId, err) + return fmt.Errorf("failed to send request for group ID [%v] to the server: %w", groupId, err) + } + if _, err := out.Recv(); err != nil { + return fmt.Errorf("failed to receive response for group ID [%v] from the server: %w", groupId, err) } + glog.Infof("[import] Group [%v]: Received ACK for sending group request", groupId) // Configure and start the BadgerDB stream glog.Infof("[import] Starting BadgerDB stream for group [%v]", groupId) - if err := streamBadger(ctx, ps, out, groupId); err != nil { return fmt.Errorf("badger streaming failed for group [%v]: %v", groupId, err) } - return nil } @@ -180,6 +176,11 @@ func streamBadger(ctx context.Context, ps *badger.DB, out api.Dgraph_StreamExtSn if err := out.Send(&api.StreamExtSnapshotRequest{Pkt: p}); err != nil && !errors.Is(err, io.EOF) { return fmt.Errorf("failed to send data chunk: %w", err) } + if _, err := out.Recv(); err != nil { + return fmt.Errorf("failed to receive response for group ID [%v] from the server: %w", groupId, err) + } + glog.Infof("[import] Group [%v]: Received ACK for sending data chunk", groupId) + return nil } @@ -196,5 +197,10 @@ func streamBadger(ctx context.Context, ps *badger.DB, out api.Dgraph_StreamExtSn return fmt.Errorf("failed to send 'done' signal for group [%d]: %w", groupId, err) } + if _, err := out.Recv(); err != nil { + return fmt.Errorf("failed to receive response for group ID [%v] from the server: %w", groupId, err) + } + glog.Infof("[import] Group [%v]: Received ACK for sending completion signal", groupId) + return nil } diff --git a/dgraph/cmd/dgraphimport/import_test.go b/dgraph/cmd/dgraphimport/import_test.go index 6513c95b3f4..fe44ef66b49 100644 --- a/dgraph/cmd/dgraphimport/import_test.go +++ b/dgraph/cmd/dgraphimport/import_test.go @@ -1,4 +1,4 @@ -//go:build integration +//go:build integration2 /* * SPDX-FileCopyrightText: © Hypermode Inc. @@ -79,7 +79,8 @@ func TestDrainModeAfterStartSnapshotStream(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - conf := dgraphtest.NewClusterConfig().WithNumAlphas(tt.numAlphas).WithNumZeros(tt.numZeros).WithReplicas(tt.replicas) + conf := dgraphtest.NewClusterConfig().WithNumAlphas(tt.numAlphas). + WithNumZeros(tt.numZeros).WithReplicas(tt.replicas) c, err := dgraphtest.NewLocalCluster(conf) require.NoError(t, err) defer func() { c.Cleanup(t.Failed()) }() @@ -284,7 +285,6 @@ func runImportTest(t *testing.T, tt testcase) { require.ErrorContains(t, err, tt.err) return } - require.NoError(t, Import(context.Background(), connectionString, outDir)) for group, alphas := range alphaGroups { @@ -347,7 +347,9 @@ func setupBulkCluster(t *testing.T, numAlphas int, encrypted bool) (*dgraphtest. } // setupTargetCluster creates and starts a cluster that will receive the imported data -func setupTargetCluster(t *testing.T, numAlphas, replicasFactor int) (*dgraphtest.LocalCluster, *dgraphapi.GrpcClient, func()) { +func setupTargetCluster(t *testing.T, numAlphas, replicasFactor int) ( + *dgraphtest.LocalCluster, *dgraphapi.GrpcClient, func()) { + conf := dgraphtest.NewClusterConfig(). WithNumAlphas(numAlphas). WithNumZeros(3). diff --git a/dgraph/cmd/dgraphimport/run.go b/dgraph/cmd/dgraphimport/run.go index 37985ee4233..707931570b3 100644 --- a/dgraph/cmd/dgraphimport/run.go +++ b/dgraph/cmd/dgraphimport/run.go @@ -34,6 +34,7 @@ func init() { flag := ImportCmd.Cmd.Flags() flag.StringP("files", "f", "", "Location of *.rdf(.gz) or *.json(.gz) file(s) to load.") + flag.StringP("snapshot-dir", "p", "", "Location of p directory") flag.StringP("schema", "s", "", "Location of DQL schema file.") flag.StringP("graphql_schema", "g", "", "Location of the GraphQL schema file.") flag.StringP("graphql-schema", "", "", "Location of the GraphQL schema file.") @@ -72,6 +73,17 @@ func run() { os.Exit(1) } + // if snapshot p directory is already provided, there is no need to run bulk loader + if ImportCmd.Conf.GetString("snapshot-dir") != "" { + connStr := ImportCmd.Conf.GetString("conn-str") + snapshotDir := ImportCmd.Conf.GetString("snapshot-dir") + if err := Import(context.Background(), connStr, snapshotDir); err != nil { + fmt.Println("Failed to import data:", err) + os.Exit(1) + } + return + } + cacheSize := 64 << 20 // These are the default values. User can overwrite them using --badger. cacheDefaults := fmt.Sprintf("indexcachesize=%d; blockcachesize=%d; ", (70*cacheSize)/100, (30*cacheSize)/100) diff --git a/dgraphtest/load.go b/dgraphtest/load.go index a2bbf0d8df0..d6f33bfa911 100644 --- a/dgraphtest/load.go +++ b/dgraphtest/load.go @@ -503,6 +503,10 @@ func (c *LocalCluster) BulkLoad(opts BulkOpts) error { args = append(args, "-g", strings.Join(opts.GQLSchemaFiles, ",")) } + dgraphCmdPath := os.Getenv("DGRAPH_CMD_PATH") + if dgraphCmdPath == "" { + dgraphCmdPath = filepath.Join(c.tempBinDir, "dgraph") + } log.Printf("[INFO] running bulk loader with args: [%v]", strings.Join(args, " ")) binaryName := "dgraph" if os.Getenv("DGRAPH_BINARY") != "" { diff --git a/edgraph/server.go b/edgraph/server.go index 130939a888b..4c8e6458631 100644 --- a/edgraph/server.go +++ b/edgraph/server.go @@ -1828,6 +1828,7 @@ func (s *Server) UpdateExtSnapshotStreamingState(ctx context.Context, groups, err := worker.ProposeDrain(ctx, req) if err != nil { + glog.Errorf("[import] failed to propose drain mode: %v", err) return nil, err } @@ -1838,8 +1839,11 @@ func (s *Server) UpdateExtSnapshotStreamingState(ctx context.Context, func (s *Server) StreamExtSnapshot(stream api.Dgraph_StreamExtSnapshotServer) error { defer x.ExtSnapshotStreamingState(false) - - return worker.InStream(stream) + if err := worker.InStream(stream); err != nil { + glog.Errorf("[import] failed to stream external snapshot: %v", err) + return err + } + return nil } // CommitOrAbort commits or aborts a transaction. diff --git a/go.mod b/go.mod index a3faae80669..9e61dc96daf 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/HdrHistogram/hdrhistogram-go v1.1.2 github.com/IBM/sarama v1.46.1 github.com/Masterminds/semver/v3 v3.4.0 - github.com/blevesearch/bleve/v2 v2.5.3 + github.com/blevesearch/bleve/v2 v2.5.2 github.com/dgraph-io/badger/v4 v4.8.0 github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20251001031539-c5607f0af3d0 github.com/dgraph-io/gqlgen v0.13.2 diff --git a/go.sum b/go.sum index 0daff4a5a8c..24c32b84b48 100644 --- a/go.sum +++ b/go.sum @@ -77,8 +77,8 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bits-and-blooms/bitset v1.22.0 h1:Tquv9S8+SGaS3EhyA+up3FXzmkhxPGjQQCkcs2uw7w4= github.com/bits-and-blooms/bitset v1.22.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= -github.com/blevesearch/bleve/v2 v2.5.3 h1:9l1xtKaETv64SZc1jc4Sy0N804laSa/LeMbYddq1YEM= -github.com/blevesearch/bleve/v2 v2.5.3/go.mod h1:Z/e8aWjiq8HeX+nW8qROSxiE0830yQA071dwR3yoMzw= +github.com/blevesearch/bleve/v2 v2.5.2 h1:Ab0r0MODV2C5A6BEL87GqLBySqp/s9xFgceCju6BQk8= +github.com/blevesearch/bleve/v2 v2.5.2/go.mod h1:5Dj6dUQxZM6aqYT3eutTD/GpWKGFSsV8f7LDidFbwXo= github.com/blevesearch/bleve_index_api v1.2.8 h1:Y98Pu5/MdlkRyLM0qDHostYo7i+Vv1cDNhqTeR4Sy6Y= github.com/blevesearch/bleve_index_api v1.2.8/go.mod h1:rKQDl4u51uwafZxFrPD1R7xFOwKnzZW7s/LSeK4lgo0= github.com/blevesearch/geo v0.2.4 h1:ECIGQhw+QALCZaDcogRTNSJYQXRtC8/m8IKiA706cqk= diff --git a/protos/pb/pb.pb.go b/protos/pb/pb.pb.go index aafb38698de..56261094020 100644 --- a/protos/pb/pb.pb.go +++ b/protos/pb/pb.pb.go @@ -6925,6 +6925,7 @@ var file_pb_proto_rawDesc = []byte{ 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x27, 0x0a, 0x09, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x07, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x75, 0x6d, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x41, +<<<<<<< HEAD 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x64, 0x73, 0x22, 0x00, 0x12, 0x28, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x07, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x75, 0x6d, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, @@ -6964,6 +6965,67 @@ var file_pb_proto_rawDesc = []byte{ 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, +======= + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x64, 0x73, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x0d, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x0f, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x0f, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x00, 0x12, 0x30, 0x0a, 0x08, 0x54, 0x72, 0x79, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x11, 0x2e, + 0x70, 0x62, 0x2e, 0x54, 0x78, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, + 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x74, + 0x61, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x0a, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, + 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x0a, + 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, + 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x32, + 0xaf, 0x07, 0x0a, 0x06, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x4d, 0x75, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x1a, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x12, 0x24, 0x0a, 0x09, 0x53, 0x65, 0x72, 0x76, 0x65, 0x54, + 0x61, 0x73, 0x6b, 0x12, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x0a, + 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x0e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x0c, + 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0x07, 0x2e, 0x70, + 0x62, 0x2e, 0x4b, 0x56, 0x53, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x29, 0x0a, 0x04, 0x53, + 0x6f, 0x72, 0x74, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x2f, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x10, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x07, + 0x2e, 0x70, 0x62, 0x2e, 0x4b, 0x56, 0x53, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x00, 0x28, 0x01, 0x12, 0x39, 0x0a, 0x0d, 0x4d, 0x6f, 0x76, + 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, + 0x4d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x62, 0x61, 0x64, + 0x67, 0x65, 0x72, 0x70, 0x62, 0x34, 0x2e, 0x4b, 0x56, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x58, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x0f, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x13, + 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, 0x52, 0x65, 0x71, 0x75, +>>>>>>> 2014a72d3 (Make dgraph import work over the internet) 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, @@ -6996,6 +7058,7 @@ var file_pb_proto_rawDesc = []byte{ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, +<<<<<<< HEAD 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x1d, 0x2e, @@ -7004,6 +7067,20 @@ var file_pb_proto_rawDesc = []byte{ 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +======= + 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x00, 0x12, 0x5e, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, + 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +>>>>>>> 2014a72d3 (Make dgraph import work over the internet) } var ( diff --git a/protos/pb/pb_grpc.pb.go b/protos/pb/pb_grpc.pb.go index af9438a532e..df22751bbfa 100644 --- a/protos/pb/pb_grpc.pb.go +++ b/protos/pb/pb_grpc.pb.go @@ -1148,8 +1148,13 @@ func (c *workerClient) StreamExtSnapshot(ctx context.Context, opts ...grpc.CallO } type Worker_StreamExtSnapshotClient interface { +<<<<<<< HEAD Send(*api.StreamExtSnapshotRequest) error CloseAndRecv() (*api.StreamExtSnapshotResponse, error) +======= + Send(*api_v2.StreamExtSnapshotRequest) error + Recv() (*api_v2.StreamExtSnapshotResponse, error) +>>>>>>> 2014a72d3 (Make dgraph import work over the internet) grpc.ClientStream } @@ -1161,11 +1166,16 @@ func (x *workerStreamExtSnapshotClient) Send(m *api.StreamExtSnapshotRequest) er return x.ClientStream.SendMsg(m) } +<<<<<<< HEAD func (x *workerStreamExtSnapshotClient) CloseAndRecv() (*api.StreamExtSnapshotResponse, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(api.StreamExtSnapshotResponse) +======= +func (x *workerStreamExtSnapshotClient) Recv() (*api_v2.StreamExtSnapshotResponse, error) { + m := new(api_v2.StreamExtSnapshotResponse) +>>>>>>> 2014a72d3 (Make dgraph import work over the internet) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -1555,8 +1565,13 @@ func _Worker_StreamExtSnapshot_Handler(srv interface{}, stream grpc.ServerStream } type Worker_StreamExtSnapshotServer interface { +<<<<<<< HEAD SendAndClose(*api.StreamExtSnapshotResponse) error Recv() (*api.StreamExtSnapshotRequest, error) +======= + Send(*api_v2.StreamExtSnapshotResponse) error + Recv() (*api_v2.StreamExtSnapshotRequest, error) +>>>>>>> 2014a72d3 (Make dgraph import work over the internet) grpc.ServerStream } @@ -1564,7 +1579,11 @@ type workerStreamExtSnapshotServer struct { grpc.ServerStream } +<<<<<<< HEAD func (x *workerStreamExtSnapshotServer) SendAndClose(m *api.StreamExtSnapshotResponse) error { +======= +func (x *workerStreamExtSnapshotServer) Send(m *api_v2.StreamExtSnapshotResponse) error { +>>>>>>> 2014a72d3 (Make dgraph import work over the internet) return x.ServerStream.SendMsg(m) } @@ -1652,6 +1671,7 @@ var Worker_ServiceDesc = grpc.ServiceDesc{ { StreamName: "StreamExtSnapshot", Handler: _Worker_StreamExtSnapshot_Handler, + ServerStreams: true, ClientStreams: true, }, }, diff --git a/worker/import.go b/worker/import.go index 73d915df8b7..4a28b5352d6 100644 --- a/worker/import.go +++ b/worker/import.go @@ -25,8 +25,8 @@ import ( ) type pubSub struct { - subscribers []chan *api.StreamExtSnapshotRequest sync.RWMutex + subscribers []chan *apiv2.StreamExtSnapshotRequest } // Subscribe returns a new channel to receive published messages @@ -60,31 +60,33 @@ func (ps *pubSub) handlePublisher(ctx context.Context, stream api.Dgraph_StreamE for { select { case <-ctx.Done(): - glog.Info("[import] Context cancelled, stopping receive goroutine.") + glog.Infof("[import] Context cancelled, stopping receive goroutine: %v", ctx.Err()) return ctx.Err() + default: msg, err := stream.Recv() - if err != nil { - if !errors.Is(err, io.EOF) { - glog.Errorf("[import] Error receiving from in stream: %v", err) - return err - } + if err != nil && !errors.Is(err, io.EOF) { + glog.Errorf("[import] error receiving from in stream: %v", err) + return err + } else if err == io.EOF { return nil } ps.publish(msg) + if err := stream.Send(&apiv2.StreamExtSnapshotResponse{Finish: false}); err != nil { + return err + } } } - } func (ps *pubSub) runForwardSubscriber(ctx context.Context, out api.Dgraph_StreamExtSnapshotClient, peerId string) error { buffer := ps.subscribe() - size := 0 Loop: for { select { case <-ctx.Done(): - return fmt.Errorf("context deadline exceeded") + glog.Infof("[import] Context cancelled, stopping receive goroutine: %v", ctx.Err()) + return ctx.Err() default: msg, ok := <-buffer @@ -103,31 +105,36 @@ Loop: break Loop } + data := &apiv2.StreamExtSnapshotRequest{Pkt: &apiv2.StreamPacket{Data: msg.Pkt.Data}} if err := out.Send(data); err != nil { return err } - - size += len(msg.Pkt.Data) } } return nil } -func (ps *pubSub) runLocalSubscriber(ctx context.Context) error { +func (ps *pubSub) runLocalSubscriber(ctx context.Context, stream pb.Worker_StreamExtSnapshotServer) error { + defer func() { + glog.Infof("[import] local subscriber stopped") + }() + buffer := ps.subscribe() - size := 0 glog.Infof("[import:flush] flushing external snapshot in badger db") + sw := pstore.NewStreamWriter() defer sw.Cancel() if err := sw.Prepare(); err != nil { return err } + Loop: for { select { case <-ctx.Done(): - return fmt.Errorf("context deadline exceeded") + glog.Infof("[import] Context cancelled, stopping receive goroutine: %v", ctx.Err()) + return ctx.Err() default: msg, ok := <-buffer @@ -139,7 +146,6 @@ Loop: break } - size += len(kvs.Data) buf := z.NewBufferSlice(kvs.Data) if err := sw.Write(buf); err != nil { return err @@ -150,14 +156,23 @@ Loop: if err := sw.Flush(); err != nil { return err } + glog.Infof("[import:flush] successfully flushed data in badger db") - return postStreamProcessing(ctx) + if err := postStreamProcessing(ctx); err != nil { + return err + } + + if err := stream.Send(&apiv2.StreamExtSnapshotResponse{Finish: true}); err != nil { + glog.Errorf("[import] failed to send close on in: %v", err) + return err + } + return nil } func ProposeDrain(ctx context.Context, drainMode *api.UpdateExtSnapshotStreamingStateRequest) ([]uint32, error) { memState := GetMembershipState() currentGroups := make([]uint32, 0) - for gid := range memState.GetGroups() { + for gid := range members.GetGroups() { currentGroups = append(currentGroups, gid) } @@ -176,8 +191,8 @@ func ProposeDrain(ctx context.Context, drainMode *api.UpdateExtSnapshotStreaming glog.Errorf("[import:apply-drainmode] unable to connect to the leader of group [%v]", gid) return nil, fmt.Errorf("unable to connect to the leader of group [%v] : %v", gid, conn.ErrNoConnection) } - con := pl.Get() - c := pb.NewWorkerClient(con) + + c := pb.NewWorkerClient(pl.Get()) glog.Infof("[import:apply-drainmode] Successfully connected to leader of group [%v]", gid) if _, err := c.UpdateExtSnapshotStreamingState(ctx, drainMode); err != nil { @@ -203,14 +218,14 @@ func InStream(stream api.Dgraph_StreamExtSnapshotServer) error { groupId := req.GroupId if groupId == groups().Node.gid { - glog.Infof("[import] Streaming external snapshot to current Group [%v]", groupId) + glog.Infof("[import] streaming external snapshot to current group [%v]", groupId) return streamInGroup(stream, true) } - glog.Infof("[import] Streaming external snapshot to other Group [%v]", groupId) + glog.Infof("[import] streaming external snapshot to other group [%v]", groupId) pl := groups().Leader(groupId) if pl == nil { - glog.Errorf("[import] Unable to connect to the leader of group [%v]", groupId) + glog.Errorf("[import] unable to connect to the leader of group [%v]", groupId) return fmt.Errorf("unable to connect to the leader of group [%v] : %v", groupId, conn.ErrNoConnection) } @@ -218,13 +233,15 @@ func InStream(stream api.Dgraph_StreamExtSnapshotServer) error { c := pb.NewWorkerClient(con) alphaStream, err := c.StreamExtSnapshot(stream.Context()) if err != nil { + glog.Errorf("[import] failed to establish stream with leader: %v", err) return fmt.Errorf("failed to establish stream with leader: %v", err) } glog.Infof("[import] sending forward true to leader of group [%v]", groupId) forwardReq := &api.StreamExtSnapshotRequest{Forward: true} if err := alphaStream.Send(forwardReq); err != nil { - return fmt.Errorf("failed streamInGroupto send forward request: %w", err) + glog.Errorf("[import] failed to send forward request: %v", err) + return fmt.Errorf("failed to send forward request: %v", err) } return pipeTwoStream(stream, alphaStream, groupId) @@ -244,9 +261,7 @@ func pipeTwoStream(in api.Dgraph_StreamExtSnapshotServer, out pb.Worker_StreamEx }() defer func() { - // Wait for ACK from the out stream - _, err := out.CloseAndRecv() - if err != nil { + if err := out.CloseSend(); err != nil { glog.Errorf("[import] [forward from group %v to group %v] failed to receive ACK from group [%v]: %v", currentGroup, groupId, groupId, err) } @@ -254,26 +269,17 @@ func pipeTwoStream(in api.Dgraph_StreamExtSnapshotServer, out pb.Worker_StreamEx ps := &pubSub{} eg, egCtx := errgroup.WithContext(in.Context()) - eg.Go(func() error { - if err := ps.runForwardSubscriber(egCtx, out, fmt.Sprintf("%d", groupId)); err != nil { - return err - } - return nil + return ps.runForwardSubscriber(egCtx, out, fmt.Sprintf("%d", groupId)) }) - eg.Go(func() error { - if err := ps.handlePublisher(egCtx, in); err != nil { - return err - } - return nil + return ps.handlePublisher(egCtx, in) }) - if err := eg.Wait(); err != nil { return err } - glog.Infof("[import] [forward from group %v to group %v] Received ACK from group [%v]", currentGroup, groupId, groupId) + glog.Infof("[import] [forward from group %v to group %v] received ACK from group [%v]", currentGroup, groupId, groupId) return nil } @@ -287,7 +293,7 @@ func (w *grpcWorker) UpdateExtSnapshotStreamingState(ctx context.Context, return nil, errors.New("UpdateExtSnapshotStreamingStateRequest cannot have both Start and Finish set to true") } - glog.Infof("[import] Applying import mode proposal: %v", req) + glog.Infof("[import] Applying import mode proposal: %+v", req) err := groups().Node.proposeAndWait(ctx, &pb.Proposal{ExtSnapshotState: req}) return &pb.Status{}, err @@ -298,8 +304,9 @@ func (w *grpcWorker) UpdateExtSnapshotStreamingState(ctx context.Context, // If the node is the leader (Forward is true), it streams the data to its followers. // Otherwise, it simply writes the data to BadgerDB and flushes it. func (w *grpcWorker) StreamExtSnapshot(stream pb.Worker_StreamExtSnapshotServer) error { - glog.Info("[import] updating import mode to false") + glog.Info("[import] trying to update the import mode to false") defer x.ExtSnapshotStreamingState(false) + // Receive the first message to check the Forward flag. // If Forward is true, this node is the leader and should forward the stream to its followers. // If Forward is false, the node just writes and flushes the data. @@ -308,11 +315,8 @@ func (w *grpcWorker) StreamExtSnapshot(stream pb.Worker_StreamExtSnapshotServer) return err } - if err := streamInGroup(stream, forwardReq.Forward); err != nil { - return err - } - - return nil + glog.Infof("[import] received forward flag: %v", forwardReq.Forward) + return streamInGroup(stream, forwardReq.Forward) } // postStreamProcessing handles the post-stream processing of data received from the buffer into the local BadgerDB. @@ -334,7 +338,6 @@ func postStreamProcessing(ctx context.Context) error { groups().applyInitialTypes() ResetGQLSchemaStore() glog.Info("[import:flush] post stream processing done") - return nil } @@ -363,42 +366,46 @@ func postStreamProcessing(ctx context.Context) error { // - error: If there's an issue receiving data or if majority consensus isn't achieved (for leader) func streamInGroup(stream api.Dgraph_StreamExtSnapshotServer, forward bool) error { node := groups().Node - glog.Infof("[import] got stream,forwarding in group [%v]", forward) + glog.Infof("[import] got stream, forwarding in group [%v]", forward) - ps := &pubSub{} - eg, errGCtx := errgroup.WithContext(stream.Context()) // We created this to check the majority successfulNodes := make(map[string]bool) + ps := &pubSub{} + eg, errGCtx := errgroup.WithContext(stream.Context()) for _, member := range groups().state.Groups[node.gid].Members { if member.Addr == node.MyAddr { eg.Go(func() error { - if err := ps.runLocalSubscriber(errGCtx); err != nil { + if err := ps.runLocalSubscriber(errGCtx, stream); err != nil { glog.Errorf("[import:flush] failed to run local subscriber: %v", err) updateNodeStatus(&ps.RWMutex, successfulNodes, member.Addr, false) return err } + updateNodeStatus(&ps.RWMutex, successfulNodes, member.Addr, true) return nil }) continue } - // We are not going to return any error from here because we care about the majority of nodes. - // If the majority of nodes are able to receive the data, the remaining ones can catch up later. if forward { + // We are not going to return any error from here because we care about the majority of nodes. + // If the majority of nodes are able to receive the data, the remaining ones can catch up later. + glog.Infof("[import] Streaming external snapshot to [%v] from [%v] forward [%v]", member.Addr, node.MyAddr) eg.Go(func() error { glog.Infof(`[import:forward] streaming external snapshot to [%v] from [%v]`, member.Addr, node.MyAddr) if member.AmDead { glog.Infof(`[import:forward] [%v] is dead, skipping`, member.Addr) return nil } + pl, err := conn.GetPools().Get(member.Addr) if err != nil { updateNodeStatus(&ps.RWMutex, successfulNodes, member.Addr, false) glog.Errorf("connection error to [%v]: %v", member.Addr, err) return nil } + c := pb.NewWorkerClient(pl.Get()) peerStream, err := c.StreamExtSnapshot(errGCtx) if err != nil { @@ -407,9 +414,8 @@ func streamInGroup(stream api.Dgraph_StreamExtSnapshotServer, forward bool) erro return nil } defer func() { - _, err = peerStream.CloseAndRecv() - if err != nil { - glog.Errorf("[import:forward] failed to receive ACK from [%v]: %v", member.Addr, err) + if err := peerStream.CloseSend(); err != nil { + glog.Errorf("[import:forward] failed to close stream with peer [%v]: %v", member.Addr, err) } }() @@ -441,23 +447,21 @@ func streamInGroup(stream api.Dgraph_StreamExtSnapshotServer, forward bool) erro } }() if err := ps.handlePublisher(errGCtx, stream); err != nil { - return err + return fmt.Errorf("failed to run publisher: %v", err) } - return nil }) if err := eg.Wait(); err != nil { - return err + return fmt.Errorf("failed to run in group streaming: %v", err) } // If this node is the leader and fails to reach a majority of nodes, we return an error. // This ensures that the data is reliably received by enough nodes before proceeding. if forward && !checkMajority(successfulNodes) { glog.Error("[import] Majority of nodes failed to receive data.") - return errors.New("failed to send data to majority of the nodes") + return fmt.Errorf("failed to send data to majority of the nodes") } - return nil } From b63bf0d025c2377712869746bdc7dd62c06fee32 Mon Sep 17 00:00:00 2001 From: shivaji-dgraph Date: Thu, 4 Sep 2025 17:26:46 +0530 Subject: [PATCH 02/12] increase timeout --- protos/pb/pb.pb.go | 8281 -------------------------------------------- 1 file changed, 8281 deletions(-) diff --git a/protos/pb/pb.pb.go b/protos/pb/pb.pb.go index 56261094020..e69de29bb2d 100644 --- a/protos/pb/pb.pb.go +++ b/protos/pb/pb.pb.go @@ -1,8281 +0,0 @@ -// -// SPDX-FileCopyrightText: © Hypermode Inc. -// SPDX-License-Identifier: Apache-2.0 - -// Style guide for Protocol Buffer 3. -// Use CamelCase (with an initial capital) for message names – for example, -// SongServerRequest. Use underscore_separated_names for field names – for -// example, song_name. - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v3.21.12 -// source: pb.proto - -package pb - -import ( - pb "github.com/dgraph-io/badger/v4/pb" - api "github.com/dgraph-io/dgo/v250/protos/api" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - _ "google.golang.org/protobuf/types/descriptorpb" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type DirectedEdge_Op int32 - -const ( - DirectedEdge_SET DirectedEdge_Op = 0 - DirectedEdge_DEL DirectedEdge_Op = 1 - DirectedEdge_OVR DirectedEdge_Op = 2 -) - -// Enum value maps for DirectedEdge_Op. -var ( - DirectedEdge_Op_name = map[int32]string{ - 0: "SET", - 1: "DEL", - 2: "OVR", - } - DirectedEdge_Op_value = map[string]int32{ - "SET": 0, - "DEL": 1, - "OVR": 2, - } -) - -func (x DirectedEdge_Op) Enum() *DirectedEdge_Op { - p := new(DirectedEdge_Op) - *p = x - return p -} - -func (x DirectedEdge_Op) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DirectedEdge_Op) Descriptor() protoreflect.EnumDescriptor { - return file_pb_proto_enumTypes[0].Descriptor() -} - -func (DirectedEdge_Op) Type() protoreflect.EnumType { - return &file_pb_proto_enumTypes[0] -} - -func (x DirectedEdge_Op) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use DirectedEdge_Op.Descriptor instead. -func (DirectedEdge_Op) EnumDescriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{18, 0} -} - -type Mutations_DropOp int32 - -const ( - Mutations_NONE Mutations_DropOp = 0 - Mutations_ALL Mutations_DropOp = 1 - Mutations_DATA Mutations_DropOp = 2 - Mutations_TYPE Mutations_DropOp = 3 - Mutations_ALL_IN_NS Mutations_DropOp = 4 -) - -// Enum value maps for Mutations_DropOp. -var ( - Mutations_DropOp_name = map[int32]string{ - 0: "NONE", - 1: "ALL", - 2: "DATA", - 3: "TYPE", - 4: "ALL_IN_NS", - } - Mutations_DropOp_value = map[string]int32{ - "NONE": 0, - "ALL": 1, - "DATA": 2, - "TYPE": 3, - "ALL_IN_NS": 4, - } -) - -func (x Mutations_DropOp) Enum() *Mutations_DropOp { - p := new(Mutations_DropOp) - *p = x - return p -} - -func (x Mutations_DropOp) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Mutations_DropOp) Descriptor() protoreflect.EnumDescriptor { - return file_pb_proto_enumTypes[1].Descriptor() -} - -func (Mutations_DropOp) Type() protoreflect.EnumType { - return &file_pb_proto_enumTypes[1] -} - -func (x Mutations_DropOp) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Mutations_DropOp.Descriptor instead. -func (Mutations_DropOp) EnumDescriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{19, 0} -} - -// HintType represents a hint that will be passed along the mutation and used -// to add the predicate to the schema if it's not already there. -type Metadata_HintType int32 - -const ( - // DEFAULT means no hint is provided and Dgraph will follow the default - // behavior. - Metadata_DEFAULT Metadata_HintType = 0 - // SINGLE signals that the predicate should be created as a single type (e.g - // string, uid). - Metadata_SINGLE Metadata_HintType = 1 - // LIST signals that the predicate should be created as a list (e.g - // [string], [uid]). - Metadata_LIST Metadata_HintType = 2 -) - -// Enum value maps for Metadata_HintType. -var ( - Metadata_HintType_name = map[int32]string{ - 0: "DEFAULT", - 1: "SINGLE", - 2: "LIST", - } - Metadata_HintType_value = map[string]int32{ - "DEFAULT": 0, - "SINGLE": 1, - "LIST": 2, - } -) - -func (x Metadata_HintType) Enum() *Metadata_HintType { - p := new(Metadata_HintType) - *p = x - return p -} - -func (x Metadata_HintType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Metadata_HintType) Descriptor() protoreflect.EnumDescriptor { - return file_pb_proto_enumTypes[2].Descriptor() -} - -func (Metadata_HintType) Type() protoreflect.EnumType { - return &file_pb_proto_enumTypes[2] -} - -func (x Metadata_HintType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Metadata_HintType.Descriptor instead. -func (Metadata_HintType) EnumDescriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{20, 0} -} - -type Posting_ValType int32 - -const ( - Posting_DEFAULT Posting_ValType = 0 - Posting_BINARY Posting_ValType = 1 - Posting_INT Posting_ValType = 2 // We treat it as int64. - Posting_FLOAT Posting_ValType = 3 - Posting_BOOL Posting_ValType = 4 - Posting_DATETIME Posting_ValType = 5 - Posting_GEO Posting_ValType = 6 - Posting_UID Posting_ValType = 7 - Posting_PASSWORD Posting_ValType = 8 - Posting_STRING Posting_ValType = 9 - Posting_OBJECT Posting_ValType = 10 - Posting_BIGFLOAT Posting_ValType = 11 - Posting_VFLOAT Posting_ValType = 12 // Float64 Vector -) - -// Enum value maps for Posting_ValType. -var ( - Posting_ValType_name = map[int32]string{ - 0: "DEFAULT", - 1: "BINARY", - 2: "INT", - 3: "FLOAT", - 4: "BOOL", - 5: "DATETIME", - 6: "GEO", - 7: "UID", - 8: "PASSWORD", - 9: "STRING", - 10: "OBJECT", - 11: "BIGFLOAT", - 12: "VFLOAT", - } - Posting_ValType_value = map[string]int32{ - "DEFAULT": 0, - "BINARY": 1, - "INT": 2, - "FLOAT": 3, - "BOOL": 4, - "DATETIME": 5, - "GEO": 6, - "UID": 7, - "PASSWORD": 8, - "STRING": 9, - "OBJECT": 10, - "BIGFLOAT": 11, - "VFLOAT": 12, - } -) - -func (x Posting_ValType) Enum() *Posting_ValType { - p := new(Posting_ValType) - *p = x - return p -} - -func (x Posting_ValType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Posting_ValType) Descriptor() protoreflect.EnumDescriptor { - return file_pb_proto_enumTypes[3].Descriptor() -} - -func (Posting_ValType) Type() protoreflect.EnumType { - return &file_pb_proto_enumTypes[3] -} - -func (x Posting_ValType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Posting_ValType.Descriptor instead. -func (Posting_ValType) EnumDescriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{27, 0} -} - -type Posting_PostingType int32 - -const ( - Posting_REF Posting_PostingType = 0 // UID - Posting_VALUE Posting_PostingType = 1 // simple, plain value - Posting_VALUE_LANG Posting_PostingType = 2 // value with specified language -) - -// Enum value maps for Posting_PostingType. -var ( - Posting_PostingType_name = map[int32]string{ - 0: "REF", - 1: "VALUE", - 2: "VALUE_LANG", - } - Posting_PostingType_value = map[string]int32{ - "REF": 0, - "VALUE": 1, - "VALUE_LANG": 2, - } -) - -func (x Posting_PostingType) Enum() *Posting_PostingType { - p := new(Posting_PostingType) - *p = x - return p -} - -func (x Posting_PostingType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Posting_PostingType) Descriptor() protoreflect.EnumDescriptor { - return file_pb_proto_enumTypes[4].Descriptor() -} - -func (Posting_PostingType) Type() protoreflect.EnumType { - return &file_pb_proto_enumTypes[4] -} - -func (x Posting_PostingType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Posting_PostingType.Descriptor instead. -func (Posting_PostingType) EnumDescriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{27, 1} -} - -type SchemaUpdate_Directive int32 - -const ( - SchemaUpdate_NONE SchemaUpdate_Directive = 0 - SchemaUpdate_INDEX SchemaUpdate_Directive = 1 - SchemaUpdate_REVERSE SchemaUpdate_Directive = 2 - SchemaUpdate_DELETE SchemaUpdate_Directive = 3 -) - -// Enum value maps for SchemaUpdate_Directive. -var ( - SchemaUpdate_Directive_name = map[int32]string{ - 0: "NONE", - 1: "INDEX", - 2: "REVERSE", - 3: "DELETE", - } - SchemaUpdate_Directive_value = map[string]int32{ - "NONE": 0, - "INDEX": 1, - "REVERSE": 2, - "DELETE": 3, - } -) - -func (x SchemaUpdate_Directive) Enum() *SchemaUpdate_Directive { - p := new(SchemaUpdate_Directive) - *p = x - return p -} - -func (x SchemaUpdate_Directive) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SchemaUpdate_Directive) Descriptor() protoreflect.EnumDescriptor { - return file_pb_proto_enumTypes[5].Descriptor() -} - -func (SchemaUpdate_Directive) Type() protoreflect.EnumType { - return &file_pb_proto_enumTypes[5] -} - -func (x SchemaUpdate_Directive) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SchemaUpdate_Directive.Descriptor instead. -func (SchemaUpdate_Directive) EnumDescriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{40, 0} -} - -type NumLeaseType int32 - -const ( - Num_NS_ID NumLeaseType = 0 - Num_UID NumLeaseType = 1 - Num_TXN_TS NumLeaseType = 2 -) - -// Enum value maps for NumLeaseType. -var ( - NumLeaseType_name = map[int32]string{ - 0: "NS_ID", - 1: "UID", - 2: "TXN_TS", - } - NumLeaseType_value = map[string]int32{ - "NS_ID": 0, - "UID": 1, - "TXN_TS": 2, - } -) - -func (x NumLeaseType) Enum() *NumLeaseType { - p := new(NumLeaseType) - *p = x - return p -} - -func (x NumLeaseType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NumLeaseType) Descriptor() protoreflect.EnumDescriptor { - return file_pb_proto_enumTypes[6].Descriptor() -} - -func (NumLeaseType) Type() protoreflect.EnumType { - return &file_pb_proto_enumTypes[6] -} - -func (x NumLeaseType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use NumLeaseType.Descriptor instead. -func (NumLeaseType) EnumDescriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{55, 0} -} - -type DropOperation_DropOp int32 - -const ( - DropOperation_ALL DropOperation_DropOp = 0 - DropOperation_DATA DropOperation_DropOp = 1 - DropOperation_ATTR DropOperation_DropOp = 2 - DropOperation_NS DropOperation_DropOp = 3 -) - -// Enum value maps for DropOperation_DropOp. -var ( - DropOperation_DropOp_name = map[int32]string{ - 0: "ALL", - 1: "DATA", - 2: "ATTR", - 3: "NS", - } - DropOperation_DropOp_value = map[string]int32{ - "ALL": 0, - "DATA": 1, - "ATTR": 2, - "NS": 3, - } -) - -func (x DropOperation_DropOp) Enum() *DropOperation_DropOp { - p := new(DropOperation_DropOp) - *p = x - return p -} - -func (x DropOperation_DropOp) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DropOperation_DropOp) Descriptor() protoreflect.EnumDescriptor { - return file_pb_proto_enumTypes[7].Descriptor() -} - -func (DropOperation_DropOp) Type() protoreflect.EnumType { - return &file_pb_proto_enumTypes[7] -} - -func (x DropOperation_DropOp) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use DropOperation_DropOp.Descriptor instead. -func (DropOperation_DropOp) EnumDescriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{63, 0} -} - -type BackupKey_KeyType int32 - -const ( - BackupKey_UNKNOWN BackupKey_KeyType = 0 - BackupKey_DATA BackupKey_KeyType = 1 - BackupKey_INDEX BackupKey_KeyType = 2 - BackupKey_REVERSE BackupKey_KeyType = 3 - BackupKey_COUNT BackupKey_KeyType = 4 - BackupKey_COUNT_REV BackupKey_KeyType = 5 - BackupKey_SCHEMA BackupKey_KeyType = 6 - BackupKey_TYPE BackupKey_KeyType = 7 -) - -// Enum value maps for BackupKey_KeyType. -var ( - BackupKey_KeyType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "DATA", - 2: "INDEX", - 3: "REVERSE", - 4: "COUNT", - 5: "COUNT_REV", - 6: "SCHEMA", - 7: "TYPE", - } - BackupKey_KeyType_value = map[string]int32{ - "UNKNOWN": 0, - "DATA": 1, - "INDEX": 2, - "REVERSE": 3, - "COUNT": 4, - "COUNT_REV": 5, - "SCHEMA": 6, - "TYPE": 7, - } -) - -func (x BackupKey_KeyType) Enum() *BackupKey_KeyType { - p := new(BackupKey_KeyType) - *p = x - return p -} - -func (x BackupKey_KeyType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BackupKey_KeyType) Descriptor() protoreflect.EnumDescriptor { - return file_pb_proto_enumTypes[8].Descriptor() -} - -func (BackupKey_KeyType) Type() protoreflect.EnumType { - return &file_pb_proto_enumTypes[8] -} - -func (x BackupKey_KeyType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use BackupKey_KeyType.Descriptor instead. -func (BackupKey_KeyType) EnumDescriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{66, 0} -} - -type List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uids []uint64 `protobuf:"fixed64,1,rep,packed,name=uids,proto3" json:"uids,omitempty"` -} - -func (x *List) Reset() { - *x = List{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *List) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*List) ProtoMessage() {} - -func (x *List) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use List.ProtoReflect.Descriptor instead. -func (*List) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{0} -} - -func (x *List) GetUids() []uint64 { - if x != nil { - return x.Uids - } - return nil -} - -type TaskValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Val []byte `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` - ValType Posting_ValType `protobuf:"varint,2,opt,name=val_type,json=valType,proto3,enum=pb.Posting_ValType" json:"val_type,omitempty"` -} - -func (x *TaskValue) Reset() { - *x = TaskValue{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TaskValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TaskValue) ProtoMessage() {} - -func (x *TaskValue) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TaskValue.ProtoReflect.Descriptor instead. -func (*TaskValue) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{1} -} - -func (x *TaskValue) GetVal() []byte { - if x != nil { - return x.Val - } - return nil -} - -func (x *TaskValue) GetValType() Posting_ValType { - if x != nil { - return x.ValType - } - return Posting_DEFAULT -} - -type SrcFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` - IsCount bool `protobuf:"varint,4,opt,name=isCount,proto3" json:"isCount,omitempty"` -} - -func (x *SrcFunction) Reset() { - *x = SrcFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SrcFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SrcFunction) ProtoMessage() {} - -func (x *SrcFunction) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SrcFunction.ProtoReflect.Descriptor instead. -func (*SrcFunction) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{2} -} - -func (x *SrcFunction) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *SrcFunction) GetArgs() []string { - if x != nil { - return x.Args - } - return nil -} - -func (x *SrcFunction) GetIsCount() bool { - if x != nil { - return x.IsCount - } - return false -} - -type Query struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Attr string `protobuf:"bytes,1,opt,name=attr,proto3" json:"attr,omitempty"` - Langs []string `protobuf:"bytes,2,rep,name=langs,proto3" json:"langs,omitempty"` // language list for attribute - AfterUid uint64 `protobuf:"fixed64,3,opt,name=after_uid,json=afterUid,proto3" json:"after_uid,omitempty"` // Only return UIDs greater than this. - DoCount bool `protobuf:"varint,4,opt,name=do_count,json=doCount,proto3" json:"do_count,omitempty"` // Are we just getting lengths? - // Exactly one of uids and terms is populated. - UidList *List `protobuf:"bytes,5,opt,name=uid_list,json=uidList,proto3" json:"uid_list,omitempty"` - // Function to generate or filter UIDs. - SrcFunc *SrcFunction `protobuf:"bytes,6,opt,name=src_func,json=srcFunc,proto3" json:"src_func,omitempty"` - Reverse bool `protobuf:"varint,7,opt,name=reverse,proto3" json:"reverse,omitempty"` // Whether this is a reverse edge. - FacetParam *FacetParams `protobuf:"bytes,8,opt,name=facet_param,json=facetParam,proto3" json:"facet_param,omitempty"` // which facets to fetch - FacetsFilter *FilterTree `protobuf:"bytes,9,opt,name=facets_filter,json=facetsFilter,proto3" json:"facets_filter,omitempty"` // filtering on facets : has Op (and/or/not) tree - ExpandAll bool `protobuf:"varint,10,opt,name=expand_all,json=expandAll,proto3" json:"expand_all,omitempty"` // expand all language variants. - ReadTs uint64 `protobuf:"varint,13,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` - Cache int32 `protobuf:"varint,14,opt,name=cache,proto3" json:"cache,omitempty"` - First int32 `protobuf:"varint,15,opt,name=first,proto3" json:"first,omitempty"` // used to limit the number of result. Typically, the count is value of first - // field. Now, It's been used only for has query. - Offset int32 `protobuf:"varint,16,opt,name=offset,proto3" json:"offset,omitempty"` // offset helps in fetching lesser results for the has query when there is - Order *SortMessage `protobuf:"bytes,17,opt,name=order,proto3" json:"order,omitempty"` // Order of the query. It will be used to help reduce the amount of computation -} - -func (x *Query) Reset() { - *x = Query{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Query) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Query) ProtoMessage() {} - -func (x *Query) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Query.ProtoReflect.Descriptor instead. -func (*Query) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{3} -} - -func (x *Query) GetAttr() string { - if x != nil { - return x.Attr - } - return "" -} - -func (x *Query) GetLangs() []string { - if x != nil { - return x.Langs - } - return nil -} - -func (x *Query) GetAfterUid() uint64 { - if x != nil { - return x.AfterUid - } - return 0 -} - -func (x *Query) GetDoCount() bool { - if x != nil { - return x.DoCount - } - return false -} - -func (x *Query) GetUidList() *List { - if x != nil { - return x.UidList - } - return nil -} - -func (x *Query) GetSrcFunc() *SrcFunction { - if x != nil { - return x.SrcFunc - } - return nil -} - -func (x *Query) GetReverse() bool { - if x != nil { - return x.Reverse - } - return false -} - -func (x *Query) GetFacetParam() *FacetParams { - if x != nil { - return x.FacetParam - } - return nil -} - -func (x *Query) GetFacetsFilter() *FilterTree { - if x != nil { - return x.FacetsFilter - } - return nil -} - -func (x *Query) GetExpandAll() bool { - if x != nil { - return x.ExpandAll - } - return false -} - -func (x *Query) GetReadTs() uint64 { - if x != nil { - return x.ReadTs - } - return 0 -} - -func (x *Query) GetCache() int32 { - if x != nil { - return x.Cache - } - return 0 -} - -func (x *Query) GetFirst() int32 { - if x != nil { - return x.First - } - return 0 -} - -func (x *Query) GetOffset() int32 { - if x != nil { - return x.Offset - } - return 0 -} - -func (x *Query) GetOrder() *SortMessage { - if x != nil { - return x.Order - } - return nil -} - -type ValueList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Values []*TaskValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` -} - -func (x *ValueList) Reset() { - *x = ValueList{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ValueList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValueList) ProtoMessage() {} - -func (x *ValueList) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ValueList.ProtoReflect.Descriptor instead. -func (*ValueList) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{4} -} - -func (x *ValueList) GetValues() []*TaskValue { - if x != nil { - return x.Values - } - return nil -} - -type LangList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Lang []string `protobuf:"bytes,1,rep,name=lang,proto3" json:"lang,omitempty"` -} - -func (x *LangList) Reset() { - *x = LangList{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LangList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LangList) ProtoMessage() {} - -func (x *LangList) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LangList.ProtoReflect.Descriptor instead. -func (*LangList) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{5} -} - -func (x *LangList) GetLang() []string { - if x != nil { - return x.Lang - } - return nil -} - -type Result struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UidMatrix []*List `protobuf:"bytes,1,rep,name=uid_matrix,json=uidMatrix,proto3" json:"uid_matrix,omitempty"` - ValueMatrix []*ValueList `protobuf:"bytes,2,rep,name=value_matrix,json=valueMatrix,proto3" json:"value_matrix,omitempty"` - Counts []uint32 `protobuf:"varint,3,rep,packed,name=counts,proto3" json:"counts,omitempty"` - IntersectDest bool `protobuf:"varint,4,opt,name=intersect_dest,json=intersectDest,proto3" json:"intersect_dest,omitempty"` - FacetMatrix []*FacetsList `protobuf:"bytes,5,rep,name=facet_matrix,json=facetMatrix,proto3" json:"facet_matrix,omitempty"` - LangMatrix []*LangList `protobuf:"bytes,6,rep,name=lang_matrix,json=langMatrix,proto3" json:"lang_matrix,omitempty"` - List bool `protobuf:"varint,7,opt,name=list,proto3" json:"list,omitempty"` - VectorMetrics map[string]uint64 `protobuf:"bytes,8,rep,name=vector_metrics,json=vectorMetrics,proto3" json:"vector_metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` -} - -func (x *Result) Reset() { - *x = Result{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Result) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Result) ProtoMessage() {} - -func (x *Result) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Result.ProtoReflect.Descriptor instead. -func (*Result) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{6} -} - -func (x *Result) GetUidMatrix() []*List { - if x != nil { - return x.UidMatrix - } - return nil -} - -func (x *Result) GetValueMatrix() []*ValueList { - if x != nil { - return x.ValueMatrix - } - return nil -} - -func (x *Result) GetCounts() []uint32 { - if x != nil { - return x.Counts - } - return nil -} - -func (x *Result) GetIntersectDest() bool { - if x != nil { - return x.IntersectDest - } - return false -} - -func (x *Result) GetFacetMatrix() []*FacetsList { - if x != nil { - return x.FacetMatrix - } - return nil -} - -func (x *Result) GetLangMatrix() []*LangList { - if x != nil { - return x.LangMatrix - } - return nil -} - -func (x *Result) GetList() bool { - if x != nil { - return x.List - } - return false -} - -func (x *Result) GetVectorMetrics() map[string]uint64 { - if x != nil { - return x.VectorMetrics - } - return nil -} - -type Order struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Attr string `protobuf:"bytes,1,opt,name=attr,proto3" json:"attr,omitempty"` - Desc bool `protobuf:"varint,2,opt,name=desc,proto3" json:"desc,omitempty"` - Langs []string `protobuf:"bytes,3,rep,name=langs,proto3" json:"langs,omitempty"` -} - -func (x *Order) Reset() { - *x = Order{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Order) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Order) ProtoMessage() {} - -func (x *Order) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Order.ProtoReflect.Descriptor instead. -func (*Order) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{7} -} - -func (x *Order) GetAttr() string { - if x != nil { - return x.Attr - } - return "" -} - -func (x *Order) GetDesc() bool { - if x != nil { - return x.Desc - } - return false -} - -func (x *Order) GetLangs() []string { - if x != nil { - return x.Langs - } - return nil -} - -type SortMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Order []*Order `protobuf:"bytes,1,rep,name=order,proto3" json:"order,omitempty"` - UidMatrix []*List `protobuf:"bytes,2,rep,name=uid_matrix,json=uidMatrix,proto3" json:"uid_matrix,omitempty"` - Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` // Return this many elements. - Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` // Skip this many elements. - ReadTs uint64 `protobuf:"varint,13,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` -} - -func (x *SortMessage) Reset() { - *x = SortMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SortMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SortMessage) ProtoMessage() {} - -func (x *SortMessage) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SortMessage.ProtoReflect.Descriptor instead. -func (*SortMessage) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{8} -} - -func (x *SortMessage) GetOrder() []*Order { - if x != nil { - return x.Order - } - return nil -} - -func (x *SortMessage) GetUidMatrix() []*List { - if x != nil { - return x.UidMatrix - } - return nil -} - -func (x *SortMessage) GetCount() int32 { - if x != nil { - return x.Count - } - return 0 -} - -func (x *SortMessage) GetOffset() int32 { - if x != nil { - return x.Offset - } - return 0 -} - -func (x *SortMessage) GetReadTs() uint64 { - if x != nil { - return x.ReadTs - } - return 0 -} - -type SortResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UidMatrix []*List `protobuf:"bytes,1,rep,name=uid_matrix,json=uidMatrix,proto3" json:"uid_matrix,omitempty"` -} - -func (x *SortResult) Reset() { - *x = SortResult{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SortResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SortResult) ProtoMessage() {} - -func (x *SortResult) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SortResult.ProtoReflect.Descriptor instead. -func (*SortResult) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{9} -} - -func (x *SortResult) GetUidMatrix() []*List { - if x != nil { - return x.UidMatrix - } - return nil -} - -type RaftContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"fixed64,1,opt,name=id,proto3" json:"id,omitempty"` - Group uint32 `protobuf:"varint,2,opt,name=group,proto3" json:"group,omitempty"` - Addr string `protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"` - SnapshotTs uint64 `protobuf:"varint,4,opt,name=snapshot_ts,json=snapshotTs,proto3" json:"snapshot_ts,omitempty"` - IsLearner bool `protobuf:"varint,5,opt,name=is_learner,json=isLearner,proto3" json:"is_learner,omitempty"` -} - -func (x *RaftContext) Reset() { - *x = RaftContext{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RaftContext) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RaftContext) ProtoMessage() {} - -func (x *RaftContext) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RaftContext.ProtoReflect.Descriptor instead. -func (*RaftContext) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{10} -} - -func (x *RaftContext) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *RaftContext) GetGroup() uint32 { - if x != nil { - return x.Group - } - return 0 -} - -func (x *RaftContext) GetAddr() string { - if x != nil { - return x.Addr - } - return "" -} - -func (x *RaftContext) GetSnapshotTs() uint64 { - if x != nil { - return x.SnapshotTs - } - return 0 -} - -func (x *RaftContext) GetIsLearner() bool { - if x != nil { - return x.IsLearner - } - return false -} - -// Member stores information about RAFT group member for a single RAFT node. -// Note that each server can be serving multiple RAFT groups. Each group would -// have one RAFT node per server serving that group. -type Member struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"fixed64,1,opt,name=id,proto3" json:"id,omitempty"` - GroupId uint32 `protobuf:"varint,2,opt,name=groupId,proto3" json:"groupId,omitempty"` - Addr string `protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"` - Leader bool `protobuf:"varint,4,opt,name=leader,proto3" json:"leader,omitempty"` - AmDead bool `protobuf:"varint,5,opt,name=amDead,proto3" json:"amDead,omitempty"` - LastUpdate uint64 `protobuf:"varint,6,opt,name=lastUpdate,proto3" json:"lastUpdate,omitempty"` - Learner bool `protobuf:"varint,7,opt,name=learner,proto3" json:"learner,omitempty"` - ClusterInfoOnly bool `protobuf:"varint,13,opt,name=clusterInfoOnly,proto3" json:"clusterInfoOnly,omitempty"` - ForceGroupId bool `protobuf:"varint,14,opt,name=forceGroupId,proto3" json:"forceGroupId,omitempty"` -} - -func (x *Member) Reset() { - *x = Member{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Member) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Member) ProtoMessage() {} - -func (x *Member) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Member.ProtoReflect.Descriptor instead. -func (*Member) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{11} -} - -func (x *Member) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *Member) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -func (x *Member) GetAddr() string { - if x != nil { - return x.Addr - } - return "" -} - -func (x *Member) GetLeader() bool { - if x != nil { - return x.Leader - } - return false -} - -func (x *Member) GetAmDead() bool { - if x != nil { - return x.AmDead - } - return false -} - -func (x *Member) GetLastUpdate() uint64 { - if x != nil { - return x.LastUpdate - } - return 0 -} - -func (x *Member) GetLearner() bool { - if x != nil { - return x.Learner - } - return false -} - -func (x *Member) GetClusterInfoOnly() bool { - if x != nil { - return x.ClusterInfoOnly - } - return false -} - -func (x *Member) GetForceGroupId() bool { - if x != nil { - return x.ForceGroupId - } - return false -} - -type Group struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Members map[uint64]*Member `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Raft ID is the key. - Tablets map[string]*Tablet `protobuf:"bytes,2,rep,name=tablets,proto3" json:"tablets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Predicate + others are key. - SnapshotTs uint64 `protobuf:"varint,3,opt,name=snapshot_ts,json=snapshotTs,proto3" json:"snapshot_ts,omitempty"` // Stores Snapshot transaction ts. - Checksum uint64 `protobuf:"varint,4,opt,name=checksum,proto3" json:"checksum,omitempty"` // Stores a checksum. - CheckpointTs uint64 `protobuf:"varint,5,opt,name=checkpoint_ts,json=checkpointTs,proto3" json:"checkpoint_ts,omitempty"` // Stores checkpoint ts as seen by leader. -} - -func (x *Group) Reset() { - *x = Group{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Group) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Group) ProtoMessage() {} - -func (x *Group) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Group.ProtoReflect.Descriptor instead. -func (*Group) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{12} -} - -func (x *Group) GetMembers() map[uint64]*Member { - if x != nil { - return x.Members - } - return nil -} - -func (x *Group) GetTablets() map[string]*Tablet { - if x != nil { - return x.Tablets - } - return nil -} - -func (x *Group) GetSnapshotTs() uint64 { - if x != nil { - return x.SnapshotTs - } - return 0 -} - -func (x *Group) GetChecksum() uint64 { - if x != nil { - return x.Checksum - } - return 0 -} - -func (x *Group) GetCheckpointTs() uint64 { - if x != nil { - return x.CheckpointTs - } - return 0 -} - -type ZeroProposal struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SnapshotTs map[uint32]uint64 `protobuf:"bytes,1,rep,name=snapshot_ts,json=snapshotTs,proto3" json:"snapshot_ts,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // Group ID -> Snapshot Ts. - Member *Member `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` - Tablet *Tablet `protobuf:"bytes,3,opt,name=tablet,proto3" json:"tablet,omitempty"` - MaxUID uint64 `protobuf:"varint,4,opt,name=maxUID,proto3" json:"maxUID,omitempty"` - MaxTxnTs uint64 `protobuf:"varint,5,opt,name=maxTxnTs,proto3" json:"maxTxnTs,omitempty"` - MaxNsID uint64 `protobuf:"varint,12,opt,name=maxNsID,proto3" json:"maxNsID,omitempty"` - MaxRaftId uint64 `protobuf:"varint,6,opt,name=maxRaftId,proto3" json:"maxRaftId,omitempty"` - Txn *api.TxnContext `protobuf:"bytes,7,opt,name=txn,proto3" json:"txn,omitempty"` - Cid string `protobuf:"bytes,9,opt,name=cid,proto3" json:"cid,omitempty"` // Used as unique identifier for the cluster. - Snapshot *ZeroSnapshot `protobuf:"bytes,11,opt,name=snapshot,proto3" json:"snapshot,omitempty"` // Used to make Zeros take a snapshot. - // 12 has already been used. - DeleteNs *DeleteNsRequest `protobuf:"bytes,13,opt,name=delete_ns,json=deleteNs,proto3" json:"delete_ns,omitempty"` // Used to delete namespace. - Tablets []*Tablet `protobuf:"bytes,14,rep,name=tablets,proto3" json:"tablets,omitempty"` -} - -func (x *ZeroProposal) Reset() { - *x = ZeroProposal{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ZeroProposal) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ZeroProposal) ProtoMessage() {} - -func (x *ZeroProposal) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ZeroProposal.ProtoReflect.Descriptor instead. -func (*ZeroProposal) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{13} -} - -func (x *ZeroProposal) GetSnapshotTs() map[uint32]uint64 { - if x != nil { - return x.SnapshotTs - } - return nil -} - -func (x *ZeroProposal) GetMember() *Member { - if x != nil { - return x.Member - } - return nil -} - -func (x *ZeroProposal) GetTablet() *Tablet { - if x != nil { - return x.Tablet - } - return nil -} - -func (x *ZeroProposal) GetMaxUID() uint64 { - if x != nil { - return x.MaxUID - } - return 0 -} - -func (x *ZeroProposal) GetMaxTxnTs() uint64 { - if x != nil { - return x.MaxTxnTs - } - return 0 -} - -func (x *ZeroProposal) GetMaxNsID() uint64 { - if x != nil { - return x.MaxNsID - } - return 0 -} - -func (x *ZeroProposal) GetMaxRaftId() uint64 { - if x != nil { - return x.MaxRaftId - } - return 0 -} - -func (x *ZeroProposal) GetTxn() *api.TxnContext { - if x != nil { - return x.Txn - } - return nil -} - -func (x *ZeroProposal) GetCid() string { - if x != nil { - return x.Cid - } - return "" -} - -func (x *ZeroProposal) GetSnapshot() *ZeroSnapshot { - if x != nil { - return x.Snapshot - } - return nil -} - -func (x *ZeroProposal) GetDeleteNs() *DeleteNsRequest { - if x != nil { - return x.DeleteNs - } - return nil -} - -func (x *ZeroProposal) GetTablets() []*Tablet { - if x != nil { - return x.Tablets - } - return nil -} - -// MembershipState is used to pack together the current membership state of all -// the nodes in the caller server; and the membership updates recorded by the -// callee server since the provided lastUpdate. -type MembershipState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Counter uint64 `protobuf:"varint,1,opt,name=counter,proto3" json:"counter,omitempty"` // used to find latest membershipState in case of race. - Groups map[uint32]*Group `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Zeros map[uint64]*Member `protobuf:"bytes,3,rep,name=zeros,proto3" json:"zeros,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - MaxUID uint64 `protobuf:"varint,4,opt,name=maxUID,proto3" json:"maxUID,omitempty"` - MaxTxnTs uint64 `protobuf:"varint,5,opt,name=maxTxnTs,proto3" json:"maxTxnTs,omitempty"` - MaxNsID uint64 `protobuf:"varint,10,opt,name=maxNsID,proto3" json:"maxNsID,omitempty"` - MaxRaftId uint64 `protobuf:"varint,6,opt,name=maxRaftId,proto3" json:"maxRaftId,omitempty"` - Removed []*Member `protobuf:"bytes,7,rep,name=removed,proto3" json:"removed,omitempty"` - Cid string `protobuf:"bytes,8,opt,name=cid,proto3" json:"cid,omitempty"` // Used to uniquely identify the Dgraph cluster. -} - -func (x *MembershipState) Reset() { - *x = MembershipState{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MembershipState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MembershipState) ProtoMessage() {} - -func (x *MembershipState) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MembershipState.ProtoReflect.Descriptor instead. -func (*MembershipState) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{14} -} - -func (x *MembershipState) GetCounter() uint64 { - if x != nil { - return x.Counter - } - return 0 -} - -func (x *MembershipState) GetGroups() map[uint32]*Group { - if x != nil { - return x.Groups - } - return nil -} - -func (x *MembershipState) GetZeros() map[uint64]*Member { - if x != nil { - return x.Zeros - } - return nil -} - -func (x *MembershipState) GetMaxUID() uint64 { - if x != nil { - return x.MaxUID - } - return 0 -} - -func (x *MembershipState) GetMaxTxnTs() uint64 { - if x != nil { - return x.MaxTxnTs - } - return 0 -} - -func (x *MembershipState) GetMaxNsID() uint64 { - if x != nil { - return x.MaxNsID - } - return 0 -} - -func (x *MembershipState) GetMaxRaftId() uint64 { - if x != nil { - return x.MaxRaftId - } - return 0 -} - -func (x *MembershipState) GetRemoved() []*Member { - if x != nil { - return x.Removed - } - return nil -} - -func (x *MembershipState) GetCid() string { - if x != nil { - return x.Cid - } - return "" -} - -type ConnectionState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Member *Member `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` - State *MembershipState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - MaxPending uint64 `protobuf:"varint,3,opt,name=max_pending,json=maxPending,proto3" json:"max_pending,omitempty"` // Used to determine the timstamp for reading after bulk load -} - -func (x *ConnectionState) Reset() { - *x = ConnectionState{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ConnectionState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConnectionState) ProtoMessage() {} - -func (x *ConnectionState) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConnectionState.ProtoReflect.Descriptor instead. -func (*ConnectionState) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{15} -} - -func (x *ConnectionState) GetMember() *Member { - if x != nil { - return x.Member - } - return nil -} - -func (x *ConnectionState) GetState() *MembershipState { - if x != nil { - return x.State - } - return nil -} - -func (x *ConnectionState) GetMaxPending() uint64 { - if x != nil { - return x.MaxPending - } - return 0 -} - -type HealthInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Instance string `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` - Group string `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"` // string so group = 0 can be printed in JSON. - Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` - Uptime int64 `protobuf:"varint,6,opt,name=uptime,proto3" json:"uptime,omitempty"` - LastEcho int64 `protobuf:"varint,7,opt,name=lastEcho,proto3" json:"lastEcho,omitempty"` - Ongoing []string `protobuf:"bytes,8,rep,name=ongoing,proto3" json:"ongoing,omitempty"` - Indexing []string `protobuf:"bytes,9,rep,name=indexing,proto3" json:"indexing,omitempty"` - EeFeatures []string `protobuf:"bytes,10,rep,name=ee_features,json=eeFeatures,proto3" json:"ee_features,omitempty"` - MaxAssigned uint64 `protobuf:"varint,11,opt,name=max_assigned,json=maxAssigned,proto3" json:"max_assigned,omitempty"` -} - -func (x *HealthInfo) Reset() { - *x = HealthInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HealthInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HealthInfo) ProtoMessage() {} - -func (x *HealthInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HealthInfo.ProtoReflect.Descriptor instead. -func (*HealthInfo) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{16} -} - -func (x *HealthInfo) GetInstance() string { - if x != nil { - return x.Instance - } - return "" -} - -func (x *HealthInfo) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *HealthInfo) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *HealthInfo) GetGroup() string { - if x != nil { - return x.Group - } - return "" -} - -func (x *HealthInfo) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -func (x *HealthInfo) GetUptime() int64 { - if x != nil { - return x.Uptime - } - return 0 -} - -func (x *HealthInfo) GetLastEcho() int64 { - if x != nil { - return x.LastEcho - } - return 0 -} - -func (x *HealthInfo) GetOngoing() []string { - if x != nil { - return x.Ongoing - } - return nil -} - -func (x *HealthInfo) GetIndexing() []string { - if x != nil { - return x.Indexing - } - return nil -} - -func (x *HealthInfo) GetEeFeatures() []string { - if x != nil { - return x.EeFeatures - } - return nil -} - -func (x *HealthInfo) GetMaxAssigned() uint64 { - if x != nil { - return x.MaxAssigned - } - return 0 -} - -type Tablet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId uint32 `protobuf:"varint,1,opt,name=groupId,proto3" json:"groupId,omitempty"` // Served by which group. - Predicate string `protobuf:"bytes,2,opt,name=predicate,proto3" json:"predicate,omitempty"` - Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` // Used while moving predicate. - OnDiskBytes int64 `protobuf:"varint,7,opt,name=on_disk_bytes,json=onDiskBytes,proto3" json:"on_disk_bytes,omitempty"` - Remove bool `protobuf:"varint,8,opt,name=remove,proto3" json:"remove,omitempty"` - ReadOnly bool `protobuf:"varint,9,opt,name=readOnly,proto3" json:"readOnly,omitempty"` // If true, do not ask zero to serve any tablets. - MoveTs uint64 `protobuf:"varint,10,opt,name=moveTs,proto3" json:"moveTs,omitempty"` - UncompressedBytes int64 `protobuf:"varint,11,opt,name=uncompressed_bytes,json=uncompressedBytes,proto3" json:"uncompressed_bytes,omitempty"` // Estimated uncompressed size of tablet in bytes -} - -func (x *Tablet) Reset() { - *x = Tablet{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Tablet) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Tablet) ProtoMessage() {} - -func (x *Tablet) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Tablet.ProtoReflect.Descriptor instead. -func (*Tablet) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{17} -} - -func (x *Tablet) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -func (x *Tablet) GetPredicate() string { - if x != nil { - return x.Predicate - } - return "" -} - -func (x *Tablet) GetForce() bool { - if x != nil { - return x.Force - } - return false -} - -func (x *Tablet) GetOnDiskBytes() int64 { - if x != nil { - return x.OnDiskBytes - } - return 0 -} - -func (x *Tablet) GetRemove() bool { - if x != nil { - return x.Remove - } - return false -} - -func (x *Tablet) GetReadOnly() bool { - if x != nil { - return x.ReadOnly - } - return false -} - -func (x *Tablet) GetMoveTs() uint64 { - if x != nil { - return x.MoveTs - } - return 0 -} - -func (x *Tablet) GetUncompressedBytes() int64 { - if x != nil { - return x.UncompressedBytes - } - return 0 -} - -type DirectedEdge struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Entity uint64 `protobuf:"fixed64,1,opt,name=entity,proto3" json:"entity,omitempty"` // Subject or source node / UID. - Attr string `protobuf:"bytes,2,opt,name=attr,proto3" json:"attr,omitempty"` // Attribute or predicate. Labels the edge. - Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` // Edge points to a value. - ValueType Posting_ValType `protobuf:"varint,4,opt,name=value_type,json=valueType,proto3,enum=pb.Posting_ValType" json:"value_type,omitempty"` // The type of the value - ValueId uint64 `protobuf:"fixed64,5,opt,name=value_id,json=valueId,proto3" json:"value_id,omitempty"` // Object or destination node / UID. - Lang string `protobuf:"bytes,7,opt,name=lang,proto3" json:"lang,omitempty"` - Op DirectedEdge_Op `protobuf:"varint,8,opt,name=op,proto3,enum=pb.DirectedEdge_Op" json:"op,omitempty"` - Facets []*api.Facet `protobuf:"bytes,9,rep,name=facets,proto3" json:"facets,omitempty"` - AllowedPreds []string `protobuf:"bytes,10,rep,name=allowedPreds,proto3" json:"allowedPreds,omitempty"` - Namespace uint64 `protobuf:"varint,11,opt,name=namespace,proto3" json:"namespace,omitempty"` -} - -func (x *DirectedEdge) Reset() { - *x = DirectedEdge{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DirectedEdge) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DirectedEdge) ProtoMessage() {} - -func (x *DirectedEdge) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DirectedEdge.ProtoReflect.Descriptor instead. -func (*DirectedEdge) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{18} -} - -func (x *DirectedEdge) GetEntity() uint64 { - if x != nil { - return x.Entity - } - return 0 -} - -func (x *DirectedEdge) GetAttr() string { - if x != nil { - return x.Attr - } - return "" -} - -func (x *DirectedEdge) GetValue() []byte { - if x != nil { - return x.Value - } - return nil -} - -func (x *DirectedEdge) GetValueType() Posting_ValType { - if x != nil { - return x.ValueType - } - return Posting_DEFAULT -} - -func (x *DirectedEdge) GetValueId() uint64 { - if x != nil { - return x.ValueId - } - return 0 -} - -func (x *DirectedEdge) GetLang() string { - if x != nil { - return x.Lang - } - return "" -} - -func (x *DirectedEdge) GetOp() DirectedEdge_Op { - if x != nil { - return x.Op - } - return DirectedEdge_SET -} - -func (x *DirectedEdge) GetFacets() []*api.Facet { - if x != nil { - return x.Facets - } - return nil -} - -func (x *DirectedEdge) GetAllowedPreds() []string { - if x != nil { - return x.AllowedPreds - } - return nil -} - -func (x *DirectedEdge) GetNamespace() uint64 { - if x != nil { - return x.Namespace - } - return 0 -} - -type Mutations struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` - StartTs uint64 `protobuf:"varint,2,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` - Edges []*DirectedEdge `protobuf:"bytes,3,rep,name=edges,proto3" json:"edges,omitempty"` - Schema []*SchemaUpdate `protobuf:"bytes,4,rep,name=schema,proto3" json:"schema,omitempty"` - Types []*TypeUpdate `protobuf:"bytes,6,rep,name=types,proto3" json:"types,omitempty"` - DropOp Mutations_DropOp `protobuf:"varint,7,opt,name=drop_op,json=dropOp,proto3,enum=pb.Mutations_DropOp" json:"drop_op,omitempty"` - DropValue string `protobuf:"bytes,8,opt,name=drop_value,json=dropValue,proto3" json:"drop_value,omitempty"` - Metadata *Metadata `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"` -} - -func (x *Mutations) Reset() { - *x = Mutations{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Mutations) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Mutations) ProtoMessage() {} - -func (x *Mutations) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Mutations.ProtoReflect.Descriptor instead. -func (*Mutations) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{19} -} - -func (x *Mutations) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -func (x *Mutations) GetStartTs() uint64 { - if x != nil { - return x.StartTs - } - return 0 -} - -func (x *Mutations) GetEdges() []*DirectedEdge { - if x != nil { - return x.Edges - } - return nil -} - -func (x *Mutations) GetSchema() []*SchemaUpdate { - if x != nil { - return x.Schema - } - return nil -} - -func (x *Mutations) GetTypes() []*TypeUpdate { - if x != nil { - return x.Types - } - return nil -} - -func (x *Mutations) GetDropOp() Mutations_DropOp { - if x != nil { - return x.DropOp - } - return Mutations_NONE -} - -func (x *Mutations) GetDropValue() string { - if x != nil { - return x.DropValue - } - return "" -} - -func (x *Mutations) GetMetadata() *Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -type Metadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Map of predicates to their hints. - PredHints map[string]Metadata_HintType `protobuf:"bytes,1,rep,name=pred_hints,json=predHints,proto3" json:"pred_hints,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=pb.Metadata_HintType"` -} - -func (x *Metadata) Reset() { - *x = Metadata{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Metadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Metadata) ProtoMessage() {} - -func (x *Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Metadata.ProtoReflect.Descriptor instead. -func (*Metadata) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{20} -} - -func (x *Metadata) GetPredHints() map[string]Metadata_HintType { - if x != nil { - return x.PredHints - } - return nil -} - -type Snapshot struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Context *RaftContext `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` - Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` - ReadTs uint64 `protobuf:"varint,3,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` - // done is used to indicate that snapshot stream was a success. - Done bool `protobuf:"varint,4,opt,name=done,proto3" json:"done,omitempty"` - // since_ts stores the ts of the last snapshot to support diff snap updates. - SinceTs uint64 `protobuf:"varint,5,opt,name=since_ts,json=sinceTs,proto3" json:"since_ts,omitempty"` -} - -func (x *Snapshot) Reset() { - *x = Snapshot{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Snapshot) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Snapshot) ProtoMessage() {} - -func (x *Snapshot) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Snapshot.ProtoReflect.Descriptor instead. -func (*Snapshot) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{21} -} - -func (x *Snapshot) GetContext() *RaftContext { - if x != nil { - return x.Context - } - return nil -} - -func (x *Snapshot) GetIndex() uint64 { - if x != nil { - return x.Index - } - return 0 -} - -func (x *Snapshot) GetReadTs() uint64 { - if x != nil { - return x.ReadTs - } - return 0 -} - -func (x *Snapshot) GetDone() bool { - if x != nil { - return x.Done - } - return false -} - -func (x *Snapshot) GetSinceTs() uint64 { - if x != nil { - return x.SinceTs - } - return 0 -} - -type ZeroSnapshot struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` - CheckpointTs uint64 `protobuf:"varint,2,opt,name=checkpoint_ts,json=checkpointTs,proto3" json:"checkpoint_ts,omitempty"` - State *MembershipState `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` -} - -func (x *ZeroSnapshot) Reset() { - *x = ZeroSnapshot{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ZeroSnapshot) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ZeroSnapshot) ProtoMessage() {} - -func (x *ZeroSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ZeroSnapshot.ProtoReflect.Descriptor instead. -func (*ZeroSnapshot) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{22} -} - -func (x *ZeroSnapshot) GetIndex() uint64 { - if x != nil { - return x.Index - } - return 0 -} - -func (x *ZeroSnapshot) GetCheckpointTs() uint64 { - if x != nil { - return x.CheckpointTs - } - return 0 -} - -func (x *ZeroSnapshot) GetState() *MembershipState { - if x != nil { - return x.State - } - return nil -} - -type RestoreRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` - RestoreTs uint64 `protobuf:"varint,2,opt,name=restore_ts,json=restoreTs,proto3" json:"restore_ts,omitempty"` - Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` - BackupId string `protobuf:"bytes,4,opt,name=backup_id,json=backupId,proto3" json:"backup_id,omitempty"` - // Credentials when using a minio or S3 bucket as the backup location. - AccessKey string `protobuf:"bytes,5,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` - SecretKey Sensitive `protobuf:"bytes,6,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` - SessionToken Sensitive `protobuf:"bytes,7,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` - Anonymous bool `protobuf:"varint,8,opt,name=anonymous,proto3" json:"anonymous,omitempty"` - // Info needed to process encrypted backups. - EncryptionKeyFile string `protobuf:"bytes,9,opt,name=encryption_key_file,json=encryptionKeyFile,proto3" json:"encryption_key_file,omitempty"` - // Vault options - VaultAddr string `protobuf:"bytes,10,opt,name=vault_addr,json=vaultAddr,proto3" json:"vault_addr,omitempty"` - VaultRoleidFile string `protobuf:"bytes,11,opt,name=vault_roleid_file,json=vaultRoleidFile,proto3" json:"vault_roleid_file,omitempty"` - VaultSecretidFile string `protobuf:"bytes,12,opt,name=vault_secretid_file,json=vaultSecretidFile,proto3" json:"vault_secretid_file,omitempty"` - VaultPath string `protobuf:"bytes,13,opt,name=vault_path,json=vaultPath,proto3" json:"vault_path,omitempty"` - VaultField string `protobuf:"bytes,14,opt,name=vault_field,json=vaultField,proto3" json:"vault_field,omitempty"` - VaultFormat string `protobuf:"bytes,15,opt,name=vault_format,json=vaultFormat,proto3" json:"vault_format,omitempty"` - BackupNum uint64 `protobuf:"varint,16,opt,name=backup_num,json=backupNum,proto3" json:"backup_num,omitempty"` - IncrementalFrom uint64 `protobuf:"varint,17,opt,name=incremental_from,json=incrementalFrom,proto3" json:"incremental_from,omitempty"` - IsPartial bool `protobuf:"varint,18,opt,name=is_partial,json=isPartial,proto3" json:"is_partial,omitempty"` - FromNamespace uint64 `protobuf:"varint,19,opt,name=fromNamespace,proto3" json:"fromNamespace,omitempty"` - IsNamespaceAwareRestore bool `protobuf:"varint,20,opt,name=isNamespaceAwareRestore,proto3" json:"isNamespaceAwareRestore,omitempty"` -} - -func (x *RestoreRequest) Reset() { - *x = RestoreRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RestoreRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RestoreRequest) ProtoMessage() {} - -func (x *RestoreRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RestoreRequest.ProtoReflect.Descriptor instead. -func (*RestoreRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{23} -} - -func (x *RestoreRequest) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -func (x *RestoreRequest) GetRestoreTs() uint64 { - if x != nil { - return x.RestoreTs - } - return 0 -} - -func (x *RestoreRequest) GetLocation() string { - if x != nil { - return x.Location - } - return "" -} - -func (x *RestoreRequest) GetBackupId() string { - if x != nil { - return x.BackupId - } - return "" -} - -func (x *RestoreRequest) GetAccessKey() string { - if x != nil { - return x.AccessKey - } - return "" -} - -func (x *RestoreRequest) GetSecretKey() Sensitive { - if x != nil { - return x.SecretKey - } - return "" -} - -func (x *RestoreRequest) GetSessionToken() Sensitive { - if x != nil { - return x.SessionToken - } - return "" -} - -func (x *RestoreRequest) GetAnonymous() bool { - if x != nil { - return x.Anonymous - } - return false -} - -func (x *RestoreRequest) GetEncryptionKeyFile() string { - if x != nil { - return x.EncryptionKeyFile - } - return "" -} - -func (x *RestoreRequest) GetVaultAddr() string { - if x != nil { - return x.VaultAddr - } - return "" -} - -func (x *RestoreRequest) GetVaultRoleidFile() string { - if x != nil { - return x.VaultRoleidFile - } - return "" -} - -func (x *RestoreRequest) GetVaultSecretidFile() string { - if x != nil { - return x.VaultSecretidFile - } - return "" -} - -func (x *RestoreRequest) GetVaultPath() string { - if x != nil { - return x.VaultPath - } - return "" -} - -func (x *RestoreRequest) GetVaultField() string { - if x != nil { - return x.VaultField - } - return "" -} - -func (x *RestoreRequest) GetVaultFormat() string { - if x != nil { - return x.VaultFormat - } - return "" -} - -func (x *RestoreRequest) GetBackupNum() uint64 { - if x != nil { - return x.BackupNum - } - return 0 -} - -func (x *RestoreRequest) GetIncrementalFrom() uint64 { - if x != nil { - return x.IncrementalFrom - } - return 0 -} - -func (x *RestoreRequest) GetIsPartial() bool { - if x != nil { - return x.IsPartial - } - return false -} - -func (x *RestoreRequest) GetFromNamespace() uint64 { - if x != nil { - return x.FromNamespace - } - return 0 -} - -func (x *RestoreRequest) GetIsNamespaceAwareRestore() bool { - if x != nil { - return x.IsNamespaceAwareRestore - } - return false -} - -type Proposal struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Mutations *Mutations `protobuf:"bytes,2,opt,name=mutations,proto3" json:"mutations,omitempty"` - Kv []*pb.KV `protobuf:"bytes,4,rep,name=kv,proto3" json:"kv,omitempty"` - State *MembershipState `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` - CleanPredicate string `protobuf:"bytes,6,opt,name=clean_predicate,json=cleanPredicate,proto3" json:"clean_predicate,omitempty"` // Delete the predicate which was moved to other group. - Delta *OracleDelta `protobuf:"bytes,8,opt,name=delta,proto3" json:"delta,omitempty"` - Snapshot *Snapshot `protobuf:"bytes,9,opt,name=snapshot,proto3" json:"snapshot,omitempty"` // Used to tell the group when to take snapshot. - Index uint64 `protobuf:"varint,10,opt,name=index,proto3" json:"index,omitempty"` // Used to store Raft index, in raft.Ready. - ExpectedChecksum uint64 `protobuf:"varint,11,opt,name=expected_checksum,json=expectedChecksum,proto3" json:"expected_checksum,omitempty"` // Block an operation until membership reaches this checksum. - Restore *RestoreRequest `protobuf:"bytes,12,opt,name=restore,proto3" json:"restore,omitempty"` - CdcState *CDCState `protobuf:"bytes,13,opt,name=cdc_state,json=cdcState,proto3" json:"cdc_state,omitempty"` - DeleteNs *DeleteNsRequest `protobuf:"bytes,14,opt,name=delete_ns,json=deleteNs,proto3" json:"delete_ns,omitempty"` // Used to delete namespace. - // Skipping 15 as it is used for uint64 key in master and might be needed later here. - StartTs uint64 `protobuf:"varint,16,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` - ExtSnapshotState *api.UpdateExtSnapshotStreamingStateRequest `protobuf:"bytes,17,opt,name=ext_snapshot_state,json=extSnapshotState,proto3" json:"ext_snapshot_state,omitempty"` -} - -func (x *Proposal) Reset() { - *x = Proposal{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Proposal) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Proposal) ProtoMessage() {} - -func (x *Proposal) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Proposal.ProtoReflect.Descriptor instead. -func (*Proposal) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{24} -} - -func (x *Proposal) GetMutations() *Mutations { - if x != nil { - return x.Mutations - } - return nil -} - -func (x *Proposal) GetKv() []*pb.KV { - if x != nil { - return x.Kv - } - return nil -} - -func (x *Proposal) GetState() *MembershipState { - if x != nil { - return x.State - } - return nil -} - -func (x *Proposal) GetCleanPredicate() string { - if x != nil { - return x.CleanPredicate - } - return "" -} - -func (x *Proposal) GetDelta() *OracleDelta { - if x != nil { - return x.Delta - } - return nil -} - -func (x *Proposal) GetSnapshot() *Snapshot { - if x != nil { - return x.Snapshot - } - return nil -} - -func (x *Proposal) GetIndex() uint64 { - if x != nil { - return x.Index - } - return 0 -} - -func (x *Proposal) GetExpectedChecksum() uint64 { - if x != nil { - return x.ExpectedChecksum - } - return 0 -} - -func (x *Proposal) GetRestore() *RestoreRequest { - if x != nil { - return x.Restore - } - return nil -} - -func (x *Proposal) GetCdcState() *CDCState { - if x != nil { - return x.CdcState - } - return nil -} - -func (x *Proposal) GetDeleteNs() *DeleteNsRequest { - if x != nil { - return x.DeleteNs - } - return nil -} - -func (x *Proposal) GetStartTs() uint64 { - if x != nil { - return x.StartTs - } - return 0 -} - -func (x *Proposal) GetExtSnapshotState() *api.UpdateExtSnapshotStreamingStateRequest { - if x != nil { - return x.ExtSnapshotState - } - return nil -} - -type CDCState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SentTs uint64 `protobuf:"varint,1,opt,name=sent_ts,json=sentTs,proto3" json:"sent_ts,omitempty"` -} - -func (x *CDCState) Reset() { - *x = CDCState{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CDCState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CDCState) ProtoMessage() {} - -func (x *CDCState) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CDCState.ProtoReflect.Descriptor instead. -func (*CDCState) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{25} -} - -func (x *CDCState) GetSentTs() uint64 { - if x != nil { - return x.SentTs - } - return 0 -} - -type KVS struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Data []byte `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` - // done used to indicate if the stream of KVS is over. - Done bool `protobuf:"varint,2,opt,name=done,proto3" json:"done,omitempty"` - // predicates is the list of predicates known by the leader at the time of the - // snapshot. - Predicates []string `protobuf:"bytes,3,rep,name=predicates,proto3" json:"predicates,omitempty"` - // types is the list of types known by the leader at the time of the snapshot. - Types []string `protobuf:"bytes,4,rep,name=types,proto3" json:"types,omitempty"` -} - -func (x *KVS) Reset() { - *x = KVS{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KVS) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KVS) ProtoMessage() {} - -func (x *KVS) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KVS.ProtoReflect.Descriptor instead. -func (*KVS) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{26} -} - -func (x *KVS) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - -func (x *KVS) GetDone() bool { - if x != nil { - return x.Done - } - return false -} - -func (x *KVS) GetPredicates() []string { - if x != nil { - return x.Predicates - } - return nil -} - -func (x *KVS) GetTypes() []string { - if x != nil { - return x.Types - } - return nil -} - -// Posting messages. -type Posting struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uid uint64 `protobuf:"fixed64,1,opt,name=uid,proto3" json:"uid,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - ValType Posting_ValType `protobuf:"varint,3,opt,name=val_type,json=valType,proto3,enum=pb.Posting_ValType" json:"val_type,omitempty"` - PostingType Posting_PostingType `protobuf:"varint,4,opt,name=posting_type,json=postingType,proto3,enum=pb.Posting_PostingType" json:"posting_type,omitempty"` - LangTag []byte `protobuf:"bytes,5,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"` // Only set for VALUE_LANG - Facets []*api.Facet `protobuf:"bytes,9,rep,name=facets,proto3" json:"facets,omitempty"` - // TODO: op is only used temporarily. See if we can remove it from here. - Op uint32 `protobuf:"varint,12,opt,name=op,proto3" json:"op,omitempty"` - StartTs uint64 `protobuf:"varint,13,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` // Meant to use only inmemory - CommitTs uint64 `protobuf:"varint,14,opt,name=commit_ts,json=commitTs,proto3" json:"commit_ts,omitempty"` // Meant to use only inmemory -} - -func (x *Posting) Reset() { - *x = Posting{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Posting) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Posting) ProtoMessage() {} - -func (x *Posting) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Posting.ProtoReflect.Descriptor instead. -func (*Posting) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{27} -} - -func (x *Posting) GetUid() uint64 { - if x != nil { - return x.Uid - } - return 0 -} - -func (x *Posting) GetValue() []byte { - if x != nil { - return x.Value - } - return nil -} - -func (x *Posting) GetValType() Posting_ValType { - if x != nil { - return x.ValType - } - return Posting_DEFAULT -} - -func (x *Posting) GetPostingType() Posting_PostingType { - if x != nil { - return x.PostingType - } - return Posting_REF -} - -func (x *Posting) GetLangTag() []byte { - if x != nil { - return x.LangTag - } - return nil -} - -func (x *Posting) GetFacets() []*api.Facet { - if x != nil { - return x.Facets - } - return nil -} - -func (x *Posting) GetOp() uint32 { - if x != nil { - return x.Op - } - return 0 -} - -func (x *Posting) GetStartTs() uint64 { - if x != nil { - return x.StartTs - } - return 0 -} - -func (x *Posting) GetCommitTs() uint64 { - if x != nil { - return x.CommitTs - } - return 0 -} - -type UidBlock struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Base uint64 `protobuf:"varint,1,opt,name=base,proto3" json:"base,omitempty"` - // deltas contains the deltas encoded with Varints. We don't store deltas as a - // list of integers, because when the PB is brought to memory, Go would always - // use 8-bytes per integer. Instead, storing it as a byte slice is a lot - // cheaper in memory. - Deltas []byte `protobuf:"bytes,2,opt,name=deltas,proto3" json:"deltas,omitempty"` - // num_uids is the number of UIDs in the block. We are including this because - // we want to switch encoding to groupvarint encoding. Current avaialble open - // source version implements encoding and decoding for uint32. To use that, we - // create different blocks for different 32-bit MSB base uids. That is, if the - // 32 MSBs are different, we will create a new block irrespective of whether - // the block is filled with the block_size or not. Default Blocksize is 256 so - // uint32 would be sufficient. - NumUids uint32 `protobuf:"varint,3,opt,name=num_uids,json=numUids,proto3" json:"num_uids,omitempty"` -} - -func (x *UidBlock) Reset() { - *x = UidBlock{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UidBlock) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UidBlock) ProtoMessage() {} - -func (x *UidBlock) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UidBlock.ProtoReflect.Descriptor instead. -func (*UidBlock) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{28} -} - -func (x *UidBlock) GetBase() uint64 { - if x != nil { - return x.Base - } - return 0 -} - -func (x *UidBlock) GetDeltas() []byte { - if x != nil { - return x.Deltas - } - return nil -} - -func (x *UidBlock) GetNumUids() uint32 { - if x != nil { - return x.NumUids - } - return 0 -} - -type UidPack struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BlockSize uint32 `protobuf:"varint,1,opt,name=block_size,json=blockSize,proto3" json:"block_size,omitempty"` - Blocks []*UidBlock `protobuf:"bytes,2,rep,name=blocks,proto3" json:"blocks,omitempty"` - AllocRef uint64 `protobuf:"varint,23,opt,name=alloc_ref,json=allocRef,proto3" json:"alloc_ref,omitempty"` // This field should be set to 0 during marshal. -} - -func (x *UidPack) Reset() { - *x = UidPack{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UidPack) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UidPack) ProtoMessage() {} - -func (x *UidPack) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UidPack.ProtoReflect.Descriptor instead. -func (*UidPack) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{29} -} - -func (x *UidPack) GetBlockSize() uint32 { - if x != nil { - return x.BlockSize - } - return 0 -} - -func (x *UidPack) GetBlocks() []*UidBlock { - if x != nil { - return x.Blocks - } - return nil -} - -func (x *UidPack) GetAllocRef() uint64 { - if x != nil { - return x.AllocRef - } - return 0 -} - -type PostingList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pack *UidPack `protobuf:"bytes,1,opt,name=pack,proto3" json:"pack,omitempty"` // Encoded list of uids in this posting list. - Postings []*Posting `protobuf:"bytes,2,rep,name=postings,proto3" json:"postings,omitempty"` - CommitTs uint64 `protobuf:"varint,3,opt,name=commit_ts,json=commitTs,proto3" json:"commit_ts,omitempty"` // More inclination towards smaller values. - Splits []uint64 `protobuf:"varint,4,rep,packed,name=splits,proto3" json:"splits,omitempty"` -} - -func (x *PostingList) Reset() { - *x = PostingList{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PostingList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PostingList) ProtoMessage() {} - -func (x *PostingList) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PostingList.ProtoReflect.Descriptor instead. -func (*PostingList) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{30} -} - -func (x *PostingList) GetPack() *UidPack { - if x != nil { - return x.Pack - } - return nil -} - -func (x *PostingList) GetPostings() []*Posting { - if x != nil { - return x.Postings - } - return nil -} - -func (x *PostingList) GetCommitTs() uint64 { - if x != nil { - return x.CommitTs - } - return 0 -} - -func (x *PostingList) GetSplits() []uint64 { - if x != nil { - return x.Splits - } - return nil -} - -type FacetParam struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"` -} - -func (x *FacetParam) Reset() { - *x = FacetParam{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FacetParam) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FacetParam) ProtoMessage() {} - -func (x *FacetParam) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FacetParam.ProtoReflect.Descriptor instead. -func (*FacetParam) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{31} -} - -func (x *FacetParam) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -func (x *FacetParam) GetAlias() string { - if x != nil { - return x.Alias - } - return "" -} - -type FacetParams struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AllKeys bool `protobuf:"varint,1,opt,name=all_keys,json=allKeys,proto3" json:"all_keys,omitempty"` // keys should be in sorted order. - Param []*FacetParam `protobuf:"bytes,2,rep,name=param,proto3" json:"param,omitempty"` -} - -func (x *FacetParams) Reset() { - *x = FacetParams{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FacetParams) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FacetParams) ProtoMessage() {} - -func (x *FacetParams) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FacetParams.ProtoReflect.Descriptor instead. -func (*FacetParams) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{32} -} - -func (x *FacetParams) GetAllKeys() bool { - if x != nil { - return x.AllKeys - } - return false -} - -func (x *FacetParams) GetParam() []*FacetParam { - if x != nil { - return x.Param - } - return nil -} - -type Facets struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Facets []*api.Facet `protobuf:"bytes,1,rep,name=facets,proto3" json:"facets,omitempty"` -} - -func (x *Facets) Reset() { - *x = Facets{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Facets) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Facets) ProtoMessage() {} - -func (x *Facets) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Facets.ProtoReflect.Descriptor instead. -func (*Facets) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{33} -} - -func (x *Facets) GetFacets() []*api.Facet { - if x != nil { - return x.Facets - } - return nil -} - -type FacetsList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FacetsList []*Facets `protobuf:"bytes,1,rep,name=facets_list,json=facetsList,proto3" json:"facets_list,omitempty"` -} - -func (x *FacetsList) Reset() { - *x = FacetsList{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FacetsList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FacetsList) ProtoMessage() {} - -func (x *FacetsList) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FacetsList.ProtoReflect.Descriptor instead. -func (*FacetsList) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{34} -} - -func (x *FacetsList) GetFacetsList() []*Facets { - if x != nil { - return x.FacetsList - } - return nil -} - -type Function struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Name of the function : eq, le - Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // Facet key over which to run the function. - Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` // Arguments of the function. -} - -func (x *Function) Reset() { - *x = Function{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Function) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Function) ProtoMessage() {} - -func (x *Function) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Function.ProtoReflect.Descriptor instead. -func (*Function) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{35} -} - -func (x *Function) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *Function) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -func (x *Function) GetArgs() []string { - if x != nil { - return x.Args - } - return nil -} - -// Op and Children are internal nodes and Func on leaves. -type FilterTree struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Op string `protobuf:"bytes,1,opt,name=op,proto3" json:"op,omitempty"` - Children []*FilterTree `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"` - Func *Function `protobuf:"bytes,3,opt,name=func,proto3" json:"func,omitempty"` -} - -func (x *FilterTree) Reset() { - *x = FilterTree{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterTree) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterTree) ProtoMessage() {} - -func (x *FilterTree) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FilterTree.ProtoReflect.Descriptor instead. -func (*FilterTree) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{36} -} - -func (x *FilterTree) GetOp() string { - if x != nil { - return x.Op - } - return "" -} - -func (x *FilterTree) GetChildren() []*FilterTree { - if x != nil { - return x.Children - } - return nil -} - -func (x *FilterTree) GetFunc() *Function { - if x != nil { - return x.Func - } - return nil -} - -// Schema messages. -type SchemaRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` - Predicates []string `protobuf:"bytes,2,rep,name=predicates,proto3" json:"predicates,omitempty"` - // fields can be on of type, index, reverse or tokenizer - Fields []string `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty"` - Types []string `protobuf:"bytes,4,rep,name=types,proto3" json:"types,omitempty"` -} - -func (x *SchemaRequest) Reset() { - *x = SchemaRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SchemaRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SchemaRequest) ProtoMessage() {} - -func (x *SchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SchemaRequest.ProtoReflect.Descriptor instead. -func (*SchemaRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{37} -} - -func (x *SchemaRequest) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -func (x *SchemaRequest) GetPredicates() []string { - if x != nil { - return x.Predicates - } - return nil -} - -func (x *SchemaRequest) GetFields() []string { - if x != nil { - return x.Fields - } - return nil -} - -func (x *SchemaRequest) GetTypes() []string { - if x != nil { - return x.Types - } - return nil -} - -type SchemaNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Predicate string `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"` - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` - Index bool `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"` - Tokenizer []string `protobuf:"bytes,4,rep,name=tokenizer,proto3" json:"tokenizer,omitempty"` - Reverse bool `protobuf:"varint,5,opt,name=reverse,proto3" json:"reverse,omitempty"` - Count bool `protobuf:"varint,6,opt,name=count,proto3" json:"count,omitempty"` - List bool `protobuf:"varint,7,opt,name=list,proto3" json:"list,omitempty"` - Upsert bool `protobuf:"varint,8,opt,name=upsert,proto3" json:"upsert,omitempty"` - Lang bool `protobuf:"varint,9,opt,name=lang,proto3" json:"lang,omitempty"` - NoConflict bool `protobuf:"varint,10,opt,name=no_conflict,json=noConflict,proto3" json:"no_conflict,omitempty"` - Unique bool `protobuf:"varint,11,opt,name=unique,proto3" json:"unique,omitempty"` - IndexSpecs []*VectorIndexSpec `protobuf:"bytes,12,rep,name=index_specs,json=indexSpecs,proto3" json:"index_specs,omitempty"` -} - -func (x *SchemaNode) Reset() { - *x = SchemaNode{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SchemaNode) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SchemaNode) ProtoMessage() {} - -func (x *SchemaNode) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SchemaNode.ProtoReflect.Descriptor instead. -func (*SchemaNode) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{38} -} - -func (x *SchemaNode) GetPredicate() string { - if x != nil { - return x.Predicate - } - return "" -} - -func (x *SchemaNode) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *SchemaNode) GetIndex() bool { - if x != nil { - return x.Index - } - return false -} - -func (x *SchemaNode) GetTokenizer() []string { - if x != nil { - return x.Tokenizer - } - return nil -} - -func (x *SchemaNode) GetReverse() bool { - if x != nil { - return x.Reverse - } - return false -} - -func (x *SchemaNode) GetCount() bool { - if x != nil { - return x.Count - } - return false -} - -func (x *SchemaNode) GetList() bool { - if x != nil { - return x.List - } - return false -} - -func (x *SchemaNode) GetUpsert() bool { - if x != nil { - return x.Upsert - } - return false -} - -func (x *SchemaNode) GetLang() bool { - if x != nil { - return x.Lang - } - return false -} - -func (x *SchemaNode) GetNoConflict() bool { - if x != nil { - return x.NoConflict - } - return false -} - -func (x *SchemaNode) GetUnique() bool { - if x != nil { - return x.Unique - } - return false -} - -func (x *SchemaNode) GetIndexSpecs() []*VectorIndexSpec { - if x != nil { - return x.IndexSpecs - } - return nil -} - -type SchemaResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Deprecated: Marked as deprecated in pb.proto. - Schema []*SchemaNode `protobuf:"bytes,1,rep,name=schema,proto3" json:"schema,omitempty"` -} - -func (x *SchemaResult) Reset() { - *x = SchemaResult{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SchemaResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SchemaResult) ProtoMessage() {} - -func (x *SchemaResult) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SchemaResult.ProtoReflect.Descriptor instead. -func (*SchemaResult) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{39} -} - -// Deprecated: Marked as deprecated in pb.proto. -func (x *SchemaResult) GetSchema() []*SchemaNode { - if x != nil { - return x.Schema - } - return nil -} - -type SchemaUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Predicate string `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"` - ValueType Posting_ValType `protobuf:"varint,2,opt,name=value_type,json=valueType,proto3,enum=pb.Posting_ValType" json:"value_type,omitempty"` - Directive SchemaUpdate_Directive `protobuf:"varint,3,opt,name=directive,proto3,enum=pb.SchemaUpdate_Directive" json:"directive,omitempty"` - Tokenizer []string `protobuf:"bytes,4,rep,name=tokenizer,proto3" json:"tokenizer,omitempty"` - Count bool `protobuf:"varint,5,opt,name=count,proto3" json:"count,omitempty"` - List bool `protobuf:"varint,6,opt,name=list,proto3" json:"list,omitempty"` - Upsert bool `protobuf:"varint,8,opt,name=upsert,proto3" json:"upsert,omitempty"` - Lang bool `protobuf:"varint,9,opt,name=lang,proto3" json:"lang,omitempty"` - Unique bool `protobuf:"varint,14,opt,name=unique,proto3" json:"unique,omitempty"` - // Fields required for type system. - NonNullable bool `protobuf:"varint,10,opt,name=non_nullable,json=nonNullable,proto3" json:"non_nullable,omitempty"` - NonNullableList bool `protobuf:"varint,11,opt,name=non_nullable_list,json=nonNullableList,proto3" json:"non_nullable_list,omitempty"` - // If value_type is OBJECT, then this represents an object type with a - // custom name. This field stores said name. - ObjectTypeName string `protobuf:"bytes,12,opt,name=object_type_name,json=objectTypeName,proto3" json:"object_type_name,omitempty"` - NoConflict bool `protobuf:"varint,13,opt,name=no_conflict,json=noConflict,proto3" json:"no_conflict,omitempty"` - IndexSpecs []*VectorIndexSpec `protobuf:"bytes,15,rep,name=index_specs,json=indexSpecs,proto3" json:"index_specs,omitempty"` -} - -func (x *SchemaUpdate) Reset() { - *x = SchemaUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SchemaUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SchemaUpdate) ProtoMessage() {} - -func (x *SchemaUpdate) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SchemaUpdate.ProtoReflect.Descriptor instead. -func (*SchemaUpdate) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{40} -} - -func (x *SchemaUpdate) GetPredicate() string { - if x != nil { - return x.Predicate - } - return "" -} - -func (x *SchemaUpdate) GetValueType() Posting_ValType { - if x != nil { - return x.ValueType - } - return Posting_DEFAULT -} - -func (x *SchemaUpdate) GetDirective() SchemaUpdate_Directive { - if x != nil { - return x.Directive - } - return SchemaUpdate_NONE -} - -func (x *SchemaUpdate) GetTokenizer() []string { - if x != nil { - return x.Tokenizer - } - return nil -} - -func (x *SchemaUpdate) GetCount() bool { - if x != nil { - return x.Count - } - return false -} - -func (x *SchemaUpdate) GetList() bool { - if x != nil { - return x.List - } - return false -} - -func (x *SchemaUpdate) GetUpsert() bool { - if x != nil { - return x.Upsert - } - return false -} - -func (x *SchemaUpdate) GetLang() bool { - if x != nil { - return x.Lang - } - return false -} - -func (x *SchemaUpdate) GetUnique() bool { - if x != nil { - return x.Unique - } - return false -} - -func (x *SchemaUpdate) GetNonNullable() bool { - if x != nil { - return x.NonNullable - } - return false -} - -func (x *SchemaUpdate) GetNonNullableList() bool { - if x != nil { - return x.NonNullableList - } - return false -} - -func (x *SchemaUpdate) GetObjectTypeName() string { - if x != nil { - return x.ObjectTypeName - } - return "" -} - -func (x *SchemaUpdate) GetNoConflict() bool { - if x != nil { - return x.NoConflict - } - return false -} - -func (x *SchemaUpdate) GetIndexSpecs() []*VectorIndexSpec { - if x != nil { - return x.IndexSpecs - } - return nil -} - -type VectorIndexSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // This names the kind of Vector Index, e.g., - // - // hnsw, lsh, hypertree, ... - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Options []*OptionPair `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` -} - -func (x *VectorIndexSpec) Reset() { - *x = VectorIndexSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VectorIndexSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VectorIndexSpec) ProtoMessage() {} - -func (x *VectorIndexSpec) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VectorIndexSpec.ProtoReflect.Descriptor instead. -func (*VectorIndexSpec) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{41} -} - -func (x *VectorIndexSpec) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *VectorIndexSpec) GetOptions() []*OptionPair { - if x != nil { - return x.Options - } - return nil -} - -type OptionPair struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` -} - -func (x *OptionPair) Reset() { - *x = OptionPair{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OptionPair) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OptionPair) ProtoMessage() {} - -func (x *OptionPair) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OptionPair.ProtoReflect.Descriptor instead. -func (*OptionPair) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{42} -} - -func (x *OptionPair) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -func (x *OptionPair) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -type TypeUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TypeName string `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Fields []*SchemaUpdate `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` -} - -func (x *TypeUpdate) Reset() { - *x = TypeUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TypeUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TypeUpdate) ProtoMessage() {} - -func (x *TypeUpdate) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TypeUpdate.ProtoReflect.Descriptor instead. -func (*TypeUpdate) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{43} -} - -func (x *TypeUpdate) GetTypeName() string { - if x != nil { - return x.TypeName - } - return "" -} - -func (x *TypeUpdate) GetFields() []*SchemaUpdate { - if x != nil { - return x.Fields - } - return nil -} - -type MapHeader struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PartitionKeys [][]byte `protobuf:"bytes,1,rep,name=partition_keys,json=partitionKeys,proto3" json:"partition_keys,omitempty"` -} - -func (x *MapHeader) Reset() { - *x = MapHeader{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MapHeader) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MapHeader) ProtoMessage() {} - -func (x *MapHeader) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MapHeader.ProtoReflect.Descriptor instead. -func (*MapHeader) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{44} -} - -func (x *MapHeader) GetPartitionKeys() [][]byte { - if x != nil { - return x.PartitionKeys - } - return nil -} - -type MovePredicatePayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Predicate string `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"` - SourceGid uint32 `protobuf:"varint,2,opt,name=source_gid,json=sourceGid,proto3" json:"source_gid,omitempty"` - DestGid uint32 `protobuf:"varint,3,opt,name=dest_gid,json=destGid,proto3" json:"dest_gid,omitempty"` - TxnTs uint64 `protobuf:"varint,4,opt,name=txn_ts,json=txnTs,proto3" json:"txn_ts,omitempty"` - ExpectedChecksum uint64 `protobuf:"varint,5,opt,name=expected_checksum,json=expectedChecksum,proto3" json:"expected_checksum,omitempty"` -} - -func (x *MovePredicatePayload) Reset() { - *x = MovePredicatePayload{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MovePredicatePayload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MovePredicatePayload) ProtoMessage() {} - -func (x *MovePredicatePayload) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MovePredicatePayload.ProtoReflect.Descriptor instead. -func (*MovePredicatePayload) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{45} -} - -func (x *MovePredicatePayload) GetPredicate() string { - if x != nil { - return x.Predicate - } - return "" -} - -func (x *MovePredicatePayload) GetSourceGid() uint32 { - if x != nil { - return x.SourceGid - } - return 0 -} - -func (x *MovePredicatePayload) GetDestGid() uint32 { - if x != nil { - return x.DestGid - } - return 0 -} - -func (x *MovePredicatePayload) GetTxnTs() uint64 { - if x != nil { - return x.TxnTs - } - return 0 -} - -func (x *MovePredicatePayload) GetExpectedChecksum() uint64 { - if x != nil { - return x.ExpectedChecksum - } - return 0 -} - -type TxnStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StartTs uint64 `protobuf:"varint,1,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` - CommitTs uint64 `protobuf:"varint,2,opt,name=commit_ts,json=commitTs,proto3" json:"commit_ts,omitempty"` -} - -func (x *TxnStatus) Reset() { - *x = TxnStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TxnStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TxnStatus) ProtoMessage() {} - -func (x *TxnStatus) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TxnStatus.ProtoReflect.Descriptor instead. -func (*TxnStatus) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{46} -} - -func (x *TxnStatus) GetStartTs() uint64 { - if x != nil { - return x.StartTs - } - return 0 -} - -func (x *TxnStatus) GetCommitTs() uint64 { - if x != nil { - return x.CommitTs - } - return 0 -} - -type OracleDelta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Txns []*TxnStatus `protobuf:"bytes,1,rep,name=txns,proto3" json:"txns,omitempty"` - MaxAssigned uint64 `protobuf:"varint,2,opt,name=max_assigned,json=maxAssigned,proto3" json:"max_assigned,omitempty"` - GroupChecksums map[uint32]uint64 `protobuf:"bytes,3,rep,name=group_checksums,json=groupChecksums,proto3" json:"group_checksums,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // implement tmax. -} - -func (x *OracleDelta) Reset() { - *x = OracleDelta{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OracleDelta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OracleDelta) ProtoMessage() {} - -func (x *OracleDelta) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OracleDelta.ProtoReflect.Descriptor instead. -func (*OracleDelta) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{47} -} - -func (x *OracleDelta) GetTxns() []*TxnStatus { - if x != nil { - return x.Txns - } - return nil -} - -func (x *OracleDelta) GetMaxAssigned() uint64 { - if x != nil { - return x.MaxAssigned - } - return 0 -} - -func (x *OracleDelta) GetGroupChecksums() map[uint32]uint64 { - if x != nil { - return x.GroupChecksums - } - return nil -} - -type TxnTimestamps struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Ts []uint64 `protobuf:"varint,1,rep,packed,name=ts,proto3" json:"ts,omitempty"` -} - -func (x *TxnTimestamps) Reset() { - *x = TxnTimestamps{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TxnTimestamps) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TxnTimestamps) ProtoMessage() {} - -func (x *TxnTimestamps) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TxnTimestamps.ProtoReflect.Descriptor instead. -func (*TxnTimestamps) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{48} -} - -func (x *TxnTimestamps) GetTs() []uint64 { - if x != nil { - return x.Ts - } - return nil -} - -type PeerResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *PeerResponse) Reset() { - *x = PeerResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerResponse) ProtoMessage() {} - -func (x *PeerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerResponse.ProtoReflect.Descriptor instead. -func (*PeerResponse) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{49} -} - -func (x *PeerResponse) GetStatus() bool { - if x != nil { - return x.Status - } - return false -} - -type RaftBatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Context *RaftContext `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` - Payload *api.Payload `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` -} - -func (x *RaftBatch) Reset() { - *x = RaftBatch{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RaftBatch) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RaftBatch) ProtoMessage() {} - -func (x *RaftBatch) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RaftBatch.ProtoReflect.Descriptor instead. -func (*RaftBatch) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{50} -} - -func (x *RaftBatch) GetContext() *RaftContext { - if x != nil { - return x.Context - } - return nil -} - -func (x *RaftBatch) GetPayload() *api.Payload { - if x != nil { - return x.Payload - } - return nil -} - -type TabletResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Tablets []*Tablet `protobuf:"bytes,1,rep,name=tablets,proto3" json:"tablets,omitempty"` -} - -func (x *TabletResponse) Reset() { - *x = TabletResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TabletResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TabletResponse) ProtoMessage() {} - -func (x *TabletResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TabletResponse.ProtoReflect.Descriptor instead. -func (*TabletResponse) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{51} -} - -func (x *TabletResponse) GetTablets() []*Tablet { - if x != nil { - return x.Tablets - } - return nil -} - -type TabletRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Tablets []*Tablet `protobuf:"bytes,1,rep,name=tablets,proto3" json:"tablets,omitempty"` - GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` -} - -func (x *TabletRequest) Reset() { - *x = TabletRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TabletRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TabletRequest) ProtoMessage() {} - -func (x *TabletRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TabletRequest.ProtoReflect.Descriptor instead. -func (*TabletRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{52} -} - -func (x *TabletRequest) GetTablets() []*Tablet { - if x != nil { - return x.Tablets - } - return nil -} - -func (x *TabletRequest) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -type SubscriptionRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Prefixes [][]byte `protobuf:"bytes,1,rep,name=prefixes,proto3" json:"prefixes,omitempty"` - Matches []*pb.Match `protobuf:"bytes,2,rep,name=matches,proto3" json:"matches,omitempty"` -} - -func (x *SubscriptionRequest) Reset() { - *x = SubscriptionRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscriptionRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscriptionRequest) ProtoMessage() {} - -func (x *SubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscriptionRequest.ProtoReflect.Descriptor instead. -func (*SubscriptionRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{53} -} - -func (x *SubscriptionRequest) GetPrefixes() [][]byte { - if x != nil { - return x.Prefixes - } - return nil -} - -func (x *SubscriptionRequest) GetMatches() []*pb.Match { - if x != nil { - return x.Matches - } - return nil -} - -type SubscriptionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Kvs *pb.KVList `protobuf:"bytes,1,opt,name=kvs,proto3" json:"kvs,omitempty"` -} - -func (x *SubscriptionResponse) Reset() { - *x = SubscriptionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscriptionResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscriptionResponse) ProtoMessage() {} - -func (x *SubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscriptionResponse.ProtoReflect.Descriptor instead. -func (*SubscriptionResponse) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{54} -} - -func (x *SubscriptionResponse) GetKvs() *pb.KVList { - if x != nil { - return x.Kvs - } - return nil -} - -type Num struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Val uint64 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` - ReadOnly bool `protobuf:"varint,2,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"` - Forwarded bool `protobuf:"varint,3,opt,name=forwarded,proto3" json:"forwarded,omitempty"` // True if this request was forwarded by a peer. - // If bump is set to true then we bump the lease to val. If false, we assign new ids with count - // equal to val. - Bump bool `protobuf:"varint,5,opt,name=bump,proto3" json:"bump,omitempty"` - Type NumLeaseType `protobuf:"varint,4,opt,name=type,proto3,enum=pb.NumLeaseType" json:"type,omitempty"` -} - -func (x *Num) Reset() { - *x = Num{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Num) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Num) ProtoMessage() {} - -func (x *Num) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Num.ProtoReflect.Descriptor instead. -func (*Num) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{55} -} - -func (x *Num) GetVal() uint64 { - if x != nil { - return x.Val - } - return 0 -} - -func (x *Num) GetReadOnly() bool { - if x != nil { - return x.ReadOnly - } - return false -} - -func (x *Num) GetForwarded() bool { - if x != nil { - return x.Forwarded - } - return false -} - -func (x *Num) GetBump() bool { - if x != nil { - return x.Bump - } - return false -} - -func (x *Num) GetType() NumLeaseType { - if x != nil { - return x.Type - } - return Num_NS_ID -} - -type AssignedIds struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StartId uint64 `protobuf:"varint,1,opt,name=startId,proto3" json:"startId,omitempty"` - EndId uint64 `protobuf:"varint,2,opt,name=endId,proto3" json:"endId,omitempty"` - // The following is used for read only transactions. - ReadOnly uint64 `protobuf:"varint,5,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"` -} - -func (x *AssignedIds) Reset() { - *x = AssignedIds{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AssignedIds) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AssignedIds) ProtoMessage() {} - -func (x *AssignedIds) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AssignedIds.ProtoReflect.Descriptor instead. -func (*AssignedIds) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{56} -} - -func (x *AssignedIds) GetStartId() uint64 { - if x != nil { - return x.StartId - } - return 0 -} - -func (x *AssignedIds) GetEndId() uint64 { - if x != nil { - return x.EndId - } - return 0 -} - -func (x *AssignedIds) GetReadOnly() uint64 { - if x != nil { - return x.ReadOnly - } - return 0 -} - -type RemoveNodeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NodeId uint64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` - GroupId uint32 `protobuf:"varint,2,opt,name=groupId,proto3" json:"groupId,omitempty"` -} - -func (x *RemoveNodeRequest) Reset() { - *x = RemoveNodeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveNodeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveNodeRequest) ProtoMessage() {} - -func (x *RemoveNodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveNodeRequest.ProtoReflect.Descriptor instead. -func (*RemoveNodeRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{57} -} - -func (x *RemoveNodeRequest) GetNodeId() uint64 { - if x != nil { - return x.NodeId - } - return 0 -} - -func (x *RemoveNodeRequest) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -type MoveTabletRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Namespace uint64 `protobuf:"varint,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Tablet string `protobuf:"bytes,2,opt,name=tablet,proto3" json:"tablet,omitempty"` - DstGroup uint32 `protobuf:"varint,3,opt,name=dstGroup,proto3" json:"dstGroup,omitempty"` -} - -func (x *MoveTabletRequest) Reset() { - *x = MoveTabletRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MoveTabletRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MoveTabletRequest) ProtoMessage() {} - -func (x *MoveTabletRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MoveTabletRequest.ProtoReflect.Descriptor instead. -func (*MoveTabletRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{58} -} - -func (x *MoveTabletRequest) GetNamespace() uint64 { - if x != nil { - return x.Namespace - } - return 0 -} - -func (x *MoveTabletRequest) GetTablet() string { - if x != nil { - return x.Tablet - } - return "" -} - -func (x *MoveTabletRequest) GetDstGroup() uint32 { - if x != nil { - return x.DstGroup - } - return 0 -} - -type SnapshotMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClientTs uint64 `protobuf:"varint,1,opt,name=client_ts,json=clientTs,proto3" json:"client_ts,omitempty"` - GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` -} - -func (x *SnapshotMeta) Reset() { - *x = SnapshotMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SnapshotMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SnapshotMeta) ProtoMessage() {} - -func (x *SnapshotMeta) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SnapshotMeta.ProtoReflect.Descriptor instead. -func (*SnapshotMeta) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{59} -} - -func (x *SnapshotMeta) GetClientTs() uint64 { - if x != nil { - return x.ClientTs - } - return 0 -} - -func (x *SnapshotMeta) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -// Status describes a general status response. -// code: 0 = success, 0 != failure. -type Status struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` -} - -func (x *Status) Reset() { - *x = Status{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Status) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Status) ProtoMessage() {} - -func (x *Status) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Status.ProtoReflect.Descriptor instead. -func (*Status) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{60} -} - -func (x *Status) GetCode() int32 { - if x != nil { - return x.Code - } - return 0 -} - -func (x *Status) GetMsg() string { - if x != nil { - return x.Msg - } - return "" -} - -// Backups record all data from since_ts to read_ts. -// With incremental backups, the read_ts of the first backup becomes -// the since_ts of the second backup. -// Incremental backups can be disabled using the force_full field. -type BackupRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ReadTs uint64 `protobuf:"varint,1,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` - SinceTs uint64 `protobuf:"varint,2,opt,name=since_ts,json=sinceTs,proto3" json:"since_ts,omitempty"` - GroupId uint32 `protobuf:"varint,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` - UnixTs string `protobuf:"bytes,4,opt,name=unix_ts,json=unixTs,proto3" json:"unix_ts,omitempty"` - Destination string `protobuf:"bytes,5,opt,name=destination,proto3" json:"destination,omitempty"` - AccessKey string `protobuf:"bytes,6,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` - SecretKey Sensitive `protobuf:"bytes,7,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` - SessionToken Sensitive `protobuf:"bytes,8,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` - // True if no credentials should be used to access the S3 or minio bucket. - // For example, when using a bucket with a public policy. - Anonymous bool `protobuf:"varint,9,opt,name=anonymous,proto3" json:"anonymous,omitempty"` - // The predicates to backup. All other predicates present in the group (e.g - // stale data from a predicate move) will be ignored. - Predicates []string `protobuf:"bytes,10,rep,name=predicates,proto3" json:"predicates,omitempty"` - ForceFull bool `protobuf:"varint,11,opt,name=force_full,json=forceFull,proto3" json:"force_full,omitempty"` -} - -func (x *BackupRequest) Reset() { - *x = BackupRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BackupRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BackupRequest) ProtoMessage() {} - -func (x *BackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BackupRequest.ProtoReflect.Descriptor instead. -func (*BackupRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{61} -} - -func (x *BackupRequest) GetReadTs() uint64 { - if x != nil { - return x.ReadTs - } - return 0 -} - -func (x *BackupRequest) GetSinceTs() uint64 { - if x != nil { - return x.SinceTs - } - return 0 -} - -func (x *BackupRequest) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -func (x *BackupRequest) GetUnixTs() string { - if x != nil { - return x.UnixTs - } - return "" -} - -func (x *BackupRequest) GetDestination() string { - if x != nil { - return x.Destination - } - return "" -} - -func (x *BackupRequest) GetAccessKey() string { - if x != nil { - return x.AccessKey - } - return "" -} - -func (x *BackupRequest) GetSecretKey() Sensitive { - if x != nil { - return x.SecretKey - } - return "" -} - -func (x *BackupRequest) GetSessionToken() Sensitive { - if x != nil { - return x.SessionToken - } - return "" -} - -func (x *BackupRequest) GetAnonymous() bool { - if x != nil { - return x.Anonymous - } - return false -} - -func (x *BackupRequest) GetPredicates() []string { - if x != nil { - return x.Predicates - } - return nil -} - -func (x *BackupRequest) GetForceFull() bool { - if x != nil { - return x.ForceFull - } - return false -} - -type BackupResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DropOperations []*DropOperation `protobuf:"bytes,1,rep,name=drop_operations,json=dropOperations,proto3" json:"drop_operations,omitempty"` -} - -func (x *BackupResponse) Reset() { - *x = BackupResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BackupResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BackupResponse) ProtoMessage() {} - -func (x *BackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BackupResponse.ProtoReflect.Descriptor instead. -func (*BackupResponse) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{62} -} - -func (x *BackupResponse) GetDropOperations() []*DropOperation { - if x != nil { - return x.DropOperations - } - return nil -} - -type DropOperation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DropOp DropOperation_DropOp `protobuf:"varint,1,opt,name=drop_op,json=dropOp,proto3,enum=pb.DropOperation_DropOp" json:"drop_op,omitempty"` - // When drop_op is ATTR, drop_value will be the name of the ATTR; empty - // otherwise. - DropValue string `protobuf:"bytes,2,opt,name=drop_value,json=dropValue,proto3" json:"drop_value,omitempty"` -} - -func (x *DropOperation) Reset() { - *x = DropOperation{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DropOperation) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DropOperation) ProtoMessage() {} - -func (x *DropOperation) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DropOperation.ProtoReflect.Descriptor instead. -func (*DropOperation) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{63} -} - -func (x *DropOperation) GetDropOp() DropOperation_DropOp { - if x != nil { - return x.DropOp - } - return DropOperation_ALL -} - -func (x *DropOperation) GetDropValue() string { - if x != nil { - return x.DropValue - } - return "" -} - -type ExportRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` // Group id to back up. - ReadTs uint64 `protobuf:"varint,2,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` - UnixTs int64 `protobuf:"varint,3,opt,name=unix_ts,json=unixTs,proto3" json:"unix_ts,omitempty"` - Format string `protobuf:"bytes,4,opt,name=format,proto3" json:"format,omitempty"` - Destination string `protobuf:"bytes,5,opt,name=destination,proto3" json:"destination,omitempty"` - // These credentials are used to access the S3 or minio bucket. - AccessKey string `protobuf:"bytes,6,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` - SecretKey Sensitive `protobuf:"bytes,7,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` - SessionToken Sensitive `protobuf:"bytes,8,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` - Anonymous bool `protobuf:"varint,9,opt,name=anonymous,proto3" json:"anonymous,omitempty"` - Namespace uint64 `protobuf:"varint,10,opt,name=namespace,proto3" json:"namespace,omitempty"` -} - -func (x *ExportRequest) Reset() { - *x = ExportRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExportRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExportRequest) ProtoMessage() {} - -func (x *ExportRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExportRequest.ProtoReflect.Descriptor instead. -func (*ExportRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{64} -} - -func (x *ExportRequest) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -func (x *ExportRequest) GetReadTs() uint64 { - if x != nil { - return x.ReadTs - } - return 0 -} - -func (x *ExportRequest) GetUnixTs() int64 { - if x != nil { - return x.UnixTs - } - return 0 -} - -func (x *ExportRequest) GetFormat() string { - if x != nil { - return x.Format - } - return "" -} - -func (x *ExportRequest) GetDestination() string { - if x != nil { - return x.Destination - } - return "" -} - -func (x *ExportRequest) GetAccessKey() string { - if x != nil { - return x.AccessKey - } - return "" -} - -func (x *ExportRequest) GetSecretKey() Sensitive { - if x != nil { - return x.SecretKey - } - return "" -} - -func (x *ExportRequest) GetSessionToken() Sensitive { - if x != nil { - return x.SessionToken - } - return "" -} - -func (x *ExportRequest) GetAnonymous() bool { - if x != nil { - return x.Anonymous - } - return false -} - -func (x *ExportRequest) GetNamespace() uint64 { - if x != nil { - return x.Namespace - } - return 0 -} - -type ExportResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 0 indicates a success, and a non-zero code indicates failure - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` - Files []string `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"` -} - -func (x *ExportResponse) Reset() { - *x = ExportResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExportResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExportResponse) ProtoMessage() {} - -func (x *ExportResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExportResponse.ProtoReflect.Descriptor instead. -func (*ExportResponse) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{65} -} - -func (x *ExportResponse) GetCode() int32 { - if x != nil { - return x.Code - } - return 0 -} - -func (x *ExportResponse) GetMsg() string { - if x != nil { - return x.Msg - } - return "" -} - -func (x *ExportResponse) GetFiles() []string { - if x != nil { - return x.Files - } - return nil -} - -// A key stored in the format used for writing backups. -type BackupKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type BackupKey_KeyType `protobuf:"varint,1,opt,name=type,proto3,enum=pb.BackupKey_KeyType" json:"type,omitempty"` - Attr string `protobuf:"bytes,2,opt,name=attr,proto3" json:"attr,omitempty"` - Uid uint64 `protobuf:"varint,3,opt,name=uid,proto3" json:"uid,omitempty"` - StartUid uint64 `protobuf:"varint,4,opt,name=start_uid,json=startUid,proto3" json:"start_uid,omitempty"` - Term []byte `protobuf:"bytes,5,opt,name=term,proto3" json:"term,omitempty"` - Count uint32 `protobuf:"varint,6,opt,name=count,proto3" json:"count,omitempty"` - Namespace uint64 `protobuf:"varint,7,opt,name=namespace,proto3" json:"namespace,omitempty"` -} - -func (x *BackupKey) Reset() { - *x = BackupKey{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BackupKey) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BackupKey) ProtoMessage() {} - -func (x *BackupKey) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BackupKey.ProtoReflect.Descriptor instead. -func (*BackupKey) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{66} -} - -func (x *BackupKey) GetType() BackupKey_KeyType { - if x != nil { - return x.Type - } - return BackupKey_UNKNOWN -} - -func (x *BackupKey) GetAttr() string { - if x != nil { - return x.Attr - } - return "" -} - -func (x *BackupKey) GetUid() uint64 { - if x != nil { - return x.Uid - } - return 0 -} - -func (x *BackupKey) GetStartUid() uint64 { - if x != nil { - return x.StartUid - } - return 0 -} - -func (x *BackupKey) GetTerm() []byte { - if x != nil { - return x.Term - } - return nil -} - -func (x *BackupKey) GetCount() uint32 { - if x != nil { - return x.Count - } - return 0 -} - -func (x *BackupKey) GetNamespace() uint64 { - if x != nil { - return x.Namespace - } - return 0 -} - -// A posting list stored in the format used for writing backups. -type BackupPostingList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uids []uint64 `protobuf:"varint,1,rep,packed,name=uids,proto3" json:"uids,omitempty"` - Postings []*Posting `protobuf:"bytes,2,rep,name=postings,proto3" json:"postings,omitempty"` - CommitTs uint64 `protobuf:"varint,3,opt,name=commit_ts,json=commitTs,proto3" json:"commit_ts,omitempty"` - Splits []uint64 `protobuf:"varint,4,rep,packed,name=splits,proto3" json:"splits,omitempty"` - UidBytes []byte `protobuf:"bytes,5,opt,name=uid_bytes,json=uidBytes,proto3" json:"uid_bytes,omitempty"` -} - -func (x *BackupPostingList) Reset() { - *x = BackupPostingList{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BackupPostingList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BackupPostingList) ProtoMessage() {} - -func (x *BackupPostingList) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BackupPostingList.ProtoReflect.Descriptor instead. -func (*BackupPostingList) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{67} -} - -func (x *BackupPostingList) GetUids() []uint64 { - if x != nil { - return x.Uids - } - return nil -} - -func (x *BackupPostingList) GetPostings() []*Posting { - if x != nil { - return x.Postings - } - return nil -} - -func (x *BackupPostingList) GetCommitTs() uint64 { - if x != nil { - return x.CommitTs - } - return 0 -} - -func (x *BackupPostingList) GetSplits() []uint64 { - if x != nil { - return x.Splits - } - return nil -} - -func (x *BackupPostingList) GetUidBytes() []byte { - if x != nil { - return x.UidBytes - } - return nil -} - -type UpdateGraphQLSchemaRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StartTs uint64 `protobuf:"varint,1,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` - GraphqlSchema string `protobuf:"bytes,2,opt,name=graphql_schema,json=graphqlSchema,proto3" json:"graphql_schema,omitempty"` - DgraphPreds []*SchemaUpdate `protobuf:"bytes,3,rep,name=dgraph_preds,json=dgraphPreds,proto3" json:"dgraph_preds,omitempty"` - DgraphTypes []*TypeUpdate `protobuf:"bytes,4,rep,name=dgraph_types,json=dgraphTypes,proto3" json:"dgraph_types,omitempty"` -} - -func (x *UpdateGraphQLSchemaRequest) Reset() { - *x = UpdateGraphQLSchemaRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateGraphQLSchemaRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateGraphQLSchemaRequest) ProtoMessage() {} - -func (x *UpdateGraphQLSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateGraphQLSchemaRequest.ProtoReflect.Descriptor instead. -func (*UpdateGraphQLSchemaRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{68} -} - -func (x *UpdateGraphQLSchemaRequest) GetStartTs() uint64 { - if x != nil { - return x.StartTs - } - return 0 -} - -func (x *UpdateGraphQLSchemaRequest) GetGraphqlSchema() string { - if x != nil { - return x.GraphqlSchema - } - return "" -} - -func (x *UpdateGraphQLSchemaRequest) GetDgraphPreds() []*SchemaUpdate { - if x != nil { - return x.DgraphPreds - } - return nil -} - -func (x *UpdateGraphQLSchemaRequest) GetDgraphTypes() []*TypeUpdate { - if x != nil { - return x.DgraphTypes - } - return nil -} - -type UpdateGraphQLSchemaResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uid uint64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` -} - -func (x *UpdateGraphQLSchemaResponse) Reset() { - *x = UpdateGraphQLSchemaResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateGraphQLSchemaResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateGraphQLSchemaResponse) ProtoMessage() {} - -func (x *UpdateGraphQLSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateGraphQLSchemaResponse.ProtoReflect.Descriptor instead. -func (*UpdateGraphQLSchemaResponse) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{69} -} - -func (x *UpdateGraphQLSchemaResponse) GetUid() uint64 { - if x != nil { - return x.Uid - } - return 0 -} - -// BulkMeta stores metadata from the map phase of the bulk loader. -type BulkMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EdgeCount int64 `protobuf:"varint,1,opt,name=edge_count,json=edgeCount,proto3" json:"edge_count,omitempty"` - SchemaMap map[string]*SchemaUpdate `protobuf:"bytes,2,rep,name=schema_map,json=schemaMap,proto3" json:"schema_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Types []*TypeUpdate `protobuf:"bytes,3,rep,name=types,proto3" json:"types,omitempty"` -} - -func (x *BulkMeta) Reset() { - *x = BulkMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BulkMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BulkMeta) ProtoMessage() {} - -func (x *BulkMeta) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BulkMeta.ProtoReflect.Descriptor instead. -func (*BulkMeta) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{70} -} - -func (x *BulkMeta) GetEdgeCount() int64 { - if x != nil { - return x.EdgeCount - } - return 0 -} - -func (x *BulkMeta) GetSchemaMap() map[string]*SchemaUpdate { - if x != nil { - return x.SchemaMap - } - return nil -} - -func (x *BulkMeta) GetTypes() []*TypeUpdate { - if x != nil { - return x.Types - } - return nil -} - -type DeleteNsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` - Namespace uint64 `protobuf:"varint,2,opt,name=namespace,proto3" json:"namespace,omitempty"` -} - -func (x *DeleteNsRequest) Reset() { - *x = DeleteNsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteNsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteNsRequest) ProtoMessage() {} - -func (x *DeleteNsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteNsRequest.ProtoReflect.Descriptor instead. -func (*DeleteNsRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{71} -} - -func (x *DeleteNsRequest) GetGroupId() uint32 { - if x != nil { - return x.GroupId - } - return 0 -} - -func (x *DeleteNsRequest) GetNamespace() uint64 { - if x != nil { - return x.Namespace - } - return 0 -} - -type TaskStatusRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TaskId uint64 `protobuf:"varint,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` -} - -func (x *TaskStatusRequest) Reset() { - *x = TaskStatusRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TaskStatusRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TaskStatusRequest) ProtoMessage() {} - -func (x *TaskStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TaskStatusRequest.ProtoReflect.Descriptor instead. -func (*TaskStatusRequest) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{72} -} - -func (x *TaskStatusRequest) GetTaskId() uint64 { - if x != nil { - return x.TaskId - } - return 0 -} - -type TaskStatusResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TaskMeta uint64 `protobuf:"varint,1,opt,name=task_meta,json=taskMeta,proto3" json:"task_meta,omitempty"` -} - -func (x *TaskStatusResponse) Reset() { - *x = TaskStatusResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TaskStatusResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TaskStatusResponse) ProtoMessage() {} - -func (x *TaskStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TaskStatusResponse.ProtoReflect.Descriptor instead. -func (*TaskStatusResponse) Descriptor() ([]byte, []int) { - return file_pb_proto_rawDescGZIP(), []int{73} -} - -func (x *TaskStatusResponse) GetTaskMeta() uint64 { - if x != nil { - return x.TaskMeta - } - return 0 -} - -var File_pb_proto protoreflect.FileDescriptor - -var file_pb_proto_rawDesc = []byte{ - 0x0a, 0x08, 0x70, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x2e, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x2d, 0x69, 0x6f, 0x2f, 0x64, 0x67, 0x6f, 0x2f, 0x76, 0x32, 0x35, 0x30, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x2d, 0x69, 0x6f, 0x2f, 0x62, 0x61, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x34, 0x2f, 0x70, - 0x62, 0x2f, 0x70, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x06, 0x52, 0x04, 0x75, 0x69, 0x64, 0x73, 0x22, 0x4d, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, - 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, - 0x76, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x0b, 0x53, 0x72, 0x63, 0x46, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, - 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xde, 0x03, 0x0a, 0x05, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x08, 0x61, 0x66, 0x74, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x6f, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x6f, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x07, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x73, 0x72, 0x63, - 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, - 0x2e, 0x53, 0x72, 0x63, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x72, - 0x63, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x12, - 0x30, 0x0a, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0a, 0x66, 0x61, 0x63, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x12, 0x33, 0x0a, 0x0d, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, - 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x78, 0x70, 0x61, - 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x73, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x54, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, - 0x61, 0x63, 0x68, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x25, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x32, 0x0a, 0x09, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x1e, 0x0a, - 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x22, 0xa0, 0x03, - 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x75, 0x69, 0x64, 0x5f, - 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, - 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x75, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, - 0x78, 0x12, 0x30, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, - 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, - 0x72, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x44, 0x65, - 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x72, - 0x69, 0x78, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x61, - 0x63, 0x65, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x74, 0x4d, - 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x2d, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6d, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, - 0x4c, 0x61, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0a, 0x6c, 0x61, 0x6e, 0x67, 0x4d, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x76, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x56, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0d, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x40, - 0x0a, 0x12, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x45, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x74, 0x74, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x65, 0x73, - 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x0b, 0x53, 0x6f, 0x72, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0a, 0x75, 0x69, 0x64, 0x5f, - 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, - 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x75, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, - 0x78, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, - 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x54, 0x73, 0x22, 0x35, 0x0a, 0x0a, 0x53, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x75, 0x69, 0x64, 0x5f, 0x6d, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x75, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x22, - 0x87, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, - 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x69, 0x73, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x22, 0xfe, 0x01, 0x0a, 0x06, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, - 0x64, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, - 0x44, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x6d, 0x44, 0x65, - 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0xdd, 0x02, 0x0a, 0x05, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x73, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, - 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x0c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x04, 0x0a, 0x0c, 0x5a, - 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x41, 0x0a, 0x0b, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x5a, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x61, 0x6c, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x73, 0x12, 0x22, - 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, - 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x22, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x06, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x55, 0x49, 0x44, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x55, 0x49, 0x44, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x54, 0x78, 0x6e, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x6d, 0x61, 0x78, 0x54, 0x78, 0x6e, 0x54, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, - 0x78, 0x4e, 0x73, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x78, - 0x4e, 0x73, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x66, 0x74, 0x49, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x66, 0x74, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x74, 0x78, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x52, 0x03, 0x74, 0x78, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x5a, - 0x65, 0x72, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x30, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, - 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, 0x12, 0x24, 0x0a, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x1a, 0x3d, 0x0a, - 0x0f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x08, - 0x10, 0x09, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x22, 0xd0, 0x03, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, - 0x34, 0x0a, 0x05, 0x7a, 0x65, 0x72, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x2e, 0x5a, 0x65, 0x72, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, - 0x7a, 0x65, 0x72, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x55, 0x49, 0x44, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x55, 0x49, 0x44, 0x12, 0x1a, 0x0a, - 0x08, 0x6d, 0x61, 0x78, 0x54, 0x78, 0x6e, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x6d, 0x61, 0x78, 0x54, 0x78, 0x6e, 0x54, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, - 0x4e, 0x73, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x4e, - 0x73, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x66, 0x74, 0x49, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x66, 0x74, 0x49, - 0x64, 0x12, 0x24, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, - 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x1a, 0x44, 0x0a, 0x0b, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, - 0x44, 0x0a, 0x0a, 0x5a, 0x65, 0x72, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, - 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0x81, 0x01, 0x0a, 0x0f, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x22, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, - 0xb8, 0x02, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, - 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, - 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x70, - 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x63, 0x68, 0x6f, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x63, 0x68, 0x6f, - 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x07, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x65, 0x5f, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x65, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, - 0x61, 0x78, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0xf5, 0x01, 0x0a, 0x06, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x6e, 0x44, 0x69, - 0x73, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, - 0x6f, 0x76, 0x65, 0x54, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x6f, 0x76, - 0x65, 0x54, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x11, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x0c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, - 0x64, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, - 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, - 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x45, 0x64, 0x67, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x22, 0x0a, - 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, - 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x72, 0x65, 0x64, - 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x50, 0x72, 0x65, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x22, 0x1f, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, - 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4f, - 0x56, 0x52, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0xf1, 0x02, 0x0a, 0x09, 0x4d, - 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x26, - 0x0a, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x70, 0x62, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x64, 0x67, 0x65, 0x52, - 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x12, 0x24, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, - 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x52, 0x06, 0x64, - 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3e, - 0x0a, 0x06, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, - 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, - 0x41, 0x54, 0x41, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x59, 0x50, 0x45, 0x10, 0x03, 0x12, - 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4e, 0x5f, 0x4e, 0x53, 0x10, 0x04, 0x22, 0xca, - 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x0a, 0x70, - 0x72, 0x65, 0x64, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, - 0x65, 0x64, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x72, - 0x65, 0x64, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x53, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x64, 0x48, - 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2d, 0x0a, 0x08, - 0x48, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x10, - 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x22, 0x93, 0x01, 0x0a, 0x08, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x29, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, - 0x61, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, - 0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, - 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x54, - 0x73, 0x22, 0x74, 0x0a, 0x0c, 0x5a, 0x65, 0x72, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x73, 0x12, 0x29, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, - 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xdb, 0x05, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x5f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x54, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x12, 0x2e, - 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2a, 0x0a, - 0x11, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x69, 0x64, 0x5f, 0x66, 0x69, - 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x52, - 0x6f, 0x6c, 0x65, 0x69, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x69, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x69, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, - 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x75, 0x6c, - 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, - 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x69, - 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x66, 0x72, - 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x69, - 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x52, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xc5, 0x04, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x1d, 0x0a, 0x02, 0x6b, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x62, 0x61, - 0x64, 0x67, 0x65, 0x72, 0x70, 0x62, 0x34, 0x2e, 0x4b, 0x56, 0x52, 0x02, 0x6b, 0x76, 0x12, 0x29, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x65, - 0x61, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, 0x6c, - 0x74, 0x61, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x08, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, - 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x70, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x09, 0x63, 0x64, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x44, 0x43, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x63, 0x64, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x30, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x59, 0x0a, 0x12, - 0x65, 0x78, 0x74, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x65, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x22, 0x23, 0x0a, - 0x08, 0x43, 0x44, 0x43, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x65, 0x6e, - 0x74, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x74, - 0x54, 0x73, 0x22, 0x63, 0x0a, 0x03, 0x4b, 0x56, 0x53, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x80, 0x04, 0x0a, 0x07, 0x50, 0x6f, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x76, - 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, - 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x70, - 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x50, - 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x70, 0x6f, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x5f, - 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x12, 0x22, 0x0a, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, - 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x73, 0x22, 0xa0, - 0x01, 0x0a, 0x07, 0x56, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, - 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, - 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, - 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, - 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x05, 0x12, - 0x07, 0x0a, 0x03, 0x47, 0x45, 0x4f, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x49, 0x44, 0x10, - 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x08, 0x12, - 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x0a, 0x0a, 0x06, 0x4f, - 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x0a, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x49, 0x47, 0x46, 0x4c, - 0x4f, 0x41, 0x54, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x56, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, - 0x0c, 0x22, 0x31, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x07, 0x0a, 0x03, 0x52, 0x45, 0x46, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x41, 0x4c, - 0x55, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x41, - 0x4e, 0x47, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x51, 0x0a, 0x08, 0x55, 0x69, - 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, - 0x6c, 0x74, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x74, - 0x61, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x69, 0x64, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x55, 0x69, 0x64, 0x73, 0x22, 0x6b, 0x0a, - 0x07, 0x55, 0x69, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x69, 0x64, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1b, 0x0a, - 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x17, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x52, 0x65, 0x66, 0x22, 0x8c, 0x01, 0x0a, 0x0b, 0x50, - 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x61, - 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x69, - 0x64, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x04, 0x70, 0x61, 0x63, 0x6b, 0x12, 0x27, 0x0a, 0x08, 0x70, - 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x04, 0x52, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x0a, 0x46, 0x61, 0x63, - 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x22, - 0x4e, 0x0a, 0x0b, 0x46, 0x61, 0x63, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x61, - 0x63, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, - 0x2c, 0x0a, 0x06, 0x46, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x66, 0x61, 0x63, - 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x22, 0x39, 0x0a, - 0x0a, 0x46, 0x61, 0x63, 0x65, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0b, 0x66, - 0x61, 0x63, 0x65, 0x74, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x73, 0x52, 0x0a, 0x66, 0x61, - 0x63, 0x65, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x44, 0x0a, 0x08, 0x46, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, - 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x6a, - 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x2a, 0x0a, 0x08, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x08, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x22, 0x78, 0x0a, 0x0d, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x76, - 0x65, 0x72, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x76, 0x65, - 0x72, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, - 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x6e, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, - 0x75, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x73, 0x70, 0x65, 0x63, - 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0a, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x53, 0x70, 0x65, 0x63, 0x73, 0x22, 0x3a, 0x0a, 0x0c, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x22, 0xc1, 0x04, 0x0a, 0x0c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x73, - 0x65, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x6e, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6e, 0x6f, 0x6e, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6e, 0x6f, 0x6e, - 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6e, 0x6f, 0x43, - 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, - 0x62, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x70, 0x65, - 0x63, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x70, 0x65, 0x63, 0x73, 0x22, 0x39, 0x0a, - 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, - 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x01, 0x12, - 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, - 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x52, 0x08, - 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x22, 0x4f, 0x0a, 0x0f, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, - 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x34, 0x0a, 0x0a, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x53, 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x09, 0x4d, 0x61, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x14, 0x4d, 0x6f, 0x76, - 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x69, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x67, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x64, 0x65, 0x73, 0x74, 0x47, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x6e, - 0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x78, 0x6e, 0x54, 0x73, - 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x65, 0x78, 0x70, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x43, 0x0a, - 0x09, 0x54, 0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x54, 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x0b, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, 0x6c, - 0x74, 0x61, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x78, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x04, 0x74, 0x78, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, 0x6c, - 0x74, 0x61, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1f, 0x0a, 0x0d, 0x54, 0x78, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x02, 0x74, 0x73, 0x22, 0x26, 0x0a, 0x0c, 0x50, 0x65, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x5e, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x29, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x22, 0x36, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x50, 0x0a, 0x0d, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x07, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, - 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x13, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, - 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x62, 0x61, 0x64, 0x67, 0x65, 0x72, 0x70, 0x62, 0x34, 0x2e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0x3b, 0x0a, 0x14, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x6b, 0x76, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x62, 0x61, 0x64, 0x67, 0x65, 0x72, 0x70, 0x62, 0x34, 0x2e, 0x4b, 0x56, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x03, 0x6b, 0x76, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x03, 0x4e, 0x75, 0x6d, - 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x76, - 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, - 0x1c, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x62, 0x75, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 0x75, 0x6d, - 0x70, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x75, 0x6d, 0x2e, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x53, 0x5f, 0x49, 0x44, 0x10, 0x00, - 0x12, 0x07, 0x0a, 0x03, 0x55, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x58, 0x4e, - 0x5f, 0x54, 0x53, 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x0b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x49, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, - 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, - 0x79, 0x22, 0x45, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x11, 0x4d, 0x6f, 0x76, 0x65, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, - 0x46, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, - 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xd9, 0x02, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, - 0x54, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x54, 0x73, 0x12, 0x19, 0x0a, - 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x78, - 0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x78, 0x54, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, - 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, - 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, - 0x6f, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, - 0x6d, 0x6f, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x75, - 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x46, - 0x75, 0x6c, 0x6c, 0x22, 0x4c, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x90, 0x01, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x52, 0x06, - 0x64, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x72, 0x6f, 0x70, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2d, 0x0a, 0x06, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x12, - 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x41, - 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x54, 0x54, 0x52, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, - 0x4e, 0x53, 0x10, 0x03, 0x22, 0xb5, 0x02, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x54, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x6e, - 0x69, 0x78, 0x5f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x6e, 0x69, - 0x78, 0x54, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x12, 0x1c, - 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x0e, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xab, 0x02, 0x0a, 0x09, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x4b, 0x65, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x68, - 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x41, 0x10, 0x01, - 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, - 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x55, 0x4e, - 0x54, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x56, - 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x06, 0x12, 0x08, - 0x0a, 0x04, 0x54, 0x59, 0x50, 0x45, 0x10, 0x07, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x75, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x04, 0x75, 0x69, - 0x64, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x70, 0x6c, 0x69, - 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x69, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x08, 0x75, 0x69, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xc6, 0x01, - 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x71, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x33, - 0x0a, 0x0c, 0x64, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x64, 0x67, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, - 0x65, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x64, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x64, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x08, 0x42, 0x75, 0x6c, 0x6b, - 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6d, 0x61, - 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x75, 0x6c, - 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x12, - 0x24, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x4e, 0x0a, 0x0e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, - 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x22, 0x2c, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, - 0x31, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4d, 0x65, - 0x74, 0x61, 0x32, 0xc4, 0x01, 0x0a, 0x04, 0x52, 0x61, 0x66, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x48, - 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x30, 0x01, 0x12, 0x2e, 0x0a, 0x0b, 0x52, 0x61, - 0x66, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x52, - 0x61, 0x66, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x00, 0x28, 0x01, 0x12, 0x2e, 0x0a, 0x0b, 0x4a, 0x6f, - 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, - 0x61, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x06, 0x49, 0x73, - 0x50, 0x65, 0x65, 0x72, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0xfd, 0x04, 0x0a, 0x04, 0x5a, 0x65, - 0x72, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x0a, 0x2e, - 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x00, - 0x12, 0x2d, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x12, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, - 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x00, 0x12, - 0x39, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x68, 0x69, 0x70, 0x12, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x1a, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x2b, 0x0a, 0x06, 0x4f, 0x72, - 0x61, 0x63, 0x6c, 0x65, 0x12, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, - 0x6c, 0x74, 0x61, 0x22, 0x00, 0x30, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x12, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0x00, - 0x12, 0x31, 0x0a, 0x06, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, - 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x27, 0x0a, 0x09, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x73, - 0x12, 0x07, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x75, 0x6d, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x41, -<<<<<<< HEAD - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x64, 0x73, 0x22, 0x00, 0x12, 0x28, 0x0a, 0x0a, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x07, 0x2e, 0x70, 0x62, 0x2e, - 0x4e, 0x75, 0x6d, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x49, 0x64, 0x73, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x4f, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, - 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x08, 0x54, - 0x72, 0x79, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x78, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, - 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x00, 0x12, 0x34, 0x0a, - 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x0a, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x32, 0xa4, 0x07, 0x0a, 0x06, 0x57, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, - 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x0f, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, - 0x12, 0x24, 0x0a, 0x09, 0x53, 0x65, 0x72, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x09, 0x2e, - 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0x07, 0x2e, 0x70, 0x62, 0x2e, 0x4b, 0x56, 0x53, 0x22, - 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x29, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x0f, 0x2e, - 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x0e, - 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, - 0x12, 0x2f, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, - 0x70, 0x62, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x00, 0x12, 0x31, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x2e, 0x70, 0x62, - 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, - 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, - 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, -======= - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x64, 0x73, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x0d, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x0f, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x0f, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, - 0x00, 0x12, 0x30, 0x0a, 0x08, 0x54, 0x72, 0x79, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x11, 0x2e, - 0x70, 0x62, 0x2e, 0x54, 0x78, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, - 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x74, - 0x61, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x0a, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, - 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x0a, - 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, - 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x32, - 0xaf, 0x07, 0x0a, 0x06, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x4d, 0x75, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x1a, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x12, 0x24, 0x0a, 0x09, 0x53, 0x65, 0x72, 0x76, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x12, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x0a, - 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x0e, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x0c, - 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0x07, 0x2e, 0x70, - 0x62, 0x2e, 0x4b, 0x56, 0x53, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x29, 0x0a, 0x04, 0x53, - 0x6f, 0x72, 0x74, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x2f, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x10, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x07, - 0x2e, 0x70, 0x62, 0x2e, 0x4b, 0x56, 0x53, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x00, 0x28, 0x01, 0x12, 0x39, 0x0a, 0x0d, 0x4d, 0x6f, 0x76, - 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, - 0x4d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x62, 0x61, 0x64, - 0x67, 0x65, 0x72, 0x70, 0x62, 0x34, 0x2e, 0x4b, 0x56, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x30, - 0x01, 0x12, 0x58, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, - 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x0f, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x13, - 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, 0x52, 0x65, 0x71, 0x75, ->>>>>>> 2014a72d3 (Make dgraph import work over the internet) - 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x00, 0x12, 0x31, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x11, 0x2e, 0x70, 0x62, - 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, - 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x07, 0x2e, 0x70, 0x62, 0x2e, 0x4b, 0x56, - 0x53, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, - 0x00, 0x28, 0x01, 0x12, 0x39, 0x0a, 0x0d, 0x4d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x50, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x0c, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x00, 0x12, 0x3b, - 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, - 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x62, 0x61, 0x64, 0x67, 0x65, 0x72, 0x70, 0x62, 0x34, - 0x2e, 0x4b, 0x56, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x58, 0x0a, 0x13, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, - 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x54, - 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x54, - 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x1f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, -<<<<<<< HEAD - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x1d, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, - 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -======= - 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x00, 0x12, 0x5e, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, - 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, ->>>>>>> 2014a72d3 (Make dgraph import work over the internet) -} - -var ( - file_pb_proto_rawDescOnce sync.Once - file_pb_proto_rawDescData = file_pb_proto_rawDesc -) - -func file_pb_proto_rawDescGZIP() []byte { - file_pb_proto_rawDescOnce.Do(func() { - file_pb_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_proto_rawDescData) - }) - return file_pb_proto_rawDescData -} - -var file_pb_proto_enumTypes = make([]protoimpl.EnumInfo, 9) -var file_pb_proto_msgTypes = make([]protoimpl.MessageInfo, 83) -var file_pb_proto_goTypes = []interface{}{ - (DirectedEdge_Op)(0), // 0: pb.DirectedEdge.Op - (Mutations_DropOp)(0), // 1: pb.Mutations.DropOp - (Metadata_HintType)(0), // 2: pb.Metadata.HintType - (Posting_ValType)(0), // 3: pb.Posting.ValType - (Posting_PostingType)(0), // 4: pb.Posting.PostingType - (SchemaUpdate_Directive)(0), // 5: pb.SchemaUpdate.Directive - (NumLeaseType)(0), // 6: pb.Num.leaseType - (DropOperation_DropOp)(0), // 7: pb.DropOperation.DropOp - (BackupKey_KeyType)(0), // 8: pb.BackupKey.KeyType - (*List)(nil), // 9: pb.List - (*TaskValue)(nil), // 10: pb.TaskValue - (*SrcFunction)(nil), // 11: pb.SrcFunction - (*Query)(nil), // 12: pb.Query - (*ValueList)(nil), // 13: pb.ValueList - (*LangList)(nil), // 14: pb.LangList - (*Result)(nil), // 15: pb.Result - (*Order)(nil), // 16: pb.Order - (*SortMessage)(nil), // 17: pb.SortMessage - (*SortResult)(nil), // 18: pb.SortResult - (*RaftContext)(nil), // 19: pb.RaftContext - (*Member)(nil), // 20: pb.Member - (*Group)(nil), // 21: pb.Group - (*ZeroProposal)(nil), // 22: pb.ZeroProposal - (*MembershipState)(nil), // 23: pb.MembershipState - (*ConnectionState)(nil), // 24: pb.ConnectionState - (*HealthInfo)(nil), // 25: pb.HealthInfo - (*Tablet)(nil), // 26: pb.Tablet - (*DirectedEdge)(nil), // 27: pb.DirectedEdge - (*Mutations)(nil), // 28: pb.Mutations - (*Metadata)(nil), // 29: pb.Metadata - (*Snapshot)(nil), // 30: pb.Snapshot - (*ZeroSnapshot)(nil), // 31: pb.ZeroSnapshot - (*RestoreRequest)(nil), // 32: pb.RestoreRequest - (*Proposal)(nil), // 33: pb.Proposal - (*CDCState)(nil), // 34: pb.CDCState - (*KVS)(nil), // 35: pb.KVS - (*Posting)(nil), // 36: pb.Posting - (*UidBlock)(nil), // 37: pb.UidBlock - (*UidPack)(nil), // 38: pb.UidPack - (*PostingList)(nil), // 39: pb.PostingList - (*FacetParam)(nil), // 40: pb.FacetParam - (*FacetParams)(nil), // 41: pb.FacetParams - (*Facets)(nil), // 42: pb.Facets - (*FacetsList)(nil), // 43: pb.FacetsList - (*Function)(nil), // 44: pb.Function - (*FilterTree)(nil), // 45: pb.FilterTree - (*SchemaRequest)(nil), // 46: pb.SchemaRequest - (*SchemaNode)(nil), // 47: pb.SchemaNode - (*SchemaResult)(nil), // 48: pb.SchemaResult - (*SchemaUpdate)(nil), // 49: pb.SchemaUpdate - (*VectorIndexSpec)(nil), // 50: pb.VectorIndexSpec - (*OptionPair)(nil), // 51: pb.OptionPair - (*TypeUpdate)(nil), // 52: pb.TypeUpdate - (*MapHeader)(nil), // 53: pb.MapHeader - (*MovePredicatePayload)(nil), // 54: pb.MovePredicatePayload - (*TxnStatus)(nil), // 55: pb.TxnStatus - (*OracleDelta)(nil), // 56: pb.OracleDelta - (*TxnTimestamps)(nil), // 57: pb.TxnTimestamps - (*PeerResponse)(nil), // 58: pb.PeerResponse - (*RaftBatch)(nil), // 59: pb.RaftBatch - (*TabletResponse)(nil), // 60: pb.TabletResponse - (*TabletRequest)(nil), // 61: pb.TabletRequest - (*SubscriptionRequest)(nil), // 62: pb.SubscriptionRequest - (*SubscriptionResponse)(nil), // 63: pb.SubscriptionResponse - (*Num)(nil), // 64: pb.Num - (*AssignedIds)(nil), // 65: pb.AssignedIds - (*RemoveNodeRequest)(nil), // 66: pb.RemoveNodeRequest - (*MoveTabletRequest)(nil), // 67: pb.MoveTabletRequest - (*SnapshotMeta)(nil), // 68: pb.SnapshotMeta - (*Status)(nil), // 69: pb.Status - (*BackupRequest)(nil), // 70: pb.BackupRequest - (*BackupResponse)(nil), // 71: pb.BackupResponse - (*DropOperation)(nil), // 72: pb.DropOperation - (*ExportRequest)(nil), // 73: pb.ExportRequest - (*ExportResponse)(nil), // 74: pb.ExportResponse - (*BackupKey)(nil), // 75: pb.BackupKey - (*BackupPostingList)(nil), // 76: pb.BackupPostingList - (*UpdateGraphQLSchemaRequest)(nil), // 77: pb.UpdateGraphQLSchemaRequest - (*UpdateGraphQLSchemaResponse)(nil), // 78: pb.UpdateGraphQLSchemaResponse - (*BulkMeta)(nil), // 79: pb.BulkMeta - (*DeleteNsRequest)(nil), // 80: pb.DeleteNsRequest - (*TaskStatusRequest)(nil), // 81: pb.TaskStatusRequest - (*TaskStatusResponse)(nil), // 82: pb.TaskStatusResponse - nil, // 83: pb.Result.VectorMetricsEntry - nil, // 84: pb.Group.MembersEntry - nil, // 85: pb.Group.TabletsEntry - nil, // 86: pb.ZeroProposal.SnapshotTsEntry - nil, // 87: pb.MembershipState.GroupsEntry - nil, // 88: pb.MembershipState.ZerosEntry - nil, // 89: pb.Metadata.PredHintsEntry - nil, // 90: pb.OracleDelta.GroupChecksumsEntry - nil, // 91: pb.BulkMeta.SchemaMapEntry - (*api.TxnContext)(nil), // 92: api.TxnContext - (*api.Facet)(nil), // 93: api.Facet - (*pb.KV)(nil), // 94: badgerpb4.KV - (*api.UpdateExtSnapshotStreamingStateRequest)(nil), // 95: api.UpdateExtSnapshotStreamingStateRequest - (*api.Payload)(nil), // 96: api.Payload - (*pb.Match)(nil), // 97: badgerpb4.Match - (*pb.KVList)(nil), // 98: badgerpb4.KVList - (*api.StreamExtSnapshotRequest)(nil), // 99: api.StreamExtSnapshotRequest - (*api.StreamExtSnapshotResponse)(nil), // 100: api.StreamExtSnapshotResponse -} -var file_pb_proto_depIdxs = []int32{ - 3, // 0: pb.TaskValue.val_type:type_name -> pb.Posting.ValType - 9, // 1: pb.Query.uid_list:type_name -> pb.List - 11, // 2: pb.Query.src_func:type_name -> pb.SrcFunction - 41, // 3: pb.Query.facet_param:type_name -> pb.FacetParams - 45, // 4: pb.Query.facets_filter:type_name -> pb.FilterTree - 17, // 5: pb.Query.order:type_name -> pb.SortMessage - 10, // 6: pb.ValueList.values:type_name -> pb.TaskValue - 9, // 7: pb.Result.uid_matrix:type_name -> pb.List - 13, // 8: pb.Result.value_matrix:type_name -> pb.ValueList - 43, // 9: pb.Result.facet_matrix:type_name -> pb.FacetsList - 14, // 10: pb.Result.lang_matrix:type_name -> pb.LangList - 83, // 11: pb.Result.vector_metrics:type_name -> pb.Result.VectorMetricsEntry - 16, // 12: pb.SortMessage.order:type_name -> pb.Order - 9, // 13: pb.SortMessage.uid_matrix:type_name -> pb.List - 9, // 14: pb.SortResult.uid_matrix:type_name -> pb.List - 84, // 15: pb.Group.members:type_name -> pb.Group.MembersEntry - 85, // 16: pb.Group.tablets:type_name -> pb.Group.TabletsEntry - 86, // 17: pb.ZeroProposal.snapshot_ts:type_name -> pb.ZeroProposal.SnapshotTsEntry - 20, // 18: pb.ZeroProposal.member:type_name -> pb.Member - 26, // 19: pb.ZeroProposal.tablet:type_name -> pb.Tablet - 92, // 20: pb.ZeroProposal.txn:type_name -> api.TxnContext - 31, // 21: pb.ZeroProposal.snapshot:type_name -> pb.ZeroSnapshot - 80, // 22: pb.ZeroProposal.delete_ns:type_name -> pb.DeleteNsRequest - 26, // 23: pb.ZeroProposal.tablets:type_name -> pb.Tablet - 87, // 24: pb.MembershipState.groups:type_name -> pb.MembershipState.GroupsEntry - 88, // 25: pb.MembershipState.zeros:type_name -> pb.MembershipState.ZerosEntry - 20, // 26: pb.MembershipState.removed:type_name -> pb.Member - 20, // 27: pb.ConnectionState.member:type_name -> pb.Member - 23, // 28: pb.ConnectionState.state:type_name -> pb.MembershipState - 3, // 29: pb.DirectedEdge.value_type:type_name -> pb.Posting.ValType - 0, // 30: pb.DirectedEdge.op:type_name -> pb.DirectedEdge.Op - 93, // 31: pb.DirectedEdge.facets:type_name -> api.Facet - 27, // 32: pb.Mutations.edges:type_name -> pb.DirectedEdge - 49, // 33: pb.Mutations.schema:type_name -> pb.SchemaUpdate - 52, // 34: pb.Mutations.types:type_name -> pb.TypeUpdate - 1, // 35: pb.Mutations.drop_op:type_name -> pb.Mutations.DropOp - 29, // 36: pb.Mutations.metadata:type_name -> pb.Metadata - 89, // 37: pb.Metadata.pred_hints:type_name -> pb.Metadata.PredHintsEntry - 19, // 38: pb.Snapshot.context:type_name -> pb.RaftContext - 23, // 39: pb.ZeroSnapshot.state:type_name -> pb.MembershipState - 28, // 40: pb.Proposal.mutations:type_name -> pb.Mutations - 94, // 41: pb.Proposal.kv:type_name -> badgerpb4.KV - 23, // 42: pb.Proposal.state:type_name -> pb.MembershipState - 56, // 43: pb.Proposal.delta:type_name -> pb.OracleDelta - 30, // 44: pb.Proposal.snapshot:type_name -> pb.Snapshot - 32, // 45: pb.Proposal.restore:type_name -> pb.RestoreRequest - 34, // 46: pb.Proposal.cdc_state:type_name -> pb.CDCState - 80, // 47: pb.Proposal.delete_ns:type_name -> pb.DeleteNsRequest - 95, // 48: pb.Proposal.ext_snapshot_state:type_name -> api.UpdateExtSnapshotStreamingStateRequest - 3, // 49: pb.Posting.val_type:type_name -> pb.Posting.ValType - 4, // 50: pb.Posting.posting_type:type_name -> pb.Posting.PostingType - 93, // 51: pb.Posting.facets:type_name -> api.Facet - 37, // 52: pb.UidPack.blocks:type_name -> pb.UidBlock - 38, // 53: pb.PostingList.pack:type_name -> pb.UidPack - 36, // 54: pb.PostingList.postings:type_name -> pb.Posting - 40, // 55: pb.FacetParams.param:type_name -> pb.FacetParam - 93, // 56: pb.Facets.facets:type_name -> api.Facet - 42, // 57: pb.FacetsList.facets_list:type_name -> pb.Facets - 45, // 58: pb.FilterTree.children:type_name -> pb.FilterTree - 44, // 59: pb.FilterTree.func:type_name -> pb.Function - 50, // 60: pb.SchemaNode.index_specs:type_name -> pb.VectorIndexSpec - 47, // 61: pb.SchemaResult.schema:type_name -> pb.SchemaNode - 3, // 62: pb.SchemaUpdate.value_type:type_name -> pb.Posting.ValType - 5, // 63: pb.SchemaUpdate.directive:type_name -> pb.SchemaUpdate.Directive - 50, // 64: pb.SchemaUpdate.index_specs:type_name -> pb.VectorIndexSpec - 51, // 65: pb.VectorIndexSpec.options:type_name -> pb.OptionPair - 49, // 66: pb.TypeUpdate.fields:type_name -> pb.SchemaUpdate - 55, // 67: pb.OracleDelta.txns:type_name -> pb.TxnStatus - 90, // 68: pb.OracleDelta.group_checksums:type_name -> pb.OracleDelta.GroupChecksumsEntry - 19, // 69: pb.RaftBatch.context:type_name -> pb.RaftContext - 96, // 70: pb.RaftBatch.payload:type_name -> api.Payload - 26, // 71: pb.TabletResponse.tablets:type_name -> pb.Tablet - 26, // 72: pb.TabletRequest.tablets:type_name -> pb.Tablet - 97, // 73: pb.SubscriptionRequest.matches:type_name -> badgerpb4.Match - 98, // 74: pb.SubscriptionResponse.kvs:type_name -> badgerpb4.KVList - 6, // 75: pb.Num.type:type_name -> pb.Num.leaseType - 72, // 76: pb.BackupResponse.drop_operations:type_name -> pb.DropOperation - 7, // 77: pb.DropOperation.drop_op:type_name -> pb.DropOperation.DropOp - 8, // 78: pb.BackupKey.type:type_name -> pb.BackupKey.KeyType - 36, // 79: pb.BackupPostingList.postings:type_name -> pb.Posting - 49, // 80: pb.UpdateGraphQLSchemaRequest.dgraph_preds:type_name -> pb.SchemaUpdate - 52, // 81: pb.UpdateGraphQLSchemaRequest.dgraph_types:type_name -> pb.TypeUpdate - 91, // 82: pb.BulkMeta.schema_map:type_name -> pb.BulkMeta.SchemaMapEntry - 52, // 83: pb.BulkMeta.types:type_name -> pb.TypeUpdate - 20, // 84: pb.Group.MembersEntry.value:type_name -> pb.Member - 26, // 85: pb.Group.TabletsEntry.value:type_name -> pb.Tablet - 21, // 86: pb.MembershipState.GroupsEntry.value:type_name -> pb.Group - 20, // 87: pb.MembershipState.ZerosEntry.value:type_name -> pb.Member - 2, // 88: pb.Metadata.PredHintsEntry.value:type_name -> pb.Metadata.HintType - 49, // 89: pb.BulkMeta.SchemaMapEntry.value:type_name -> pb.SchemaUpdate - 96, // 90: pb.Raft.Heartbeat:input_type -> api.Payload - 59, // 91: pb.Raft.RaftMessage:input_type -> pb.RaftBatch - 19, // 92: pb.Raft.JoinCluster:input_type -> pb.RaftContext - 19, // 93: pb.Raft.IsPeer:input_type -> pb.RaftContext - 20, // 94: pb.Zero.Connect:input_type -> pb.Member - 21, // 95: pb.Zero.UpdateMembership:input_type -> pb.Group - 96, // 96: pb.Zero.StreamMembership:input_type -> api.Payload - 96, // 97: pb.Zero.Oracle:input_type -> api.Payload - 26, // 98: pb.Zero.ShouldServe:input_type -> pb.Tablet - 61, // 99: pb.Zero.Inform:input_type -> pb.TabletRequest - 64, // 100: pb.Zero.AssignIds:input_type -> pb.Num - 64, // 101: pb.Zero.Timestamps:input_type -> pb.Num - 92, // 102: pb.Zero.CommitOrAbort:input_type -> api.TxnContext - 57, // 103: pb.Zero.TryAbort:input_type -> pb.TxnTimestamps - 80, // 104: pb.Zero.DeleteNamespace:input_type -> pb.DeleteNsRequest - 66, // 105: pb.Zero.RemoveNode:input_type -> pb.RemoveNodeRequest - 67, // 106: pb.Zero.MoveTablet:input_type -> pb.MoveTabletRequest - 28, // 107: pb.Worker.Mutate:input_type -> pb.Mutations - 12, // 108: pb.Worker.ServeTask:input_type -> pb.Query - 30, // 109: pb.Worker.StreamSnapshot:input_type -> pb.Snapshot - 17, // 110: pb.Worker.Sort:input_type -> pb.SortMessage - 46, // 111: pb.Worker.Schema:input_type -> pb.SchemaRequest - 70, // 112: pb.Worker.Backup:input_type -> pb.BackupRequest - 32, // 113: pb.Worker.Restore:input_type -> pb.RestoreRequest - 73, // 114: pb.Worker.Export:input_type -> pb.ExportRequest - 35, // 115: pb.Worker.ReceivePredicate:input_type -> pb.KVS - 54, // 116: pb.Worker.MovePredicate:input_type -> pb.MovePredicatePayload - 62, // 117: pb.Worker.Subscribe:input_type -> pb.SubscriptionRequest - 77, // 118: pb.Worker.UpdateGraphQLSchema:input_type -> pb.UpdateGraphQLSchemaRequest - 80, // 119: pb.Worker.DeleteNamespace:input_type -> pb.DeleteNsRequest - 81, // 120: pb.Worker.TaskStatus:input_type -> pb.TaskStatusRequest - 95, // 121: pb.Worker.UpdateExtSnapshotStreamingState:input_type -> api.UpdateExtSnapshotStreamingStateRequest - 99, // 122: pb.Worker.StreamExtSnapshot:input_type -> api.StreamExtSnapshotRequest - 25, // 123: pb.Raft.Heartbeat:output_type -> pb.HealthInfo - 96, // 124: pb.Raft.RaftMessage:output_type -> api.Payload - 96, // 125: pb.Raft.JoinCluster:output_type -> api.Payload - 58, // 126: pb.Raft.IsPeer:output_type -> pb.PeerResponse - 24, // 127: pb.Zero.Connect:output_type -> pb.ConnectionState - 96, // 128: pb.Zero.UpdateMembership:output_type -> api.Payload - 23, // 129: pb.Zero.StreamMembership:output_type -> pb.MembershipState - 56, // 130: pb.Zero.Oracle:output_type -> pb.OracleDelta - 26, // 131: pb.Zero.ShouldServe:output_type -> pb.Tablet - 60, // 132: pb.Zero.Inform:output_type -> pb.TabletResponse - 65, // 133: pb.Zero.AssignIds:output_type -> pb.AssignedIds - 65, // 134: pb.Zero.Timestamps:output_type -> pb.AssignedIds - 92, // 135: pb.Zero.CommitOrAbort:output_type -> api.TxnContext - 56, // 136: pb.Zero.TryAbort:output_type -> pb.OracleDelta - 69, // 137: pb.Zero.DeleteNamespace:output_type -> pb.Status - 69, // 138: pb.Zero.RemoveNode:output_type -> pb.Status - 69, // 139: pb.Zero.MoveTablet:output_type -> pb.Status - 92, // 140: pb.Worker.Mutate:output_type -> api.TxnContext - 15, // 141: pb.Worker.ServeTask:output_type -> pb.Result - 35, // 142: pb.Worker.StreamSnapshot:output_type -> pb.KVS - 18, // 143: pb.Worker.Sort:output_type -> pb.SortResult - 48, // 144: pb.Worker.Schema:output_type -> pb.SchemaResult - 71, // 145: pb.Worker.Backup:output_type -> pb.BackupResponse - 69, // 146: pb.Worker.Restore:output_type -> pb.Status - 74, // 147: pb.Worker.Export:output_type -> pb.ExportResponse - 96, // 148: pb.Worker.ReceivePredicate:output_type -> api.Payload - 96, // 149: pb.Worker.MovePredicate:output_type -> api.Payload - 98, // 150: pb.Worker.Subscribe:output_type -> badgerpb4.KVList - 78, // 151: pb.Worker.UpdateGraphQLSchema:output_type -> pb.UpdateGraphQLSchemaResponse - 69, // 152: pb.Worker.DeleteNamespace:output_type -> pb.Status - 82, // 153: pb.Worker.TaskStatus:output_type -> pb.TaskStatusResponse - 69, // 154: pb.Worker.UpdateExtSnapshotStreamingState:output_type -> pb.Status - 100, // 155: pb.Worker.StreamExtSnapshot:output_type -> api.StreamExtSnapshotResponse - 123, // [123:156] is the sub-list for method output_type - 90, // [90:123] is the sub-list for method input_type - 90, // [90:90] is the sub-list for extension type_name - 90, // [90:90] is the sub-list for extension extendee - 0, // [0:90] is the sub-list for field type_name -} - -func init() { file_pb_proto_init() } -func file_pb_proto_init() { - if File_pb_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_pb_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SrcFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Query); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValueList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LangList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Result); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Order); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SortMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SortResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RaftContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Member); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Group); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZeroProposal); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MembershipState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectionState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HealthInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Tablet); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DirectedEdge); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Mutations); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Metadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Snapshot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZeroSnapshot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestoreRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Proposal); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDCState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KVS); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Posting); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UidBlock); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UidPack); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostingList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FacetParam); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FacetParams); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Facets); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FacetsList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Function); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterTree); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SchemaRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SchemaNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SchemaResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SchemaUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VectorIndexSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionPair); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TypeUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MapHeader); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MovePredicatePayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TxnStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OracleDelta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TxnTimestamps); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RaftBatch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TabletResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TabletRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscriptionRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscriptionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Num); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AssignedIds); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveNodeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MoveTabletRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SnapshotMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Status); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackupRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackupResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DropOperation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackupKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackupPostingList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateGraphQLSchemaRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateGraphQLSchemaResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskStatusRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskStatusResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_pb_proto_rawDesc, - NumEnums: 9, - NumMessages: 83, - NumExtensions: 0, - NumServices: 3, - }, - GoTypes: file_pb_proto_goTypes, - DependencyIndexes: file_pb_proto_depIdxs, - EnumInfos: file_pb_proto_enumTypes, - MessageInfos: file_pb_proto_msgTypes, - }.Build() - File_pb_proto = out.File - file_pb_proto_rawDesc = nil - file_pb_proto_goTypes = nil - file_pb_proto_depIdxs = nil -} From 6457040ac58301cea16df5c26f9d0627715e54d6 Mon Sep 17 00:00:00 2001 From: shivaji-dgraph Date: Thu, 11 Sep 2025 15:04:20 +0530 Subject: [PATCH 03/12] fix import --- conn/pool.go | 2 +- dgraph/cmd/dgraphimport/import_client.go | 21 +- dgraph/cmd/root.go | 4 +- go.mod | 2 +- go.sum | 4 +- protos/pb.proto | 2 +- protos/pb/pb.pb.go | 8206 ++++++++++++++++++++++ protos/pb/pb_grpc.pb.go | 30 +- sammple/sample.go | 38 + worker/import.go | 35 +- 10 files changed, 8301 insertions(+), 43 deletions(-) create mode 100644 sammple/sample.go diff --git a/conn/pool.go b/conn/pool.go index 35c87169f7e..dd6acb7b5ff 100644 --- a/conn/pool.go +++ b/conn/pool.go @@ -300,7 +300,7 @@ func (p *Pool) MonitorHealth() { p.Unlock() return } - glog.Errorf("CONN: Unable to connect with %s : %s\n", p.Addr, err) + // glog.Errorf("CONN: Unable to connect with %s : %s\n", p.Addr, err) if conn != nil { if err := conn.Close(); err != nil { glog.Warningf("error while closing connection: %v", err) diff --git a/dgraph/cmd/dgraphimport/import_client.go b/dgraph/cmd/dgraphimport/import_client.go index c6ff29b113e..1258d6256a9 100644 --- a/dgraph/cmd/dgraphimport/import_client.go +++ b/dgraph/cmd/dgraphimport/import_client.go @@ -151,9 +151,11 @@ func streamSnapshotForGroup(ctx context.Context, dc api.DgraphClient, pdir strin if err := out.Send(groupReq); err != nil { return fmt.Errorf("failed to send request for group ID [%v] to the server: %w", groupId, err) } + fmt.Println("waiting here==================================>") if _, err := out.Recv(); err != nil { return fmt.Errorf("failed to receive response for group ID [%v] from the server: %w", groupId, err) } + glog.Infof("[import] Group [%v]: Received ACK for sending group request", groupId) // Configure and start the BadgerDB stream @@ -197,9 +199,24 @@ func streamBadger(ctx context.Context, ps *badger.DB, out api.Dgraph_StreamExtSn return fmt.Errorf("failed to send 'done' signal for group [%d]: %w", groupId, err) } - if _, err := out.Recv(); err != nil { - return fmt.Errorf("failed to receive response for group ID [%v] from the server: %w", groupId, err) + for { + if ctx.Err() != nil { + return ctx.Err() + } + resp, err := out.Recv() + if errors.Is(err, io.EOF) { + return fmt.Errorf("server closed stream before Finish=true for group [%d]", groupId) + } + if err != nil { + return fmt.Errorf("failed to receive final response for group ID [%v] from the server: %w", groupId, err) + } + if resp.Finish { + glog.Infof("[import] Group [%v]: Received final Finish=true", groupId) + break + } + glog.Infof("[import] Group [%v]: Waiting for Finish=true, got interim ACK", groupId) } + glog.Infof("[import] Group [%v]: Received ACK for sending completion signal", groupId) return nil diff --git a/dgraph/cmd/root.go b/dgraph/cmd/root.go index e70fe49cb50..b178445af7c 100644 --- a/dgraph/cmd/root.go +++ b/dgraph/cmd/root.go @@ -22,6 +22,8 @@ import ( "github.com/spf13/viper" "github.com/hypermodeinc/dgraph/v25/acl" + sample "github.com/hypermodeinc/dgraph/v25/sammple" + "github.com/hypermodeinc/dgraph/v25/audit" "github.com/hypermodeinc/dgraph/v25/backup" checkupgrade "github.com/hypermodeinc/dgraph/v25/check_upgrade" @@ -80,7 +82,7 @@ var subcommands = []*x.SubCommand{ &bulk.Bulk, &cert.Cert, &conv.Conv, &live.Live, &alpha.Alpha, &zero.Zero, &version.Version, &debug.Debug, &migrate.Migrate, &debuginfo.DebugInfo, &upgrade.Upgrade, &decrypt.Decrypt, &increment.Increment, &checkupgrade.CheckUpgrade, &backup.Restore, &backup.LsBackup, &backup.ExportBackup, &acl.CmdAcl, - &audit.CmdAudit, &mcp.Mcp, &dgraphimport.ImportCmd, + &audit.CmdAudit, &mcp.Mcp, &dgraphimport.ImportCmd, &sample.Import, } func initCmds() { diff --git a/go.mod b/go.mod index 9e61dc96daf..62cc6a45f7b 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/Masterminds/semver/v3 v3.4.0 github.com/blevesearch/bleve/v2 v2.5.2 github.com/dgraph-io/badger/v4 v4.8.0 - github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20251001031539-c5607f0af3d0 + github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250925075017-1cbfe76a4d6a github.com/dgraph-io/gqlgen v0.13.2 github.com/dgraph-io/gqlparser/v2 v2.2.2 github.com/dgraph-io/graphql-transport-ws v0.0.0-20210511143556-2cef522f1f15 diff --git a/go.sum b/go.sum index 24c32b84b48..6e95f0ecadd 100644 --- a/go.sum +++ b/go.sum @@ -132,8 +132,8 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgraph-io/badger/v4 v4.8.0 h1:JYph1ChBijCw8SLeybvPINizbDKWZ5n/GYbz2yhN/bs= github.com/dgraph-io/badger/v4 v4.8.0/go.mod h1:U6on6e8k/RTbUWxqKR0MvugJuVmkxSNc79ap4917h4w= -github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20251001031539-c5607f0af3d0 h1:cbGtNKHWe34SYYPtFe/klD+cvJx5LI844Iz/akWvofo= -github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20251001031539-c5607f0af3d0/go.mod h1:H3PcQuhmfzSC/1I7FLJYOxntpk3UG6lmZAyv0QxRm+o= +github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250925075017-1cbfe76a4d6a h1:QLvEPmiS5DkYSHDmQTj3sGtKEJzO5eM5E9V/K3fYjRQ= +github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250925075017-1cbfe76a4d6a/go.mod h1:H3PcQuhmfzSC/1I7FLJYOxntpk3UG6lmZAyv0QxRm+o= github.com/dgraph-io/gqlgen v0.13.2 h1:TNhndk+eHKj5qE7BenKKSYdSIdOGhLqxR1rCiMso9KM= github.com/dgraph-io/gqlgen v0.13.2/go.mod h1:iCOrOv9lngN7KAo+jMgvUPVDlYHdf7qDwsTkQby2Sis= github.com/dgraph-io/gqlparser/v2 v2.1.1/go.mod h1:MYS4jppjyx8b9tuUtjV7jU1UFZK6P9fvO8TsIsQtRKU= diff --git a/protos/pb.proto b/protos/pb.proto index 75cb4996a7a..f5098c0e69e 100644 --- a/protos/pb.proto +++ b/protos/pb.proto @@ -599,7 +599,7 @@ service Worker { rpc DeleteNamespace(DeleteNsRequest) returns (Status) {} rpc TaskStatus(TaskStatusRequest) returns (TaskStatusResponse) {} rpc UpdateExtSnapshotStreamingState(api.UpdateExtSnapshotStreamingStateRequest) returns (Status) {} - rpc StreamExtSnapshot(stream api.StreamExtSnapshotRequest) returns (api.StreamExtSnapshotResponse) {} + rpc StreamExtSnapshot(stream api.StreamExtSnapshotRequest) returns (stream api.StreamExtSnapshotResponse) {} } message TabletResponse { diff --git a/protos/pb/pb.pb.go b/protos/pb/pb.pb.go index e69de29bb2d..9e742330c69 100644 --- a/protos/pb/pb.pb.go +++ b/protos/pb/pb.pb.go @@ -0,0 +1,8206 @@ +// +// SPDX-FileCopyrightText: © Hypermode Inc. +// SPDX-License-Identifier: Apache-2.0 + +// Style guide for Protocol Buffer 3. +// Use CamelCase (with an initial capital) for message names – for example, +// SongServerRequest. Use underscore_separated_names for field names – for +// example, song_name. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v3.21.12 +// source: pb.proto + +package pb + +import ( + reflect "reflect" + sync "sync" + + pb "github.com/dgraph-io/badger/v4/pb" + api "github.com/dgraph-io/dgo/v250/protos/api" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DirectedEdge_Op int32 + +const ( + DirectedEdge_SET DirectedEdge_Op = 0 + DirectedEdge_DEL DirectedEdge_Op = 1 + DirectedEdge_OVR DirectedEdge_Op = 2 +) + +// Enum value maps for DirectedEdge_Op. +var ( + DirectedEdge_Op_name = map[int32]string{ + 0: "SET", + 1: "DEL", + 2: "OVR", + } + DirectedEdge_Op_value = map[string]int32{ + "SET": 0, + "DEL": 1, + "OVR": 2, + } +) + +func (x DirectedEdge_Op) Enum() *DirectedEdge_Op { + p := new(DirectedEdge_Op) + *p = x + return p +} + +func (x DirectedEdge_Op) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DirectedEdge_Op) Descriptor() protoreflect.EnumDescriptor { + return file_pb_proto_enumTypes[0].Descriptor() +} + +func (DirectedEdge_Op) Type() protoreflect.EnumType { + return &file_pb_proto_enumTypes[0] +} + +func (x DirectedEdge_Op) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DirectedEdge_Op.Descriptor instead. +func (DirectedEdge_Op) EnumDescriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{18, 0} +} + +type Mutations_DropOp int32 + +const ( + Mutations_NONE Mutations_DropOp = 0 + Mutations_ALL Mutations_DropOp = 1 + Mutations_DATA Mutations_DropOp = 2 + Mutations_TYPE Mutations_DropOp = 3 + Mutations_ALL_IN_NS Mutations_DropOp = 4 +) + +// Enum value maps for Mutations_DropOp. +var ( + Mutations_DropOp_name = map[int32]string{ + 0: "NONE", + 1: "ALL", + 2: "DATA", + 3: "TYPE", + 4: "ALL_IN_NS", + } + Mutations_DropOp_value = map[string]int32{ + "NONE": 0, + "ALL": 1, + "DATA": 2, + "TYPE": 3, + "ALL_IN_NS": 4, + } +) + +func (x Mutations_DropOp) Enum() *Mutations_DropOp { + p := new(Mutations_DropOp) + *p = x + return p +} + +func (x Mutations_DropOp) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Mutations_DropOp) Descriptor() protoreflect.EnumDescriptor { + return file_pb_proto_enumTypes[1].Descriptor() +} + +func (Mutations_DropOp) Type() protoreflect.EnumType { + return &file_pb_proto_enumTypes[1] +} + +func (x Mutations_DropOp) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Mutations_DropOp.Descriptor instead. +func (Mutations_DropOp) EnumDescriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{19, 0} +} + +// HintType represents a hint that will be passed along the mutation and used +// to add the predicate to the schema if it's not already there. +type Metadata_HintType int32 + +const ( + // DEFAULT means no hint is provided and Dgraph will follow the default + // behavior. + Metadata_DEFAULT Metadata_HintType = 0 + // SINGLE signals that the predicate should be created as a single type (e.g + // string, uid). + Metadata_SINGLE Metadata_HintType = 1 + // LIST signals that the predicate should be created as a list (e.g + // [string], [uid]). + Metadata_LIST Metadata_HintType = 2 +) + +// Enum value maps for Metadata_HintType. +var ( + Metadata_HintType_name = map[int32]string{ + 0: "DEFAULT", + 1: "SINGLE", + 2: "LIST", + } + Metadata_HintType_value = map[string]int32{ + "DEFAULT": 0, + "SINGLE": 1, + "LIST": 2, + } +) + +func (x Metadata_HintType) Enum() *Metadata_HintType { + p := new(Metadata_HintType) + *p = x + return p +} + +func (x Metadata_HintType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Metadata_HintType) Descriptor() protoreflect.EnumDescriptor { + return file_pb_proto_enumTypes[2].Descriptor() +} + +func (Metadata_HintType) Type() protoreflect.EnumType { + return &file_pb_proto_enumTypes[2] +} + +func (x Metadata_HintType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Metadata_HintType.Descriptor instead. +func (Metadata_HintType) EnumDescriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{20, 0} +} + +type Posting_ValType int32 + +const ( + Posting_DEFAULT Posting_ValType = 0 + Posting_BINARY Posting_ValType = 1 + Posting_INT Posting_ValType = 2 // We treat it as int64. + Posting_FLOAT Posting_ValType = 3 + Posting_BOOL Posting_ValType = 4 + Posting_DATETIME Posting_ValType = 5 + Posting_GEO Posting_ValType = 6 + Posting_UID Posting_ValType = 7 + Posting_PASSWORD Posting_ValType = 8 + Posting_STRING Posting_ValType = 9 + Posting_OBJECT Posting_ValType = 10 + Posting_BIGFLOAT Posting_ValType = 11 + Posting_VFLOAT Posting_ValType = 12 // Float64 Vector +) + +// Enum value maps for Posting_ValType. +var ( + Posting_ValType_name = map[int32]string{ + 0: "DEFAULT", + 1: "BINARY", + 2: "INT", + 3: "FLOAT", + 4: "BOOL", + 5: "DATETIME", + 6: "GEO", + 7: "UID", + 8: "PASSWORD", + 9: "STRING", + 10: "OBJECT", + 11: "BIGFLOAT", + 12: "VFLOAT", + } + Posting_ValType_value = map[string]int32{ + "DEFAULT": 0, + "BINARY": 1, + "INT": 2, + "FLOAT": 3, + "BOOL": 4, + "DATETIME": 5, + "GEO": 6, + "UID": 7, + "PASSWORD": 8, + "STRING": 9, + "OBJECT": 10, + "BIGFLOAT": 11, + "VFLOAT": 12, + } +) + +func (x Posting_ValType) Enum() *Posting_ValType { + p := new(Posting_ValType) + *p = x + return p +} + +func (x Posting_ValType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Posting_ValType) Descriptor() protoreflect.EnumDescriptor { + return file_pb_proto_enumTypes[3].Descriptor() +} + +func (Posting_ValType) Type() protoreflect.EnumType { + return &file_pb_proto_enumTypes[3] +} + +func (x Posting_ValType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Posting_ValType.Descriptor instead. +func (Posting_ValType) EnumDescriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{27, 0} +} + +type Posting_PostingType int32 + +const ( + Posting_REF Posting_PostingType = 0 // UID + Posting_VALUE Posting_PostingType = 1 // simple, plain value + Posting_VALUE_LANG Posting_PostingType = 2 // value with specified language +) + +// Enum value maps for Posting_PostingType. +var ( + Posting_PostingType_name = map[int32]string{ + 0: "REF", + 1: "VALUE", + 2: "VALUE_LANG", + } + Posting_PostingType_value = map[string]int32{ + "REF": 0, + "VALUE": 1, + "VALUE_LANG": 2, + } +) + +func (x Posting_PostingType) Enum() *Posting_PostingType { + p := new(Posting_PostingType) + *p = x + return p +} + +func (x Posting_PostingType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Posting_PostingType) Descriptor() protoreflect.EnumDescriptor { + return file_pb_proto_enumTypes[4].Descriptor() +} + +func (Posting_PostingType) Type() protoreflect.EnumType { + return &file_pb_proto_enumTypes[4] +} + +func (x Posting_PostingType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Posting_PostingType.Descriptor instead. +func (Posting_PostingType) EnumDescriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{27, 1} +} + +type SchemaUpdate_Directive int32 + +const ( + SchemaUpdate_NONE SchemaUpdate_Directive = 0 + SchemaUpdate_INDEX SchemaUpdate_Directive = 1 + SchemaUpdate_REVERSE SchemaUpdate_Directive = 2 + SchemaUpdate_DELETE SchemaUpdate_Directive = 3 +) + +// Enum value maps for SchemaUpdate_Directive. +var ( + SchemaUpdate_Directive_name = map[int32]string{ + 0: "NONE", + 1: "INDEX", + 2: "REVERSE", + 3: "DELETE", + } + SchemaUpdate_Directive_value = map[string]int32{ + "NONE": 0, + "INDEX": 1, + "REVERSE": 2, + "DELETE": 3, + } +) + +func (x SchemaUpdate_Directive) Enum() *SchemaUpdate_Directive { + p := new(SchemaUpdate_Directive) + *p = x + return p +} + +func (x SchemaUpdate_Directive) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SchemaUpdate_Directive) Descriptor() protoreflect.EnumDescriptor { + return file_pb_proto_enumTypes[5].Descriptor() +} + +func (SchemaUpdate_Directive) Type() protoreflect.EnumType { + return &file_pb_proto_enumTypes[5] +} + +func (x SchemaUpdate_Directive) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SchemaUpdate_Directive.Descriptor instead. +func (SchemaUpdate_Directive) EnumDescriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{40, 0} +} + +type NumLeaseType int32 + +const ( + Num_NS_ID NumLeaseType = 0 + Num_UID NumLeaseType = 1 + Num_TXN_TS NumLeaseType = 2 +) + +// Enum value maps for NumLeaseType. +var ( + NumLeaseType_name = map[int32]string{ + 0: "NS_ID", + 1: "UID", + 2: "TXN_TS", + } + NumLeaseType_value = map[string]int32{ + "NS_ID": 0, + "UID": 1, + "TXN_TS": 2, + } +) + +func (x NumLeaseType) Enum() *NumLeaseType { + p := new(NumLeaseType) + *p = x + return p +} + +func (x NumLeaseType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NumLeaseType) Descriptor() protoreflect.EnumDescriptor { + return file_pb_proto_enumTypes[6].Descriptor() +} + +func (NumLeaseType) Type() protoreflect.EnumType { + return &file_pb_proto_enumTypes[6] +} + +func (x NumLeaseType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NumLeaseType.Descriptor instead. +func (NumLeaseType) EnumDescriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{55, 0} +} + +type DropOperation_DropOp int32 + +const ( + DropOperation_ALL DropOperation_DropOp = 0 + DropOperation_DATA DropOperation_DropOp = 1 + DropOperation_ATTR DropOperation_DropOp = 2 + DropOperation_NS DropOperation_DropOp = 3 +) + +// Enum value maps for DropOperation_DropOp. +var ( + DropOperation_DropOp_name = map[int32]string{ + 0: "ALL", + 1: "DATA", + 2: "ATTR", + 3: "NS", + } + DropOperation_DropOp_value = map[string]int32{ + "ALL": 0, + "DATA": 1, + "ATTR": 2, + "NS": 3, + } +) + +func (x DropOperation_DropOp) Enum() *DropOperation_DropOp { + p := new(DropOperation_DropOp) + *p = x + return p +} + +func (x DropOperation_DropOp) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DropOperation_DropOp) Descriptor() protoreflect.EnumDescriptor { + return file_pb_proto_enumTypes[7].Descriptor() +} + +func (DropOperation_DropOp) Type() protoreflect.EnumType { + return &file_pb_proto_enumTypes[7] +} + +func (x DropOperation_DropOp) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DropOperation_DropOp.Descriptor instead. +func (DropOperation_DropOp) EnumDescriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{63, 0} +} + +type BackupKey_KeyType int32 + +const ( + BackupKey_UNKNOWN BackupKey_KeyType = 0 + BackupKey_DATA BackupKey_KeyType = 1 + BackupKey_INDEX BackupKey_KeyType = 2 + BackupKey_REVERSE BackupKey_KeyType = 3 + BackupKey_COUNT BackupKey_KeyType = 4 + BackupKey_COUNT_REV BackupKey_KeyType = 5 + BackupKey_SCHEMA BackupKey_KeyType = 6 + BackupKey_TYPE BackupKey_KeyType = 7 +) + +// Enum value maps for BackupKey_KeyType. +var ( + BackupKey_KeyType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "DATA", + 2: "INDEX", + 3: "REVERSE", + 4: "COUNT", + 5: "COUNT_REV", + 6: "SCHEMA", + 7: "TYPE", + } + BackupKey_KeyType_value = map[string]int32{ + "UNKNOWN": 0, + "DATA": 1, + "INDEX": 2, + "REVERSE": 3, + "COUNT": 4, + "COUNT_REV": 5, + "SCHEMA": 6, + "TYPE": 7, + } +) + +func (x BackupKey_KeyType) Enum() *BackupKey_KeyType { + p := new(BackupKey_KeyType) + *p = x + return p +} + +func (x BackupKey_KeyType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BackupKey_KeyType) Descriptor() protoreflect.EnumDescriptor { + return file_pb_proto_enumTypes[8].Descriptor() +} + +func (BackupKey_KeyType) Type() protoreflect.EnumType { + return &file_pb_proto_enumTypes[8] +} + +func (x BackupKey_KeyType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BackupKey_KeyType.Descriptor instead. +func (BackupKey_KeyType) EnumDescriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{66, 0} +} + +type List struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uids []uint64 `protobuf:"fixed64,1,rep,packed,name=uids,proto3" json:"uids,omitempty"` +} + +func (x *List) Reset() { + *x = List{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *List) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*List) ProtoMessage() {} + +func (x *List) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use List.ProtoReflect.Descriptor instead. +func (*List) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{0} +} + +func (x *List) GetUids() []uint64 { + if x != nil { + return x.Uids + } + return nil +} + +type TaskValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []byte `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` + ValType Posting_ValType `protobuf:"varint,2,opt,name=val_type,json=valType,proto3,enum=pb.Posting_ValType" json:"val_type,omitempty"` +} + +func (x *TaskValue) Reset() { + *x = TaskValue{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TaskValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskValue) ProtoMessage() {} + +func (x *TaskValue) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskValue.ProtoReflect.Descriptor instead. +func (*TaskValue) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{1} +} + +func (x *TaskValue) GetVal() []byte { + if x != nil { + return x.Val + } + return nil +} + +func (x *TaskValue) GetValType() Posting_ValType { + if x != nil { + return x.ValType + } + return Posting_DEFAULT +} + +type SrcFunction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + IsCount bool `protobuf:"varint,4,opt,name=isCount,proto3" json:"isCount,omitempty"` +} + +func (x *SrcFunction) Reset() { + *x = SrcFunction{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SrcFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SrcFunction) ProtoMessage() {} + +func (x *SrcFunction) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SrcFunction.ProtoReflect.Descriptor instead. +func (*SrcFunction) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{2} +} + +func (x *SrcFunction) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SrcFunction) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *SrcFunction) GetIsCount() bool { + if x != nil { + return x.IsCount + } + return false +} + +type Query struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Attr string `protobuf:"bytes,1,opt,name=attr,proto3" json:"attr,omitempty"` + Langs []string `protobuf:"bytes,2,rep,name=langs,proto3" json:"langs,omitempty"` // language list for attribute + AfterUid uint64 `protobuf:"fixed64,3,opt,name=after_uid,json=afterUid,proto3" json:"after_uid,omitempty"` // Only return UIDs greater than this. + DoCount bool `protobuf:"varint,4,opt,name=do_count,json=doCount,proto3" json:"do_count,omitempty"` // Are we just getting lengths? + // Exactly one of uids and terms is populated. + UidList *List `protobuf:"bytes,5,opt,name=uid_list,json=uidList,proto3" json:"uid_list,omitempty"` + // Function to generate or filter UIDs. + SrcFunc *SrcFunction `protobuf:"bytes,6,opt,name=src_func,json=srcFunc,proto3" json:"src_func,omitempty"` + Reverse bool `protobuf:"varint,7,opt,name=reverse,proto3" json:"reverse,omitempty"` // Whether this is a reverse edge. + FacetParam *FacetParams `protobuf:"bytes,8,opt,name=facet_param,json=facetParam,proto3" json:"facet_param,omitempty"` // which facets to fetch + FacetsFilter *FilterTree `protobuf:"bytes,9,opt,name=facets_filter,json=facetsFilter,proto3" json:"facets_filter,omitempty"` // filtering on facets : has Op (and/or/not) tree + ExpandAll bool `protobuf:"varint,10,opt,name=expand_all,json=expandAll,proto3" json:"expand_all,omitempty"` // expand all language variants. + ReadTs uint64 `protobuf:"varint,13,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` + Cache int32 `protobuf:"varint,14,opt,name=cache,proto3" json:"cache,omitempty"` + First int32 `protobuf:"varint,15,opt,name=first,proto3" json:"first,omitempty"` // used to limit the number of result. Typically, the count is value of first + // field. Now, It's been used only for has query. + Offset int32 `protobuf:"varint,16,opt,name=offset,proto3" json:"offset,omitempty"` // offset helps in fetching lesser results for the has query when there is + Order *SortMessage `protobuf:"bytes,17,opt,name=order,proto3" json:"order,omitempty"` // Order of the query. It will be used to help reduce the amount of computation +} + +func (x *Query) Reset() { + *x = Query{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Query) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Query) ProtoMessage() {} + +func (x *Query) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Query.ProtoReflect.Descriptor instead. +func (*Query) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{3} +} + +func (x *Query) GetAttr() string { + if x != nil { + return x.Attr + } + return "" +} + +func (x *Query) GetLangs() []string { + if x != nil { + return x.Langs + } + return nil +} + +func (x *Query) GetAfterUid() uint64 { + if x != nil { + return x.AfterUid + } + return 0 +} + +func (x *Query) GetDoCount() bool { + if x != nil { + return x.DoCount + } + return false +} + +func (x *Query) GetUidList() *List { + if x != nil { + return x.UidList + } + return nil +} + +func (x *Query) GetSrcFunc() *SrcFunction { + if x != nil { + return x.SrcFunc + } + return nil +} + +func (x *Query) GetReverse() bool { + if x != nil { + return x.Reverse + } + return false +} + +func (x *Query) GetFacetParam() *FacetParams { + if x != nil { + return x.FacetParam + } + return nil +} + +func (x *Query) GetFacetsFilter() *FilterTree { + if x != nil { + return x.FacetsFilter + } + return nil +} + +func (x *Query) GetExpandAll() bool { + if x != nil { + return x.ExpandAll + } + return false +} + +func (x *Query) GetReadTs() uint64 { + if x != nil { + return x.ReadTs + } + return 0 +} + +func (x *Query) GetCache() int32 { + if x != nil { + return x.Cache + } + return 0 +} + +func (x *Query) GetFirst() int32 { + if x != nil { + return x.First + } + return 0 +} + +func (x *Query) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *Query) GetOrder() *SortMessage { + if x != nil { + return x.Order + } + return nil +} + +type ValueList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Values []*TaskValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *ValueList) Reset() { + *x = ValueList{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValueList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValueList) ProtoMessage() {} + +func (x *ValueList) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValueList.ProtoReflect.Descriptor instead. +func (*ValueList) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{4} +} + +func (x *ValueList) GetValues() []*TaskValue { + if x != nil { + return x.Values + } + return nil +} + +type LangList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Lang []string `protobuf:"bytes,1,rep,name=lang,proto3" json:"lang,omitempty"` +} + +func (x *LangList) Reset() { + *x = LangList{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LangList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LangList) ProtoMessage() {} + +func (x *LangList) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LangList.ProtoReflect.Descriptor instead. +func (*LangList) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{5} +} + +func (x *LangList) GetLang() []string { + if x != nil { + return x.Lang + } + return nil +} + +type Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UidMatrix []*List `protobuf:"bytes,1,rep,name=uid_matrix,json=uidMatrix,proto3" json:"uid_matrix,omitempty"` + ValueMatrix []*ValueList `protobuf:"bytes,2,rep,name=value_matrix,json=valueMatrix,proto3" json:"value_matrix,omitempty"` + Counts []uint32 `protobuf:"varint,3,rep,packed,name=counts,proto3" json:"counts,omitempty"` + IntersectDest bool `protobuf:"varint,4,opt,name=intersect_dest,json=intersectDest,proto3" json:"intersect_dest,omitempty"` + FacetMatrix []*FacetsList `protobuf:"bytes,5,rep,name=facet_matrix,json=facetMatrix,proto3" json:"facet_matrix,omitempty"` + LangMatrix []*LangList `protobuf:"bytes,6,rep,name=lang_matrix,json=langMatrix,proto3" json:"lang_matrix,omitempty"` + List bool `protobuf:"varint,7,opt,name=list,proto3" json:"list,omitempty"` + VectorMetrics map[string]uint64 `protobuf:"bytes,8,rep,name=vector_metrics,json=vectorMetrics,proto3" json:"vector_metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *Result) Reset() { + *x = Result{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Result) ProtoMessage() {} + +func (x *Result) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Result.ProtoReflect.Descriptor instead. +func (*Result) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{6} +} + +func (x *Result) GetUidMatrix() []*List { + if x != nil { + return x.UidMatrix + } + return nil +} + +func (x *Result) GetValueMatrix() []*ValueList { + if x != nil { + return x.ValueMatrix + } + return nil +} + +func (x *Result) GetCounts() []uint32 { + if x != nil { + return x.Counts + } + return nil +} + +func (x *Result) GetIntersectDest() bool { + if x != nil { + return x.IntersectDest + } + return false +} + +func (x *Result) GetFacetMatrix() []*FacetsList { + if x != nil { + return x.FacetMatrix + } + return nil +} + +func (x *Result) GetLangMatrix() []*LangList { + if x != nil { + return x.LangMatrix + } + return nil +} + +func (x *Result) GetList() bool { + if x != nil { + return x.List + } + return false +} + +func (x *Result) GetVectorMetrics() map[string]uint64 { + if x != nil { + return x.VectorMetrics + } + return nil +} + +type Order struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Attr string `protobuf:"bytes,1,opt,name=attr,proto3" json:"attr,omitempty"` + Desc bool `protobuf:"varint,2,opt,name=desc,proto3" json:"desc,omitempty"` + Langs []string `protobuf:"bytes,3,rep,name=langs,proto3" json:"langs,omitempty"` +} + +func (x *Order) Reset() { + *x = Order{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Order) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Order) ProtoMessage() {} + +func (x *Order) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Order.ProtoReflect.Descriptor instead. +func (*Order) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{7} +} + +func (x *Order) GetAttr() string { + if x != nil { + return x.Attr + } + return "" +} + +func (x *Order) GetDesc() bool { + if x != nil { + return x.Desc + } + return false +} + +func (x *Order) GetLangs() []string { + if x != nil { + return x.Langs + } + return nil +} + +type SortMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Order []*Order `protobuf:"bytes,1,rep,name=order,proto3" json:"order,omitempty"` + UidMatrix []*List `protobuf:"bytes,2,rep,name=uid_matrix,json=uidMatrix,proto3" json:"uid_matrix,omitempty"` + Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` // Return this many elements. + Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` // Skip this many elements. + ReadTs uint64 `protobuf:"varint,13,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` +} + +func (x *SortMessage) Reset() { + *x = SortMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortMessage) ProtoMessage() {} + +func (x *SortMessage) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SortMessage.ProtoReflect.Descriptor instead. +func (*SortMessage) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{8} +} + +func (x *SortMessage) GetOrder() []*Order { + if x != nil { + return x.Order + } + return nil +} + +func (x *SortMessage) GetUidMatrix() []*List { + if x != nil { + return x.UidMatrix + } + return nil +} + +func (x *SortMessage) GetCount() int32 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *SortMessage) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *SortMessage) GetReadTs() uint64 { + if x != nil { + return x.ReadTs + } + return 0 +} + +type SortResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UidMatrix []*List `protobuf:"bytes,1,rep,name=uid_matrix,json=uidMatrix,proto3" json:"uid_matrix,omitempty"` +} + +func (x *SortResult) Reset() { + *x = SortResult{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortResult) ProtoMessage() {} + +func (x *SortResult) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SortResult.ProtoReflect.Descriptor instead. +func (*SortResult) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{9} +} + +func (x *SortResult) GetUidMatrix() []*List { + if x != nil { + return x.UidMatrix + } + return nil +} + +type RaftContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"fixed64,1,opt,name=id,proto3" json:"id,omitempty"` + Group uint32 `protobuf:"varint,2,opt,name=group,proto3" json:"group,omitempty"` + Addr string `protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"` + SnapshotTs uint64 `protobuf:"varint,4,opt,name=snapshot_ts,json=snapshotTs,proto3" json:"snapshot_ts,omitempty"` + IsLearner bool `protobuf:"varint,5,opt,name=is_learner,json=isLearner,proto3" json:"is_learner,omitempty"` +} + +func (x *RaftContext) Reset() { + *x = RaftContext{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RaftContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RaftContext) ProtoMessage() {} + +func (x *RaftContext) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RaftContext.ProtoReflect.Descriptor instead. +func (*RaftContext) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{10} +} + +func (x *RaftContext) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *RaftContext) GetGroup() uint32 { + if x != nil { + return x.Group + } + return 0 +} + +func (x *RaftContext) GetAddr() string { + if x != nil { + return x.Addr + } + return "" +} + +func (x *RaftContext) GetSnapshotTs() uint64 { + if x != nil { + return x.SnapshotTs + } + return 0 +} + +func (x *RaftContext) GetIsLearner() bool { + if x != nil { + return x.IsLearner + } + return false +} + +// Member stores information about RAFT group member for a single RAFT node. +// Note that each server can be serving multiple RAFT groups. Each group would +// have one RAFT node per server serving that group. +type Member struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"fixed64,1,opt,name=id,proto3" json:"id,omitempty"` + GroupId uint32 `protobuf:"varint,2,opt,name=groupId,proto3" json:"groupId,omitempty"` + Addr string `protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"` + Leader bool `protobuf:"varint,4,opt,name=leader,proto3" json:"leader,omitempty"` + AmDead bool `protobuf:"varint,5,opt,name=amDead,proto3" json:"amDead,omitempty"` + LastUpdate uint64 `protobuf:"varint,6,opt,name=lastUpdate,proto3" json:"lastUpdate,omitempty"` + Learner bool `protobuf:"varint,7,opt,name=learner,proto3" json:"learner,omitempty"` + ClusterInfoOnly bool `protobuf:"varint,13,opt,name=clusterInfoOnly,proto3" json:"clusterInfoOnly,omitempty"` + ForceGroupId bool `protobuf:"varint,14,opt,name=forceGroupId,proto3" json:"forceGroupId,omitempty"` +} + +func (x *Member) Reset() { + *x = Member{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Member) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Member) ProtoMessage() {} + +func (x *Member) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Member.ProtoReflect.Descriptor instead. +func (*Member) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{11} +} + +func (x *Member) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Member) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +func (x *Member) GetAddr() string { + if x != nil { + return x.Addr + } + return "" +} + +func (x *Member) GetLeader() bool { + if x != nil { + return x.Leader + } + return false +} + +func (x *Member) GetAmDead() bool { + if x != nil { + return x.AmDead + } + return false +} + +func (x *Member) GetLastUpdate() uint64 { + if x != nil { + return x.LastUpdate + } + return 0 +} + +func (x *Member) GetLearner() bool { + if x != nil { + return x.Learner + } + return false +} + +func (x *Member) GetClusterInfoOnly() bool { + if x != nil { + return x.ClusterInfoOnly + } + return false +} + +func (x *Member) GetForceGroupId() bool { + if x != nil { + return x.ForceGroupId + } + return false +} + +type Group struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Members map[uint64]*Member `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Raft ID is the key. + Tablets map[string]*Tablet `protobuf:"bytes,2,rep,name=tablets,proto3" json:"tablets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Predicate + others are key. + SnapshotTs uint64 `protobuf:"varint,3,opt,name=snapshot_ts,json=snapshotTs,proto3" json:"snapshot_ts,omitempty"` // Stores Snapshot transaction ts. + Checksum uint64 `protobuf:"varint,4,opt,name=checksum,proto3" json:"checksum,omitempty"` // Stores a checksum. + CheckpointTs uint64 `protobuf:"varint,5,opt,name=checkpoint_ts,json=checkpointTs,proto3" json:"checkpoint_ts,omitempty"` // Stores checkpoint ts as seen by leader. +} + +func (x *Group) Reset() { + *x = Group{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Group) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Group) ProtoMessage() {} + +func (x *Group) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Group.ProtoReflect.Descriptor instead. +func (*Group) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{12} +} + +func (x *Group) GetMembers() map[uint64]*Member { + if x != nil { + return x.Members + } + return nil +} + +func (x *Group) GetTablets() map[string]*Tablet { + if x != nil { + return x.Tablets + } + return nil +} + +func (x *Group) GetSnapshotTs() uint64 { + if x != nil { + return x.SnapshotTs + } + return 0 +} + +func (x *Group) GetChecksum() uint64 { + if x != nil { + return x.Checksum + } + return 0 +} + +func (x *Group) GetCheckpointTs() uint64 { + if x != nil { + return x.CheckpointTs + } + return 0 +} + +type ZeroProposal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SnapshotTs map[uint32]uint64 `protobuf:"bytes,1,rep,name=snapshot_ts,json=snapshotTs,proto3" json:"snapshot_ts,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // Group ID -> Snapshot Ts. + Member *Member `protobuf:"bytes,2,opt,name=member,proto3" json:"member,omitempty"` + Tablet *Tablet `protobuf:"bytes,3,opt,name=tablet,proto3" json:"tablet,omitempty"` + MaxUID uint64 `protobuf:"varint,4,opt,name=maxUID,proto3" json:"maxUID,omitempty"` + MaxTxnTs uint64 `protobuf:"varint,5,opt,name=maxTxnTs,proto3" json:"maxTxnTs,omitempty"` + MaxNsID uint64 `protobuf:"varint,12,opt,name=maxNsID,proto3" json:"maxNsID,omitempty"` + MaxRaftId uint64 `protobuf:"varint,6,opt,name=maxRaftId,proto3" json:"maxRaftId,omitempty"` + Txn *api.TxnContext `protobuf:"bytes,7,opt,name=txn,proto3" json:"txn,omitempty"` + Cid string `protobuf:"bytes,9,opt,name=cid,proto3" json:"cid,omitempty"` // Used as unique identifier for the cluster. + Snapshot *ZeroSnapshot `protobuf:"bytes,11,opt,name=snapshot,proto3" json:"snapshot,omitempty"` // Used to make Zeros take a snapshot. + // 12 has already been used. + DeleteNs *DeleteNsRequest `protobuf:"bytes,13,opt,name=delete_ns,json=deleteNs,proto3" json:"delete_ns,omitempty"` // Used to delete namespace. + Tablets []*Tablet `protobuf:"bytes,14,rep,name=tablets,proto3" json:"tablets,omitempty"` +} + +func (x *ZeroProposal) Reset() { + *x = ZeroProposal{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ZeroProposal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ZeroProposal) ProtoMessage() {} + +func (x *ZeroProposal) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ZeroProposal.ProtoReflect.Descriptor instead. +func (*ZeroProposal) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{13} +} + +func (x *ZeroProposal) GetSnapshotTs() map[uint32]uint64 { + if x != nil { + return x.SnapshotTs + } + return nil +} + +func (x *ZeroProposal) GetMember() *Member { + if x != nil { + return x.Member + } + return nil +} + +func (x *ZeroProposal) GetTablet() *Tablet { + if x != nil { + return x.Tablet + } + return nil +} + +func (x *ZeroProposal) GetMaxUID() uint64 { + if x != nil { + return x.MaxUID + } + return 0 +} + +func (x *ZeroProposal) GetMaxTxnTs() uint64 { + if x != nil { + return x.MaxTxnTs + } + return 0 +} + +func (x *ZeroProposal) GetMaxNsID() uint64 { + if x != nil { + return x.MaxNsID + } + return 0 +} + +func (x *ZeroProposal) GetMaxRaftId() uint64 { + if x != nil { + return x.MaxRaftId + } + return 0 +} + +func (x *ZeroProposal) GetTxn() *api.TxnContext { + if x != nil { + return x.Txn + } + return nil +} + +func (x *ZeroProposal) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +func (x *ZeroProposal) GetSnapshot() *ZeroSnapshot { + if x != nil { + return x.Snapshot + } + return nil +} + +func (x *ZeroProposal) GetDeleteNs() *DeleteNsRequest { + if x != nil { + return x.DeleteNs + } + return nil +} + +func (x *ZeroProposal) GetTablets() []*Tablet { + if x != nil { + return x.Tablets + } + return nil +} + +// MembershipState is used to pack together the current membership state of all +// the nodes in the caller server; and the membership updates recorded by the +// callee server since the provided lastUpdate. +type MembershipState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Counter uint64 `protobuf:"varint,1,opt,name=counter,proto3" json:"counter,omitempty"` // used to find latest membershipState in case of race. + Groups map[uint32]*Group `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Zeros map[uint64]*Member `protobuf:"bytes,3,rep,name=zeros,proto3" json:"zeros,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + MaxUID uint64 `protobuf:"varint,4,opt,name=maxUID,proto3" json:"maxUID,omitempty"` + MaxTxnTs uint64 `protobuf:"varint,5,opt,name=maxTxnTs,proto3" json:"maxTxnTs,omitempty"` + MaxNsID uint64 `protobuf:"varint,10,opt,name=maxNsID,proto3" json:"maxNsID,omitempty"` + MaxRaftId uint64 `protobuf:"varint,6,opt,name=maxRaftId,proto3" json:"maxRaftId,omitempty"` + Removed []*Member `protobuf:"bytes,7,rep,name=removed,proto3" json:"removed,omitempty"` + Cid string `protobuf:"bytes,8,opt,name=cid,proto3" json:"cid,omitempty"` // Used to uniquely identify the Dgraph cluster. +} + +func (x *MembershipState) Reset() { + *x = MembershipState{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MembershipState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MembershipState) ProtoMessage() {} + +func (x *MembershipState) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MembershipState.ProtoReflect.Descriptor instead. +func (*MembershipState) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{14} +} + +func (x *MembershipState) GetCounter() uint64 { + if x != nil { + return x.Counter + } + return 0 +} + +func (x *MembershipState) GetGroups() map[uint32]*Group { + if x != nil { + return x.Groups + } + return nil +} + +func (x *MembershipState) GetZeros() map[uint64]*Member { + if x != nil { + return x.Zeros + } + return nil +} + +func (x *MembershipState) GetMaxUID() uint64 { + if x != nil { + return x.MaxUID + } + return 0 +} + +func (x *MembershipState) GetMaxTxnTs() uint64 { + if x != nil { + return x.MaxTxnTs + } + return 0 +} + +func (x *MembershipState) GetMaxNsID() uint64 { + if x != nil { + return x.MaxNsID + } + return 0 +} + +func (x *MembershipState) GetMaxRaftId() uint64 { + if x != nil { + return x.MaxRaftId + } + return 0 +} + +func (x *MembershipState) GetRemoved() []*Member { + if x != nil { + return x.Removed + } + return nil +} + +func (x *MembershipState) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type ConnectionState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Member *Member `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` + State *MembershipState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` + MaxPending uint64 `protobuf:"varint,3,opt,name=max_pending,json=maxPending,proto3" json:"max_pending,omitempty"` // Used to determine the timstamp for reading after bulk load +} + +func (x *ConnectionState) Reset() { + *x = ConnectionState{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectionState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectionState) ProtoMessage() {} + +func (x *ConnectionState) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectionState.ProtoReflect.Descriptor instead. +func (*ConnectionState) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{15} +} + +func (x *ConnectionState) GetMember() *Member { + if x != nil { + return x.Member + } + return nil +} + +func (x *ConnectionState) GetState() *MembershipState { + if x != nil { + return x.State + } + return nil +} + +func (x *ConnectionState) GetMaxPending() uint64 { + if x != nil { + return x.MaxPending + } + return 0 +} + +type HealthInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Instance string `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + Group string `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"` // string so group = 0 can be printed in JSON. + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + Uptime int64 `protobuf:"varint,6,opt,name=uptime,proto3" json:"uptime,omitempty"` + LastEcho int64 `protobuf:"varint,7,opt,name=lastEcho,proto3" json:"lastEcho,omitempty"` + Ongoing []string `protobuf:"bytes,8,rep,name=ongoing,proto3" json:"ongoing,omitempty"` + Indexing []string `protobuf:"bytes,9,rep,name=indexing,proto3" json:"indexing,omitempty"` + EeFeatures []string `protobuf:"bytes,10,rep,name=ee_features,json=eeFeatures,proto3" json:"ee_features,omitempty"` + MaxAssigned uint64 `protobuf:"varint,11,opt,name=max_assigned,json=maxAssigned,proto3" json:"max_assigned,omitempty"` +} + +func (x *HealthInfo) Reset() { + *x = HealthInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HealthInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthInfo) ProtoMessage() {} + +func (x *HealthInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthInfo.ProtoReflect.Descriptor instead. +func (*HealthInfo) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{16} +} + +func (x *HealthInfo) GetInstance() string { + if x != nil { + return x.Instance + } + return "" +} + +func (x *HealthInfo) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *HealthInfo) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *HealthInfo) GetGroup() string { + if x != nil { + return x.Group + } + return "" +} + +func (x *HealthInfo) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *HealthInfo) GetUptime() int64 { + if x != nil { + return x.Uptime + } + return 0 +} + +func (x *HealthInfo) GetLastEcho() int64 { + if x != nil { + return x.LastEcho + } + return 0 +} + +func (x *HealthInfo) GetOngoing() []string { + if x != nil { + return x.Ongoing + } + return nil +} + +func (x *HealthInfo) GetIndexing() []string { + if x != nil { + return x.Indexing + } + return nil +} + +func (x *HealthInfo) GetEeFeatures() []string { + if x != nil { + return x.EeFeatures + } + return nil +} + +func (x *HealthInfo) GetMaxAssigned() uint64 { + if x != nil { + return x.MaxAssigned + } + return 0 +} + +type Tablet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupId uint32 `protobuf:"varint,1,opt,name=groupId,proto3" json:"groupId,omitempty"` // Served by which group. + Predicate string `protobuf:"bytes,2,opt,name=predicate,proto3" json:"predicate,omitempty"` + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` // Used while moving predicate. + OnDiskBytes int64 `protobuf:"varint,7,opt,name=on_disk_bytes,json=onDiskBytes,proto3" json:"on_disk_bytes,omitempty"` + Remove bool `protobuf:"varint,8,opt,name=remove,proto3" json:"remove,omitempty"` + ReadOnly bool `protobuf:"varint,9,opt,name=readOnly,proto3" json:"readOnly,omitempty"` // If true, do not ask zero to serve any tablets. + MoveTs uint64 `protobuf:"varint,10,opt,name=moveTs,proto3" json:"moveTs,omitempty"` + UncompressedBytes int64 `protobuf:"varint,11,opt,name=uncompressed_bytes,json=uncompressedBytes,proto3" json:"uncompressed_bytes,omitempty"` // Estimated uncompressed size of tablet in bytes +} + +func (x *Tablet) Reset() { + *x = Tablet{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Tablet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Tablet) ProtoMessage() {} + +func (x *Tablet) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Tablet.ProtoReflect.Descriptor instead. +func (*Tablet) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{17} +} + +func (x *Tablet) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +func (x *Tablet) GetPredicate() string { + if x != nil { + return x.Predicate + } + return "" +} + +func (x *Tablet) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +func (x *Tablet) GetOnDiskBytes() int64 { + if x != nil { + return x.OnDiskBytes + } + return 0 +} + +func (x *Tablet) GetRemove() bool { + if x != nil { + return x.Remove + } + return false +} + +func (x *Tablet) GetReadOnly() bool { + if x != nil { + return x.ReadOnly + } + return false +} + +func (x *Tablet) GetMoveTs() uint64 { + if x != nil { + return x.MoveTs + } + return 0 +} + +func (x *Tablet) GetUncompressedBytes() int64 { + if x != nil { + return x.UncompressedBytes + } + return 0 +} + +type DirectedEdge struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entity uint64 `protobuf:"fixed64,1,opt,name=entity,proto3" json:"entity,omitempty"` // Subject or source node / UID. + Attr string `protobuf:"bytes,2,opt,name=attr,proto3" json:"attr,omitempty"` // Attribute or predicate. Labels the edge. + Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` // Edge points to a value. + ValueType Posting_ValType `protobuf:"varint,4,opt,name=value_type,json=valueType,proto3,enum=pb.Posting_ValType" json:"value_type,omitempty"` // The type of the value + ValueId uint64 `protobuf:"fixed64,5,opt,name=value_id,json=valueId,proto3" json:"value_id,omitempty"` // Object or destination node / UID. + Lang string `protobuf:"bytes,7,opt,name=lang,proto3" json:"lang,omitempty"` + Op DirectedEdge_Op `protobuf:"varint,8,opt,name=op,proto3,enum=pb.DirectedEdge_Op" json:"op,omitempty"` + Facets []*api.Facet `protobuf:"bytes,9,rep,name=facets,proto3" json:"facets,omitempty"` + AllowedPreds []string `protobuf:"bytes,10,rep,name=allowedPreds,proto3" json:"allowedPreds,omitempty"` + Namespace uint64 `protobuf:"varint,11,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (x *DirectedEdge) Reset() { + *x = DirectedEdge{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DirectedEdge) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DirectedEdge) ProtoMessage() {} + +func (x *DirectedEdge) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DirectedEdge.ProtoReflect.Descriptor instead. +func (*DirectedEdge) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{18} +} + +func (x *DirectedEdge) GetEntity() uint64 { + if x != nil { + return x.Entity + } + return 0 +} + +func (x *DirectedEdge) GetAttr() string { + if x != nil { + return x.Attr + } + return "" +} + +func (x *DirectedEdge) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +func (x *DirectedEdge) GetValueType() Posting_ValType { + if x != nil { + return x.ValueType + } + return Posting_DEFAULT +} + +func (x *DirectedEdge) GetValueId() uint64 { + if x != nil { + return x.ValueId + } + return 0 +} + +func (x *DirectedEdge) GetLang() string { + if x != nil { + return x.Lang + } + return "" +} + +func (x *DirectedEdge) GetOp() DirectedEdge_Op { + if x != nil { + return x.Op + } + return DirectedEdge_SET +} + +func (x *DirectedEdge) GetFacets() []*api.Facet { + if x != nil { + return x.Facets + } + return nil +} + +func (x *DirectedEdge) GetAllowedPreds() []string { + if x != nil { + return x.AllowedPreds + } + return nil +} + +func (x *DirectedEdge) GetNamespace() uint64 { + if x != nil { + return x.Namespace + } + return 0 +} + +type Mutations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + StartTs uint64 `protobuf:"varint,2,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` + Edges []*DirectedEdge `protobuf:"bytes,3,rep,name=edges,proto3" json:"edges,omitempty"` + Schema []*SchemaUpdate `protobuf:"bytes,4,rep,name=schema,proto3" json:"schema,omitempty"` + Types []*TypeUpdate `protobuf:"bytes,6,rep,name=types,proto3" json:"types,omitempty"` + DropOp Mutations_DropOp `protobuf:"varint,7,opt,name=drop_op,json=dropOp,proto3,enum=pb.Mutations_DropOp" json:"drop_op,omitempty"` + DropValue string `protobuf:"bytes,8,opt,name=drop_value,json=dropValue,proto3" json:"drop_value,omitempty"` + Metadata *Metadata `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *Mutations) Reset() { + *x = Mutations{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Mutations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Mutations) ProtoMessage() {} + +func (x *Mutations) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Mutations.ProtoReflect.Descriptor instead. +func (*Mutations) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{19} +} + +func (x *Mutations) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +func (x *Mutations) GetStartTs() uint64 { + if x != nil { + return x.StartTs + } + return 0 +} + +func (x *Mutations) GetEdges() []*DirectedEdge { + if x != nil { + return x.Edges + } + return nil +} + +func (x *Mutations) GetSchema() []*SchemaUpdate { + if x != nil { + return x.Schema + } + return nil +} + +func (x *Mutations) GetTypes() []*TypeUpdate { + if x != nil { + return x.Types + } + return nil +} + +func (x *Mutations) GetDropOp() Mutations_DropOp { + if x != nil { + return x.DropOp + } + return Mutations_NONE +} + +func (x *Mutations) GetDropValue() string { + if x != nil { + return x.DropValue + } + return "" +} + +func (x *Mutations) GetMetadata() *Metadata { + if x != nil { + return x.Metadata + } + return nil +} + +type Metadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Map of predicates to their hints. + PredHints map[string]Metadata_HintType `protobuf:"bytes,1,rep,name=pred_hints,json=predHints,proto3" json:"pred_hints,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=pb.Metadata_HintType"` +} + +func (x *Metadata) Reset() { + *x = Metadata{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Metadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Metadata) ProtoMessage() {} + +func (x *Metadata) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Metadata.ProtoReflect.Descriptor instead. +func (*Metadata) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{20} +} + +func (x *Metadata) GetPredHints() map[string]Metadata_HintType { + if x != nil { + return x.PredHints + } + return nil +} + +type Snapshot struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Context *RaftContext `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` + Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` + ReadTs uint64 `protobuf:"varint,3,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` + // done is used to indicate that snapshot stream was a success. + Done bool `protobuf:"varint,4,opt,name=done,proto3" json:"done,omitempty"` + // since_ts stores the ts of the last snapshot to support diff snap updates. + SinceTs uint64 `protobuf:"varint,5,opt,name=since_ts,json=sinceTs,proto3" json:"since_ts,omitempty"` +} + +func (x *Snapshot) Reset() { + *x = Snapshot{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Snapshot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Snapshot) ProtoMessage() {} + +func (x *Snapshot) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Snapshot.ProtoReflect.Descriptor instead. +func (*Snapshot) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{21} +} + +func (x *Snapshot) GetContext() *RaftContext { + if x != nil { + return x.Context + } + return nil +} + +func (x *Snapshot) GetIndex() uint64 { + if x != nil { + return x.Index + } + return 0 +} + +func (x *Snapshot) GetReadTs() uint64 { + if x != nil { + return x.ReadTs + } + return 0 +} + +func (x *Snapshot) GetDone() bool { + if x != nil { + return x.Done + } + return false +} + +func (x *Snapshot) GetSinceTs() uint64 { + if x != nil { + return x.SinceTs + } + return 0 +} + +type ZeroSnapshot struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` + CheckpointTs uint64 `protobuf:"varint,2,opt,name=checkpoint_ts,json=checkpointTs,proto3" json:"checkpoint_ts,omitempty"` + State *MembershipState `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *ZeroSnapshot) Reset() { + *x = ZeroSnapshot{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ZeroSnapshot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ZeroSnapshot) ProtoMessage() {} + +func (x *ZeroSnapshot) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ZeroSnapshot.ProtoReflect.Descriptor instead. +func (*ZeroSnapshot) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{22} +} + +func (x *ZeroSnapshot) GetIndex() uint64 { + if x != nil { + return x.Index + } + return 0 +} + +func (x *ZeroSnapshot) GetCheckpointTs() uint64 { + if x != nil { + return x.CheckpointTs + } + return 0 +} + +func (x *ZeroSnapshot) GetState() *MembershipState { + if x != nil { + return x.State + } + return nil +} + +type RestoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + RestoreTs uint64 `protobuf:"varint,2,opt,name=restore_ts,json=restoreTs,proto3" json:"restore_ts,omitempty"` + Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` + BackupId string `protobuf:"bytes,4,opt,name=backup_id,json=backupId,proto3" json:"backup_id,omitempty"` + // Credentials when using a minio or S3 bucket as the backup location. + AccessKey string `protobuf:"bytes,5,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` + SecretKey Sensitive `protobuf:"bytes,6,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` + SessionToken Sensitive `protobuf:"bytes,7,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` + Anonymous bool `protobuf:"varint,8,opt,name=anonymous,proto3" json:"anonymous,omitempty"` + // Info needed to process encrypted backups. + EncryptionKeyFile string `protobuf:"bytes,9,opt,name=encryption_key_file,json=encryptionKeyFile,proto3" json:"encryption_key_file,omitempty"` + // Vault options + VaultAddr string `protobuf:"bytes,10,opt,name=vault_addr,json=vaultAddr,proto3" json:"vault_addr,omitempty"` + VaultRoleidFile string `protobuf:"bytes,11,opt,name=vault_roleid_file,json=vaultRoleidFile,proto3" json:"vault_roleid_file,omitempty"` + VaultSecretidFile string `protobuf:"bytes,12,opt,name=vault_secretid_file,json=vaultSecretidFile,proto3" json:"vault_secretid_file,omitempty"` + VaultPath string `protobuf:"bytes,13,opt,name=vault_path,json=vaultPath,proto3" json:"vault_path,omitempty"` + VaultField string `protobuf:"bytes,14,opt,name=vault_field,json=vaultField,proto3" json:"vault_field,omitempty"` + VaultFormat string `protobuf:"bytes,15,opt,name=vault_format,json=vaultFormat,proto3" json:"vault_format,omitempty"` + BackupNum uint64 `protobuf:"varint,16,opt,name=backup_num,json=backupNum,proto3" json:"backup_num,omitempty"` + IncrementalFrom uint64 `protobuf:"varint,17,opt,name=incremental_from,json=incrementalFrom,proto3" json:"incremental_from,omitempty"` + IsPartial bool `protobuf:"varint,18,opt,name=is_partial,json=isPartial,proto3" json:"is_partial,omitempty"` + FromNamespace uint64 `protobuf:"varint,19,opt,name=fromNamespace,proto3" json:"fromNamespace,omitempty"` + IsNamespaceAwareRestore bool `protobuf:"varint,20,opt,name=isNamespaceAwareRestore,proto3" json:"isNamespaceAwareRestore,omitempty"` +} + +func (x *RestoreRequest) Reset() { + *x = RestoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RestoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestoreRequest) ProtoMessage() {} + +func (x *RestoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestoreRequest.ProtoReflect.Descriptor instead. +func (*RestoreRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{23} +} + +func (x *RestoreRequest) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +func (x *RestoreRequest) GetRestoreTs() uint64 { + if x != nil { + return x.RestoreTs + } + return 0 +} + +func (x *RestoreRequest) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *RestoreRequest) GetBackupId() string { + if x != nil { + return x.BackupId + } + return "" +} + +func (x *RestoreRequest) GetAccessKey() string { + if x != nil { + return x.AccessKey + } + return "" +} + +func (x *RestoreRequest) GetSecretKey() Sensitive { + if x != nil { + return x.SecretKey + } + return "" +} + +func (x *RestoreRequest) GetSessionToken() Sensitive { + if x != nil { + return x.SessionToken + } + return "" +} + +func (x *RestoreRequest) GetAnonymous() bool { + if x != nil { + return x.Anonymous + } + return false +} + +func (x *RestoreRequest) GetEncryptionKeyFile() string { + if x != nil { + return x.EncryptionKeyFile + } + return "" +} + +func (x *RestoreRequest) GetVaultAddr() string { + if x != nil { + return x.VaultAddr + } + return "" +} + +func (x *RestoreRequest) GetVaultRoleidFile() string { + if x != nil { + return x.VaultRoleidFile + } + return "" +} + +func (x *RestoreRequest) GetVaultSecretidFile() string { + if x != nil { + return x.VaultSecretidFile + } + return "" +} + +func (x *RestoreRequest) GetVaultPath() string { + if x != nil { + return x.VaultPath + } + return "" +} + +func (x *RestoreRequest) GetVaultField() string { + if x != nil { + return x.VaultField + } + return "" +} + +func (x *RestoreRequest) GetVaultFormat() string { + if x != nil { + return x.VaultFormat + } + return "" +} + +func (x *RestoreRequest) GetBackupNum() uint64 { + if x != nil { + return x.BackupNum + } + return 0 +} + +func (x *RestoreRequest) GetIncrementalFrom() uint64 { + if x != nil { + return x.IncrementalFrom + } + return 0 +} + +func (x *RestoreRequest) GetIsPartial() bool { + if x != nil { + return x.IsPartial + } + return false +} + +func (x *RestoreRequest) GetFromNamespace() uint64 { + if x != nil { + return x.FromNamespace + } + return 0 +} + +func (x *RestoreRequest) GetIsNamespaceAwareRestore() bool { + if x != nil { + return x.IsNamespaceAwareRestore + } + return false +} + +type Proposal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Mutations *Mutations `protobuf:"bytes,2,opt,name=mutations,proto3" json:"mutations,omitempty"` + Kv []*pb.KV `protobuf:"bytes,4,rep,name=kv,proto3" json:"kv,omitempty"` + State *MembershipState `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` + CleanPredicate string `protobuf:"bytes,6,opt,name=clean_predicate,json=cleanPredicate,proto3" json:"clean_predicate,omitempty"` // Delete the predicate which was moved to other group. + Delta *OracleDelta `protobuf:"bytes,8,opt,name=delta,proto3" json:"delta,omitempty"` + Snapshot *Snapshot `protobuf:"bytes,9,opt,name=snapshot,proto3" json:"snapshot,omitempty"` // Used to tell the group when to take snapshot. + Index uint64 `protobuf:"varint,10,opt,name=index,proto3" json:"index,omitempty"` // Used to store Raft index, in raft.Ready. + ExpectedChecksum uint64 `protobuf:"varint,11,opt,name=expected_checksum,json=expectedChecksum,proto3" json:"expected_checksum,omitempty"` // Block an operation until membership reaches this checksum. + Restore *RestoreRequest `protobuf:"bytes,12,opt,name=restore,proto3" json:"restore,omitempty"` + CdcState *CDCState `protobuf:"bytes,13,opt,name=cdc_state,json=cdcState,proto3" json:"cdc_state,omitempty"` + DeleteNs *DeleteNsRequest `protobuf:"bytes,14,opt,name=delete_ns,json=deleteNs,proto3" json:"delete_ns,omitempty"` // Used to delete namespace. + // Skipping 15 as it is used for uint64 key in master and might be needed later here. + StartTs uint64 `protobuf:"varint,16,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` + ExtSnapshotState *api.UpdateExtSnapshotStreamingStateRequest `protobuf:"bytes,17,opt,name=ext_snapshot_state,json=extSnapshotState,proto3" json:"ext_snapshot_state,omitempty"` +} + +func (x *Proposal) Reset() { + *x = Proposal{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Proposal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Proposal) ProtoMessage() {} + +func (x *Proposal) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Proposal.ProtoReflect.Descriptor instead. +func (*Proposal) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{24} +} + +func (x *Proposal) GetMutations() *Mutations { + if x != nil { + return x.Mutations + } + return nil +} + +func (x *Proposal) GetKv() []*pb.KV { + if x != nil { + return x.Kv + } + return nil +} + +func (x *Proposal) GetState() *MembershipState { + if x != nil { + return x.State + } + return nil +} + +func (x *Proposal) GetCleanPredicate() string { + if x != nil { + return x.CleanPredicate + } + return "" +} + +func (x *Proposal) GetDelta() *OracleDelta { + if x != nil { + return x.Delta + } + return nil +} + +func (x *Proposal) GetSnapshot() *Snapshot { + if x != nil { + return x.Snapshot + } + return nil +} + +func (x *Proposal) GetIndex() uint64 { + if x != nil { + return x.Index + } + return 0 +} + +func (x *Proposal) GetExpectedChecksum() uint64 { + if x != nil { + return x.ExpectedChecksum + } + return 0 +} + +func (x *Proposal) GetRestore() *RestoreRequest { + if x != nil { + return x.Restore + } + return nil +} + +func (x *Proposal) GetCdcState() *CDCState { + if x != nil { + return x.CdcState + } + return nil +} + +func (x *Proposal) GetDeleteNs() *DeleteNsRequest { + if x != nil { + return x.DeleteNs + } + return nil +} + +func (x *Proposal) GetStartTs() uint64 { + if x != nil { + return x.StartTs + } + return 0 +} + +func (x *Proposal) GetExtSnapshotState() *api.UpdateExtSnapshotStreamingStateRequest { + if x != nil { + return x.ExtSnapshotState + } + return nil +} + +type CDCState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SentTs uint64 `protobuf:"varint,1,opt,name=sent_ts,json=sentTs,proto3" json:"sent_ts,omitempty"` +} + +func (x *CDCState) Reset() { + *x = CDCState{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDCState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDCState) ProtoMessage() {} + +func (x *CDCState) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDCState.ProtoReflect.Descriptor instead. +func (*CDCState) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{25} +} + +func (x *CDCState) GetSentTs() uint64 { + if x != nil { + return x.SentTs + } + return 0 +} + +type KVS struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []byte `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` + // done used to indicate if the stream of KVS is over. + Done bool `protobuf:"varint,2,opt,name=done,proto3" json:"done,omitempty"` + // predicates is the list of predicates known by the leader at the time of the + // snapshot. + Predicates []string `protobuf:"bytes,3,rep,name=predicates,proto3" json:"predicates,omitempty"` + // types is the list of types known by the leader at the time of the snapshot. + Types []string `protobuf:"bytes,4,rep,name=types,proto3" json:"types,omitempty"` +} + +func (x *KVS) Reset() { + *x = KVS{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KVS) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KVS) ProtoMessage() {} + +func (x *KVS) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KVS.ProtoReflect.Descriptor instead. +func (*KVS) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{26} +} + +func (x *KVS) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *KVS) GetDone() bool { + if x != nil { + return x.Done + } + return false +} + +func (x *KVS) GetPredicates() []string { + if x != nil { + return x.Predicates + } + return nil +} + +func (x *KVS) GetTypes() []string { + if x != nil { + return x.Types + } + return nil +} + +// Posting messages. +type Posting struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uid uint64 `protobuf:"fixed64,1,opt,name=uid,proto3" json:"uid,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + ValType Posting_ValType `protobuf:"varint,3,opt,name=val_type,json=valType,proto3,enum=pb.Posting_ValType" json:"val_type,omitempty"` + PostingType Posting_PostingType `protobuf:"varint,4,opt,name=posting_type,json=postingType,proto3,enum=pb.Posting_PostingType" json:"posting_type,omitempty"` + LangTag []byte `protobuf:"bytes,5,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"` // Only set for VALUE_LANG + Facets []*api.Facet `protobuf:"bytes,9,rep,name=facets,proto3" json:"facets,omitempty"` + // TODO: op is only used temporarily. See if we can remove it from here. + Op uint32 `protobuf:"varint,12,opt,name=op,proto3" json:"op,omitempty"` + StartTs uint64 `protobuf:"varint,13,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` // Meant to use only inmemory + CommitTs uint64 `protobuf:"varint,14,opt,name=commit_ts,json=commitTs,proto3" json:"commit_ts,omitempty"` // Meant to use only inmemory +} + +func (x *Posting) Reset() { + *x = Posting{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Posting) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Posting) ProtoMessage() {} + +func (x *Posting) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Posting.ProtoReflect.Descriptor instead. +func (*Posting) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{27} +} + +func (x *Posting) GetUid() uint64 { + if x != nil { + return x.Uid + } + return 0 +} + +func (x *Posting) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +func (x *Posting) GetValType() Posting_ValType { + if x != nil { + return x.ValType + } + return Posting_DEFAULT +} + +func (x *Posting) GetPostingType() Posting_PostingType { + if x != nil { + return x.PostingType + } + return Posting_REF +} + +func (x *Posting) GetLangTag() []byte { + if x != nil { + return x.LangTag + } + return nil +} + +func (x *Posting) GetFacets() []*api.Facet { + if x != nil { + return x.Facets + } + return nil +} + +func (x *Posting) GetOp() uint32 { + if x != nil { + return x.Op + } + return 0 +} + +func (x *Posting) GetStartTs() uint64 { + if x != nil { + return x.StartTs + } + return 0 +} + +func (x *Posting) GetCommitTs() uint64 { + if x != nil { + return x.CommitTs + } + return 0 +} + +type UidBlock struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Base uint64 `protobuf:"varint,1,opt,name=base,proto3" json:"base,omitempty"` + // deltas contains the deltas encoded with Varints. We don't store deltas as a + // list of integers, because when the PB is brought to memory, Go would always + // use 8-bytes per integer. Instead, storing it as a byte slice is a lot + // cheaper in memory. + Deltas []byte `protobuf:"bytes,2,opt,name=deltas,proto3" json:"deltas,omitempty"` + // num_uids is the number of UIDs in the block. We are including this because + // we want to switch encoding to groupvarint encoding. Current avaialble open + // source version implements encoding and decoding for uint32. To use that, we + // create different blocks for different 32-bit MSB base uids. That is, if the + // 32 MSBs are different, we will create a new block irrespective of whether + // the block is filled with the block_size or not. Default Blocksize is 256 so + // uint32 would be sufficient. + NumUids uint32 `protobuf:"varint,3,opt,name=num_uids,json=numUids,proto3" json:"num_uids,omitempty"` +} + +func (x *UidBlock) Reset() { + *x = UidBlock{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UidBlock) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UidBlock) ProtoMessage() {} + +func (x *UidBlock) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UidBlock.ProtoReflect.Descriptor instead. +func (*UidBlock) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{28} +} + +func (x *UidBlock) GetBase() uint64 { + if x != nil { + return x.Base + } + return 0 +} + +func (x *UidBlock) GetDeltas() []byte { + if x != nil { + return x.Deltas + } + return nil +} + +func (x *UidBlock) GetNumUids() uint32 { + if x != nil { + return x.NumUids + } + return 0 +} + +type UidPack struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BlockSize uint32 `protobuf:"varint,1,opt,name=block_size,json=blockSize,proto3" json:"block_size,omitempty"` + Blocks []*UidBlock `protobuf:"bytes,2,rep,name=blocks,proto3" json:"blocks,omitempty"` + AllocRef uint64 `protobuf:"varint,23,opt,name=alloc_ref,json=allocRef,proto3" json:"alloc_ref,omitempty"` // This field should be set to 0 during marshal. +} + +func (x *UidPack) Reset() { + *x = UidPack{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UidPack) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UidPack) ProtoMessage() {} + +func (x *UidPack) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UidPack.ProtoReflect.Descriptor instead. +func (*UidPack) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{29} +} + +func (x *UidPack) GetBlockSize() uint32 { + if x != nil { + return x.BlockSize + } + return 0 +} + +func (x *UidPack) GetBlocks() []*UidBlock { + if x != nil { + return x.Blocks + } + return nil +} + +func (x *UidPack) GetAllocRef() uint64 { + if x != nil { + return x.AllocRef + } + return 0 +} + +type PostingList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pack *UidPack `protobuf:"bytes,1,opt,name=pack,proto3" json:"pack,omitempty"` // Encoded list of uids in this posting list. + Postings []*Posting `protobuf:"bytes,2,rep,name=postings,proto3" json:"postings,omitempty"` + CommitTs uint64 `protobuf:"varint,3,opt,name=commit_ts,json=commitTs,proto3" json:"commit_ts,omitempty"` // More inclination towards smaller values. + Splits []uint64 `protobuf:"varint,4,rep,packed,name=splits,proto3" json:"splits,omitempty"` +} + +func (x *PostingList) Reset() { + *x = PostingList{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostingList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostingList) ProtoMessage() {} + +func (x *PostingList) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostingList.ProtoReflect.Descriptor instead. +func (*PostingList) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{30} +} + +func (x *PostingList) GetPack() *UidPack { + if x != nil { + return x.Pack + } + return nil +} + +func (x *PostingList) GetPostings() []*Posting { + if x != nil { + return x.Postings + } + return nil +} + +func (x *PostingList) GetCommitTs() uint64 { + if x != nil { + return x.CommitTs + } + return 0 +} + +func (x *PostingList) GetSplits() []uint64 { + if x != nil { + return x.Splits + } + return nil +} + +type FacetParam struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"` +} + +func (x *FacetParam) Reset() { + *x = FacetParam{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FacetParam) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FacetParam) ProtoMessage() {} + +func (x *FacetParam) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FacetParam.ProtoReflect.Descriptor instead. +func (*FacetParam) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{31} +} + +func (x *FacetParam) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *FacetParam) GetAlias() string { + if x != nil { + return x.Alias + } + return "" +} + +type FacetParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AllKeys bool `protobuf:"varint,1,opt,name=all_keys,json=allKeys,proto3" json:"all_keys,omitempty"` // keys should be in sorted order. + Param []*FacetParam `protobuf:"bytes,2,rep,name=param,proto3" json:"param,omitempty"` +} + +func (x *FacetParams) Reset() { + *x = FacetParams{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FacetParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FacetParams) ProtoMessage() {} + +func (x *FacetParams) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FacetParams.ProtoReflect.Descriptor instead. +func (*FacetParams) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{32} +} + +func (x *FacetParams) GetAllKeys() bool { + if x != nil { + return x.AllKeys + } + return false +} + +func (x *FacetParams) GetParam() []*FacetParam { + if x != nil { + return x.Param + } + return nil +} + +type Facets struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Facets []*api.Facet `protobuf:"bytes,1,rep,name=facets,proto3" json:"facets,omitempty"` +} + +func (x *Facets) Reset() { + *x = Facets{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Facets) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Facets) ProtoMessage() {} + +func (x *Facets) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Facets.ProtoReflect.Descriptor instead. +func (*Facets) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{33} +} + +func (x *Facets) GetFacets() []*api.Facet { + if x != nil { + return x.Facets + } + return nil +} + +type FacetsList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FacetsList []*Facets `protobuf:"bytes,1,rep,name=facets_list,json=facetsList,proto3" json:"facets_list,omitempty"` +} + +func (x *FacetsList) Reset() { + *x = FacetsList{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FacetsList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FacetsList) ProtoMessage() {} + +func (x *FacetsList) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FacetsList.ProtoReflect.Descriptor instead. +func (*FacetsList) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{34} +} + +func (x *FacetsList) GetFacetsList() []*Facets { + if x != nil { + return x.FacetsList + } + return nil +} + +type Function struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Name of the function : eq, le + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // Facet key over which to run the function. + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` // Arguments of the function. +} + +func (x *Function) Reset() { + *x = Function{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Function) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Function) ProtoMessage() {} + +func (x *Function) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Function.ProtoReflect.Descriptor instead. +func (*Function) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{35} +} + +func (x *Function) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Function) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *Function) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +// Op and Children are internal nodes and Func on leaves. +type FilterTree struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Op string `protobuf:"bytes,1,opt,name=op,proto3" json:"op,omitempty"` + Children []*FilterTree `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"` + Func *Function `protobuf:"bytes,3,opt,name=func,proto3" json:"func,omitempty"` +} + +func (x *FilterTree) Reset() { + *x = FilterTree{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterTree) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterTree) ProtoMessage() {} + +func (x *FilterTree) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FilterTree.ProtoReflect.Descriptor instead. +func (*FilterTree) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{36} +} + +func (x *FilterTree) GetOp() string { + if x != nil { + return x.Op + } + return "" +} + +func (x *FilterTree) GetChildren() []*FilterTree { + if x != nil { + return x.Children + } + return nil +} + +func (x *FilterTree) GetFunc() *Function { + if x != nil { + return x.Func + } + return nil +} + +// Schema messages. +type SchemaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + Predicates []string `protobuf:"bytes,2,rep,name=predicates,proto3" json:"predicates,omitempty"` + // fields can be on of type, index, reverse or tokenizer + Fields []string `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty"` + Types []string `protobuf:"bytes,4,rep,name=types,proto3" json:"types,omitempty"` +} + +func (x *SchemaRequest) Reset() { + *x = SchemaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SchemaRequest) ProtoMessage() {} + +func (x *SchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SchemaRequest.ProtoReflect.Descriptor instead. +func (*SchemaRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{37} +} + +func (x *SchemaRequest) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +func (x *SchemaRequest) GetPredicates() []string { + if x != nil { + return x.Predicates + } + return nil +} + +func (x *SchemaRequest) GetFields() []string { + if x != nil { + return x.Fields + } + return nil +} + +func (x *SchemaRequest) GetTypes() []string { + if x != nil { + return x.Types + } + return nil +} + +type SchemaNode struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Predicate string `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + Index bool `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"` + Tokenizer []string `protobuf:"bytes,4,rep,name=tokenizer,proto3" json:"tokenizer,omitempty"` + Reverse bool `protobuf:"varint,5,opt,name=reverse,proto3" json:"reverse,omitempty"` + Count bool `protobuf:"varint,6,opt,name=count,proto3" json:"count,omitempty"` + List bool `protobuf:"varint,7,opt,name=list,proto3" json:"list,omitempty"` + Upsert bool `protobuf:"varint,8,opt,name=upsert,proto3" json:"upsert,omitempty"` + Lang bool `protobuf:"varint,9,opt,name=lang,proto3" json:"lang,omitempty"` + NoConflict bool `protobuf:"varint,10,opt,name=no_conflict,json=noConflict,proto3" json:"no_conflict,omitempty"` + Unique bool `protobuf:"varint,11,opt,name=unique,proto3" json:"unique,omitempty"` + IndexSpecs []*VectorIndexSpec `protobuf:"bytes,12,rep,name=index_specs,json=indexSpecs,proto3" json:"index_specs,omitempty"` +} + +func (x *SchemaNode) Reset() { + *x = SchemaNode{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SchemaNode) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SchemaNode) ProtoMessage() {} + +func (x *SchemaNode) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SchemaNode.ProtoReflect.Descriptor instead. +func (*SchemaNode) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{38} +} + +func (x *SchemaNode) GetPredicate() string { + if x != nil { + return x.Predicate + } + return "" +} + +func (x *SchemaNode) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *SchemaNode) GetIndex() bool { + if x != nil { + return x.Index + } + return false +} + +func (x *SchemaNode) GetTokenizer() []string { + if x != nil { + return x.Tokenizer + } + return nil +} + +func (x *SchemaNode) GetReverse() bool { + if x != nil { + return x.Reverse + } + return false +} + +func (x *SchemaNode) GetCount() bool { + if x != nil { + return x.Count + } + return false +} + +func (x *SchemaNode) GetList() bool { + if x != nil { + return x.List + } + return false +} + +func (x *SchemaNode) GetUpsert() bool { + if x != nil { + return x.Upsert + } + return false +} + +func (x *SchemaNode) GetLang() bool { + if x != nil { + return x.Lang + } + return false +} + +func (x *SchemaNode) GetNoConflict() bool { + if x != nil { + return x.NoConflict + } + return false +} + +func (x *SchemaNode) GetUnique() bool { + if x != nil { + return x.Unique + } + return false +} + +func (x *SchemaNode) GetIndexSpecs() []*VectorIndexSpec { + if x != nil { + return x.IndexSpecs + } + return nil +} + +type SchemaResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated: Marked as deprecated in pb.proto. + Schema []*SchemaNode `protobuf:"bytes,1,rep,name=schema,proto3" json:"schema,omitempty"` +} + +func (x *SchemaResult) Reset() { + *x = SchemaResult{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SchemaResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SchemaResult) ProtoMessage() {} + +func (x *SchemaResult) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SchemaResult.ProtoReflect.Descriptor instead. +func (*SchemaResult) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{39} +} + +// Deprecated: Marked as deprecated in pb.proto. +func (x *SchemaResult) GetSchema() []*SchemaNode { + if x != nil { + return x.Schema + } + return nil +} + +type SchemaUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Predicate string `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"` + ValueType Posting_ValType `protobuf:"varint,2,opt,name=value_type,json=valueType,proto3,enum=pb.Posting_ValType" json:"value_type,omitempty"` + Directive SchemaUpdate_Directive `protobuf:"varint,3,opt,name=directive,proto3,enum=pb.SchemaUpdate_Directive" json:"directive,omitempty"` + Tokenizer []string `protobuf:"bytes,4,rep,name=tokenizer,proto3" json:"tokenizer,omitempty"` + Count bool `protobuf:"varint,5,opt,name=count,proto3" json:"count,omitempty"` + List bool `protobuf:"varint,6,opt,name=list,proto3" json:"list,omitempty"` + Upsert bool `protobuf:"varint,8,opt,name=upsert,proto3" json:"upsert,omitempty"` + Lang bool `protobuf:"varint,9,opt,name=lang,proto3" json:"lang,omitempty"` + Unique bool `protobuf:"varint,14,opt,name=unique,proto3" json:"unique,omitempty"` + // Fields required for type system. + NonNullable bool `protobuf:"varint,10,opt,name=non_nullable,json=nonNullable,proto3" json:"non_nullable,omitempty"` + NonNullableList bool `protobuf:"varint,11,opt,name=non_nullable_list,json=nonNullableList,proto3" json:"non_nullable_list,omitempty"` + // If value_type is OBJECT, then this represents an object type with a + // custom name. This field stores said name. + ObjectTypeName string `protobuf:"bytes,12,opt,name=object_type_name,json=objectTypeName,proto3" json:"object_type_name,omitempty"` + NoConflict bool `protobuf:"varint,13,opt,name=no_conflict,json=noConflict,proto3" json:"no_conflict,omitempty"` + IndexSpecs []*VectorIndexSpec `protobuf:"bytes,15,rep,name=index_specs,json=indexSpecs,proto3" json:"index_specs,omitempty"` +} + +func (x *SchemaUpdate) Reset() { + *x = SchemaUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SchemaUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SchemaUpdate) ProtoMessage() {} + +func (x *SchemaUpdate) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SchemaUpdate.ProtoReflect.Descriptor instead. +func (*SchemaUpdate) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{40} +} + +func (x *SchemaUpdate) GetPredicate() string { + if x != nil { + return x.Predicate + } + return "" +} + +func (x *SchemaUpdate) GetValueType() Posting_ValType { + if x != nil { + return x.ValueType + } + return Posting_DEFAULT +} + +func (x *SchemaUpdate) GetDirective() SchemaUpdate_Directive { + if x != nil { + return x.Directive + } + return SchemaUpdate_NONE +} + +func (x *SchemaUpdate) GetTokenizer() []string { + if x != nil { + return x.Tokenizer + } + return nil +} + +func (x *SchemaUpdate) GetCount() bool { + if x != nil { + return x.Count + } + return false +} + +func (x *SchemaUpdate) GetList() bool { + if x != nil { + return x.List + } + return false +} + +func (x *SchemaUpdate) GetUpsert() bool { + if x != nil { + return x.Upsert + } + return false +} + +func (x *SchemaUpdate) GetLang() bool { + if x != nil { + return x.Lang + } + return false +} + +func (x *SchemaUpdate) GetUnique() bool { + if x != nil { + return x.Unique + } + return false +} + +func (x *SchemaUpdate) GetNonNullable() bool { + if x != nil { + return x.NonNullable + } + return false +} + +func (x *SchemaUpdate) GetNonNullableList() bool { + if x != nil { + return x.NonNullableList + } + return false +} + +func (x *SchemaUpdate) GetObjectTypeName() string { + if x != nil { + return x.ObjectTypeName + } + return "" +} + +func (x *SchemaUpdate) GetNoConflict() bool { + if x != nil { + return x.NoConflict + } + return false +} + +func (x *SchemaUpdate) GetIndexSpecs() []*VectorIndexSpec { + if x != nil { + return x.IndexSpecs + } + return nil +} + +type VectorIndexSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // This names the kind of Vector Index, e.g., + // + // hnsw, lsh, hypertree, ... + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Options []*OptionPair `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *VectorIndexSpec) Reset() { + *x = VectorIndexSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VectorIndexSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VectorIndexSpec) ProtoMessage() {} + +func (x *VectorIndexSpec) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VectorIndexSpec.ProtoReflect.Descriptor instead. +func (*VectorIndexSpec) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{41} +} + +func (x *VectorIndexSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *VectorIndexSpec) GetOptions() []*OptionPair { + if x != nil { + return x.Options + } + return nil +} + +type OptionPair struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *OptionPair) Reset() { + *x = OptionPair{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OptionPair) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OptionPair) ProtoMessage() {} + +func (x *OptionPair) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OptionPair.ProtoReflect.Descriptor instead. +func (*OptionPair) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{42} +} + +func (x *OptionPair) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *OptionPair) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type TypeUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeName string `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Fields []*SchemaUpdate `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` +} + +func (x *TypeUpdate) Reset() { + *x = TypeUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TypeUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TypeUpdate) ProtoMessage() {} + +func (x *TypeUpdate) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TypeUpdate.ProtoReflect.Descriptor instead. +func (*TypeUpdate) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{43} +} + +func (x *TypeUpdate) GetTypeName() string { + if x != nil { + return x.TypeName + } + return "" +} + +func (x *TypeUpdate) GetFields() []*SchemaUpdate { + if x != nil { + return x.Fields + } + return nil +} + +type MapHeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PartitionKeys [][]byte `protobuf:"bytes,1,rep,name=partition_keys,json=partitionKeys,proto3" json:"partition_keys,omitempty"` +} + +func (x *MapHeader) Reset() { + *x = MapHeader{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MapHeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapHeader) ProtoMessage() {} + +func (x *MapHeader) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MapHeader.ProtoReflect.Descriptor instead. +func (*MapHeader) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{44} +} + +func (x *MapHeader) GetPartitionKeys() [][]byte { + if x != nil { + return x.PartitionKeys + } + return nil +} + +type MovePredicatePayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Predicate string `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"` + SourceGid uint32 `protobuf:"varint,2,opt,name=source_gid,json=sourceGid,proto3" json:"source_gid,omitempty"` + DestGid uint32 `protobuf:"varint,3,opt,name=dest_gid,json=destGid,proto3" json:"dest_gid,omitempty"` + TxnTs uint64 `protobuf:"varint,4,opt,name=txn_ts,json=txnTs,proto3" json:"txn_ts,omitempty"` + ExpectedChecksum uint64 `protobuf:"varint,5,opt,name=expected_checksum,json=expectedChecksum,proto3" json:"expected_checksum,omitempty"` +} + +func (x *MovePredicatePayload) Reset() { + *x = MovePredicatePayload{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MovePredicatePayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MovePredicatePayload) ProtoMessage() {} + +func (x *MovePredicatePayload) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MovePredicatePayload.ProtoReflect.Descriptor instead. +func (*MovePredicatePayload) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{45} +} + +func (x *MovePredicatePayload) GetPredicate() string { + if x != nil { + return x.Predicate + } + return "" +} + +func (x *MovePredicatePayload) GetSourceGid() uint32 { + if x != nil { + return x.SourceGid + } + return 0 +} + +func (x *MovePredicatePayload) GetDestGid() uint32 { + if x != nil { + return x.DestGid + } + return 0 +} + +func (x *MovePredicatePayload) GetTxnTs() uint64 { + if x != nil { + return x.TxnTs + } + return 0 +} + +func (x *MovePredicatePayload) GetExpectedChecksum() uint64 { + if x != nil { + return x.ExpectedChecksum + } + return 0 +} + +type TxnStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StartTs uint64 `protobuf:"varint,1,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` + CommitTs uint64 `protobuf:"varint,2,opt,name=commit_ts,json=commitTs,proto3" json:"commit_ts,omitempty"` +} + +func (x *TxnStatus) Reset() { + *x = TxnStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TxnStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TxnStatus) ProtoMessage() {} + +func (x *TxnStatus) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TxnStatus.ProtoReflect.Descriptor instead. +func (*TxnStatus) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{46} +} + +func (x *TxnStatus) GetStartTs() uint64 { + if x != nil { + return x.StartTs + } + return 0 +} + +func (x *TxnStatus) GetCommitTs() uint64 { + if x != nil { + return x.CommitTs + } + return 0 +} + +type OracleDelta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Txns []*TxnStatus `protobuf:"bytes,1,rep,name=txns,proto3" json:"txns,omitempty"` + MaxAssigned uint64 `protobuf:"varint,2,opt,name=max_assigned,json=maxAssigned,proto3" json:"max_assigned,omitempty"` + GroupChecksums map[uint32]uint64 `protobuf:"bytes,3,rep,name=group_checksums,json=groupChecksums,proto3" json:"group_checksums,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // implement tmax. +} + +func (x *OracleDelta) Reset() { + *x = OracleDelta{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OracleDelta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OracleDelta) ProtoMessage() {} + +func (x *OracleDelta) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OracleDelta.ProtoReflect.Descriptor instead. +func (*OracleDelta) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{47} +} + +func (x *OracleDelta) GetTxns() []*TxnStatus { + if x != nil { + return x.Txns + } + return nil +} + +func (x *OracleDelta) GetMaxAssigned() uint64 { + if x != nil { + return x.MaxAssigned + } + return 0 +} + +func (x *OracleDelta) GetGroupChecksums() map[uint32]uint64 { + if x != nil { + return x.GroupChecksums + } + return nil +} + +type TxnTimestamps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ts []uint64 `protobuf:"varint,1,rep,packed,name=ts,proto3" json:"ts,omitempty"` +} + +func (x *TxnTimestamps) Reset() { + *x = TxnTimestamps{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TxnTimestamps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TxnTimestamps) ProtoMessage() {} + +func (x *TxnTimestamps) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TxnTimestamps.ProtoReflect.Descriptor instead. +func (*TxnTimestamps) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{48} +} + +func (x *TxnTimestamps) GetTs() []uint64 { + if x != nil { + return x.Ts + } + return nil +} + +type PeerResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *PeerResponse) Reset() { + *x = PeerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PeerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PeerResponse) ProtoMessage() {} + +func (x *PeerResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PeerResponse.ProtoReflect.Descriptor instead. +func (*PeerResponse) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{49} +} + +func (x *PeerResponse) GetStatus() bool { + if x != nil { + return x.Status + } + return false +} + +type RaftBatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Context *RaftContext `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` + Payload *api.Payload `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` +} + +func (x *RaftBatch) Reset() { + *x = RaftBatch{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RaftBatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RaftBatch) ProtoMessage() {} + +func (x *RaftBatch) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RaftBatch.ProtoReflect.Descriptor instead. +func (*RaftBatch) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{50} +} + +func (x *RaftBatch) GetContext() *RaftContext { + if x != nil { + return x.Context + } + return nil +} + +func (x *RaftBatch) GetPayload() *api.Payload { + if x != nil { + return x.Payload + } + return nil +} + +type TabletResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tablets []*Tablet `protobuf:"bytes,1,rep,name=tablets,proto3" json:"tablets,omitempty"` +} + +func (x *TabletResponse) Reset() { + *x = TabletResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TabletResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TabletResponse) ProtoMessage() {} + +func (x *TabletResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TabletResponse.ProtoReflect.Descriptor instead. +func (*TabletResponse) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{51} +} + +func (x *TabletResponse) GetTablets() []*Tablet { + if x != nil { + return x.Tablets + } + return nil +} + +type TabletRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tablets []*Tablet `protobuf:"bytes,1,rep,name=tablets,proto3" json:"tablets,omitempty"` + GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` +} + +func (x *TabletRequest) Reset() { + *x = TabletRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TabletRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TabletRequest) ProtoMessage() {} + +func (x *TabletRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TabletRequest.ProtoReflect.Descriptor instead. +func (*TabletRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{52} +} + +func (x *TabletRequest) GetTablets() []*Tablet { + if x != nil { + return x.Tablets + } + return nil +} + +func (x *TabletRequest) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +type SubscriptionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Prefixes [][]byte `protobuf:"bytes,1,rep,name=prefixes,proto3" json:"prefixes,omitempty"` + Matches []*pb.Match `protobuf:"bytes,2,rep,name=matches,proto3" json:"matches,omitempty"` +} + +func (x *SubscriptionRequest) Reset() { + *x = SubscriptionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscriptionRequest) ProtoMessage() {} + +func (x *SubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscriptionRequest.ProtoReflect.Descriptor instead. +func (*SubscriptionRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{53} +} + +func (x *SubscriptionRequest) GetPrefixes() [][]byte { + if x != nil { + return x.Prefixes + } + return nil +} + +func (x *SubscriptionRequest) GetMatches() []*pb.Match { + if x != nil { + return x.Matches + } + return nil +} + +type SubscriptionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kvs *pb.KVList `protobuf:"bytes,1,opt,name=kvs,proto3" json:"kvs,omitempty"` +} + +func (x *SubscriptionResponse) Reset() { + *x = SubscriptionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscriptionResponse) ProtoMessage() {} + +func (x *SubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscriptionResponse.ProtoReflect.Descriptor instead. +func (*SubscriptionResponse) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{54} +} + +func (x *SubscriptionResponse) GetKvs() *pb.KVList { + if x != nil { + return x.Kvs + } + return nil +} + +type Num struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val uint64 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` + ReadOnly bool `protobuf:"varint,2,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"` + Forwarded bool `protobuf:"varint,3,opt,name=forwarded,proto3" json:"forwarded,omitempty"` // True if this request was forwarded by a peer. + // If bump is set to true then we bump the lease to val. If false, we assign new ids with count + // equal to val. + Bump bool `protobuf:"varint,5,opt,name=bump,proto3" json:"bump,omitempty"` + Type NumLeaseType `protobuf:"varint,4,opt,name=type,proto3,enum=pb.NumLeaseType" json:"type,omitempty"` +} + +func (x *Num) Reset() { + *x = Num{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Num) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Num) ProtoMessage() {} + +func (x *Num) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Num.ProtoReflect.Descriptor instead. +func (*Num) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{55} +} + +func (x *Num) GetVal() uint64 { + if x != nil { + return x.Val + } + return 0 +} + +func (x *Num) GetReadOnly() bool { + if x != nil { + return x.ReadOnly + } + return false +} + +func (x *Num) GetForwarded() bool { + if x != nil { + return x.Forwarded + } + return false +} + +func (x *Num) GetBump() bool { + if x != nil { + return x.Bump + } + return false +} + +func (x *Num) GetType() NumLeaseType { + if x != nil { + return x.Type + } + return Num_NS_ID +} + +type AssignedIds struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StartId uint64 `protobuf:"varint,1,opt,name=startId,proto3" json:"startId,omitempty"` + EndId uint64 `protobuf:"varint,2,opt,name=endId,proto3" json:"endId,omitempty"` + // The following is used for read only transactions. + ReadOnly uint64 `protobuf:"varint,5,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"` +} + +func (x *AssignedIds) Reset() { + *x = AssignedIds{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AssignedIds) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssignedIds) ProtoMessage() {} + +func (x *AssignedIds) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AssignedIds.ProtoReflect.Descriptor instead. +func (*AssignedIds) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{56} +} + +func (x *AssignedIds) GetStartId() uint64 { + if x != nil { + return x.StartId + } + return 0 +} + +func (x *AssignedIds) GetEndId() uint64 { + if x != nil { + return x.EndId + } + return 0 +} + +func (x *AssignedIds) GetReadOnly() uint64 { + if x != nil { + return x.ReadOnly + } + return 0 +} + +type RemoveNodeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeId uint64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` + GroupId uint32 `protobuf:"varint,2,opt,name=groupId,proto3" json:"groupId,omitempty"` +} + +func (x *RemoveNodeRequest) Reset() { + *x = RemoveNodeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveNodeRequest) ProtoMessage() {} + +func (x *RemoveNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveNodeRequest.ProtoReflect.Descriptor instead. +func (*RemoveNodeRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{57} +} + +func (x *RemoveNodeRequest) GetNodeId() uint64 { + if x != nil { + return x.NodeId + } + return 0 +} + +func (x *RemoveNodeRequest) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +type MoveTabletRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Namespace uint64 `protobuf:"varint,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Tablet string `protobuf:"bytes,2,opt,name=tablet,proto3" json:"tablet,omitempty"` + DstGroup uint32 `protobuf:"varint,3,opt,name=dstGroup,proto3" json:"dstGroup,omitempty"` +} + +func (x *MoveTabletRequest) Reset() { + *x = MoveTabletRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MoveTabletRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MoveTabletRequest) ProtoMessage() {} + +func (x *MoveTabletRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MoveTabletRequest.ProtoReflect.Descriptor instead. +func (*MoveTabletRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{58} +} + +func (x *MoveTabletRequest) GetNamespace() uint64 { + if x != nil { + return x.Namespace + } + return 0 +} + +func (x *MoveTabletRequest) GetTablet() string { + if x != nil { + return x.Tablet + } + return "" +} + +func (x *MoveTabletRequest) GetDstGroup() uint32 { + if x != nil { + return x.DstGroup + } + return 0 +} + +type SnapshotMeta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientTs uint64 `protobuf:"varint,1,opt,name=client_ts,json=clientTs,proto3" json:"client_ts,omitempty"` + GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` +} + +func (x *SnapshotMeta) Reset() { + *x = SnapshotMeta{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotMeta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotMeta) ProtoMessage() {} + +func (x *SnapshotMeta) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotMeta.ProtoReflect.Descriptor instead. +func (*SnapshotMeta) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{59} +} + +func (x *SnapshotMeta) GetClientTs() uint64 { + if x != nil { + return x.ClientTs + } + return 0 +} + +func (x *SnapshotMeta) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +// Status describes a general status response. +// code: 0 = success, 0 != failure. +type Status struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` +} + +func (x *Status) Reset() { + *x = Status{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Status) ProtoMessage() {} + +func (x *Status) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Status.ProtoReflect.Descriptor instead. +func (*Status) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{60} +} + +func (x *Status) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *Status) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +// Backups record all data from since_ts to read_ts. +// With incremental backups, the read_ts of the first backup becomes +// the since_ts of the second backup. +// Incremental backups can be disabled using the force_full field. +type BackupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReadTs uint64 `protobuf:"varint,1,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` + SinceTs uint64 `protobuf:"varint,2,opt,name=since_ts,json=sinceTs,proto3" json:"since_ts,omitempty"` + GroupId uint32 `protobuf:"varint,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + UnixTs string `protobuf:"bytes,4,opt,name=unix_ts,json=unixTs,proto3" json:"unix_ts,omitempty"` + Destination string `protobuf:"bytes,5,opt,name=destination,proto3" json:"destination,omitempty"` + AccessKey string `protobuf:"bytes,6,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` + SecretKey Sensitive `protobuf:"bytes,7,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` + SessionToken Sensitive `protobuf:"bytes,8,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` + // True if no credentials should be used to access the S3 or minio bucket. + // For example, when using a bucket with a public policy. + Anonymous bool `protobuf:"varint,9,opt,name=anonymous,proto3" json:"anonymous,omitempty"` + // The predicates to backup. All other predicates present in the group (e.g + // stale data from a predicate move) will be ignored. + Predicates []string `protobuf:"bytes,10,rep,name=predicates,proto3" json:"predicates,omitempty"` + ForceFull bool `protobuf:"varint,11,opt,name=force_full,json=forceFull,proto3" json:"force_full,omitempty"` +} + +func (x *BackupRequest) Reset() { + *x = BackupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupRequest) ProtoMessage() {} + +func (x *BackupRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupRequest.ProtoReflect.Descriptor instead. +func (*BackupRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{61} +} + +func (x *BackupRequest) GetReadTs() uint64 { + if x != nil { + return x.ReadTs + } + return 0 +} + +func (x *BackupRequest) GetSinceTs() uint64 { + if x != nil { + return x.SinceTs + } + return 0 +} + +func (x *BackupRequest) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +func (x *BackupRequest) GetUnixTs() string { + if x != nil { + return x.UnixTs + } + return "" +} + +func (x *BackupRequest) GetDestination() string { + if x != nil { + return x.Destination + } + return "" +} + +func (x *BackupRequest) GetAccessKey() string { + if x != nil { + return x.AccessKey + } + return "" +} + +func (x *BackupRequest) GetSecretKey() Sensitive { + if x != nil { + return x.SecretKey + } + return "" +} + +func (x *BackupRequest) GetSessionToken() Sensitive { + if x != nil { + return x.SessionToken + } + return "" +} + +func (x *BackupRequest) GetAnonymous() bool { + if x != nil { + return x.Anonymous + } + return false +} + +func (x *BackupRequest) GetPredicates() []string { + if x != nil { + return x.Predicates + } + return nil +} + +func (x *BackupRequest) GetForceFull() bool { + if x != nil { + return x.ForceFull + } + return false +} + +type BackupResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DropOperations []*DropOperation `protobuf:"bytes,1,rep,name=drop_operations,json=dropOperations,proto3" json:"drop_operations,omitempty"` +} + +func (x *BackupResponse) Reset() { + *x = BackupResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupResponse) ProtoMessage() {} + +func (x *BackupResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupResponse.ProtoReflect.Descriptor instead. +func (*BackupResponse) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{62} +} + +func (x *BackupResponse) GetDropOperations() []*DropOperation { + if x != nil { + return x.DropOperations + } + return nil +} + +type DropOperation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DropOp DropOperation_DropOp `protobuf:"varint,1,opt,name=drop_op,json=dropOp,proto3,enum=pb.DropOperation_DropOp" json:"drop_op,omitempty"` + // When drop_op is ATTR, drop_value will be the name of the ATTR; empty + // otherwise. + DropValue string `protobuf:"bytes,2,opt,name=drop_value,json=dropValue,proto3" json:"drop_value,omitempty"` +} + +func (x *DropOperation) Reset() { + *x = DropOperation{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DropOperation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DropOperation) ProtoMessage() {} + +func (x *DropOperation) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DropOperation.ProtoReflect.Descriptor instead. +func (*DropOperation) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{63} +} + +func (x *DropOperation) GetDropOp() DropOperation_DropOp { + if x != nil { + return x.DropOp + } + return DropOperation_ALL +} + +func (x *DropOperation) GetDropValue() string { + if x != nil { + return x.DropValue + } + return "" +} + +type ExportRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` // Group id to back up. + ReadTs uint64 `protobuf:"varint,2,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` + UnixTs int64 `protobuf:"varint,3,opt,name=unix_ts,json=unixTs,proto3" json:"unix_ts,omitempty"` + Format string `protobuf:"bytes,4,opt,name=format,proto3" json:"format,omitempty"` + Destination string `protobuf:"bytes,5,opt,name=destination,proto3" json:"destination,omitempty"` + // These credentials are used to access the S3 or minio bucket. + AccessKey string `protobuf:"bytes,6,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` + SecretKey Sensitive `protobuf:"bytes,7,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` + SessionToken Sensitive `protobuf:"bytes,8,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` + Anonymous bool `protobuf:"varint,9,opt,name=anonymous,proto3" json:"anonymous,omitempty"` + Namespace uint64 `protobuf:"varint,10,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (x *ExportRequest) Reset() { + *x = ExportRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportRequest) ProtoMessage() {} + +func (x *ExportRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportRequest.ProtoReflect.Descriptor instead. +func (*ExportRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{64} +} + +func (x *ExportRequest) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +func (x *ExportRequest) GetReadTs() uint64 { + if x != nil { + return x.ReadTs + } + return 0 +} + +func (x *ExportRequest) GetUnixTs() int64 { + if x != nil { + return x.UnixTs + } + return 0 +} + +func (x *ExportRequest) GetFormat() string { + if x != nil { + return x.Format + } + return "" +} + +func (x *ExportRequest) GetDestination() string { + if x != nil { + return x.Destination + } + return "" +} + +func (x *ExportRequest) GetAccessKey() string { + if x != nil { + return x.AccessKey + } + return "" +} + +func (x *ExportRequest) GetSecretKey() Sensitive { + if x != nil { + return x.SecretKey + } + return "" +} + +func (x *ExportRequest) GetSessionToken() Sensitive { + if x != nil { + return x.SessionToken + } + return "" +} + +func (x *ExportRequest) GetAnonymous() bool { + if x != nil { + return x.Anonymous + } + return false +} + +func (x *ExportRequest) GetNamespace() uint64 { + if x != nil { + return x.Namespace + } + return 0 +} + +type ExportResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 0 indicates a success, and a non-zero code indicates failure + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + Files []string `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"` +} + +func (x *ExportResponse) Reset() { + *x = ExportResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportResponse) ProtoMessage() {} + +func (x *ExportResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportResponse.ProtoReflect.Descriptor instead. +func (*ExportResponse) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{65} +} + +func (x *ExportResponse) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ExportResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ExportResponse) GetFiles() []string { + if x != nil { + return x.Files + } + return nil +} + +// A key stored in the format used for writing backups. +type BackupKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type BackupKey_KeyType `protobuf:"varint,1,opt,name=type,proto3,enum=pb.BackupKey_KeyType" json:"type,omitempty"` + Attr string `protobuf:"bytes,2,opt,name=attr,proto3" json:"attr,omitempty"` + Uid uint64 `protobuf:"varint,3,opt,name=uid,proto3" json:"uid,omitempty"` + StartUid uint64 `protobuf:"varint,4,opt,name=start_uid,json=startUid,proto3" json:"start_uid,omitempty"` + Term []byte `protobuf:"bytes,5,opt,name=term,proto3" json:"term,omitempty"` + Count uint32 `protobuf:"varint,6,opt,name=count,proto3" json:"count,omitempty"` + Namespace uint64 `protobuf:"varint,7,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (x *BackupKey) Reset() { + *x = BackupKey{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupKey) ProtoMessage() {} + +func (x *BackupKey) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupKey.ProtoReflect.Descriptor instead. +func (*BackupKey) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{66} +} + +func (x *BackupKey) GetType() BackupKey_KeyType { + if x != nil { + return x.Type + } + return BackupKey_UNKNOWN +} + +func (x *BackupKey) GetAttr() string { + if x != nil { + return x.Attr + } + return "" +} + +func (x *BackupKey) GetUid() uint64 { + if x != nil { + return x.Uid + } + return 0 +} + +func (x *BackupKey) GetStartUid() uint64 { + if x != nil { + return x.StartUid + } + return 0 +} + +func (x *BackupKey) GetTerm() []byte { + if x != nil { + return x.Term + } + return nil +} + +func (x *BackupKey) GetCount() uint32 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *BackupKey) GetNamespace() uint64 { + if x != nil { + return x.Namespace + } + return 0 +} + +// A posting list stored in the format used for writing backups. +type BackupPostingList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uids []uint64 `protobuf:"varint,1,rep,packed,name=uids,proto3" json:"uids,omitempty"` + Postings []*Posting `protobuf:"bytes,2,rep,name=postings,proto3" json:"postings,omitempty"` + CommitTs uint64 `protobuf:"varint,3,opt,name=commit_ts,json=commitTs,proto3" json:"commit_ts,omitempty"` + Splits []uint64 `protobuf:"varint,4,rep,packed,name=splits,proto3" json:"splits,omitempty"` + UidBytes []byte `protobuf:"bytes,5,opt,name=uid_bytes,json=uidBytes,proto3" json:"uid_bytes,omitempty"` +} + +func (x *BackupPostingList) Reset() { + *x = BackupPostingList{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupPostingList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupPostingList) ProtoMessage() {} + +func (x *BackupPostingList) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupPostingList.ProtoReflect.Descriptor instead. +func (*BackupPostingList) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{67} +} + +func (x *BackupPostingList) GetUids() []uint64 { + if x != nil { + return x.Uids + } + return nil +} + +func (x *BackupPostingList) GetPostings() []*Posting { + if x != nil { + return x.Postings + } + return nil +} + +func (x *BackupPostingList) GetCommitTs() uint64 { + if x != nil { + return x.CommitTs + } + return 0 +} + +func (x *BackupPostingList) GetSplits() []uint64 { + if x != nil { + return x.Splits + } + return nil +} + +func (x *BackupPostingList) GetUidBytes() []byte { + if x != nil { + return x.UidBytes + } + return nil +} + +type UpdateGraphQLSchemaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StartTs uint64 `protobuf:"varint,1,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` + GraphqlSchema string `protobuf:"bytes,2,opt,name=graphql_schema,json=graphqlSchema,proto3" json:"graphql_schema,omitempty"` + DgraphPreds []*SchemaUpdate `protobuf:"bytes,3,rep,name=dgraph_preds,json=dgraphPreds,proto3" json:"dgraph_preds,omitempty"` + DgraphTypes []*TypeUpdate `protobuf:"bytes,4,rep,name=dgraph_types,json=dgraphTypes,proto3" json:"dgraph_types,omitempty"` +} + +func (x *UpdateGraphQLSchemaRequest) Reset() { + *x = UpdateGraphQLSchemaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateGraphQLSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateGraphQLSchemaRequest) ProtoMessage() {} + +func (x *UpdateGraphQLSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateGraphQLSchemaRequest.ProtoReflect.Descriptor instead. +func (*UpdateGraphQLSchemaRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{68} +} + +func (x *UpdateGraphQLSchemaRequest) GetStartTs() uint64 { + if x != nil { + return x.StartTs + } + return 0 +} + +func (x *UpdateGraphQLSchemaRequest) GetGraphqlSchema() string { + if x != nil { + return x.GraphqlSchema + } + return "" +} + +func (x *UpdateGraphQLSchemaRequest) GetDgraphPreds() []*SchemaUpdate { + if x != nil { + return x.DgraphPreds + } + return nil +} + +func (x *UpdateGraphQLSchemaRequest) GetDgraphTypes() []*TypeUpdate { + if x != nil { + return x.DgraphTypes + } + return nil +} + +type UpdateGraphQLSchemaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uid uint64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` +} + +func (x *UpdateGraphQLSchemaResponse) Reset() { + *x = UpdateGraphQLSchemaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateGraphQLSchemaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateGraphQLSchemaResponse) ProtoMessage() {} + +func (x *UpdateGraphQLSchemaResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateGraphQLSchemaResponse.ProtoReflect.Descriptor instead. +func (*UpdateGraphQLSchemaResponse) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{69} +} + +func (x *UpdateGraphQLSchemaResponse) GetUid() uint64 { + if x != nil { + return x.Uid + } + return 0 +} + +// BulkMeta stores metadata from the map phase of the bulk loader. +type BulkMeta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EdgeCount int64 `protobuf:"varint,1,opt,name=edge_count,json=edgeCount,proto3" json:"edge_count,omitempty"` + SchemaMap map[string]*SchemaUpdate `protobuf:"bytes,2,rep,name=schema_map,json=schemaMap,proto3" json:"schema_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Types []*TypeUpdate `protobuf:"bytes,3,rep,name=types,proto3" json:"types,omitempty"` +} + +func (x *BulkMeta) Reset() { + *x = BulkMeta{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BulkMeta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkMeta) ProtoMessage() {} + +func (x *BulkMeta) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkMeta.ProtoReflect.Descriptor instead. +func (*BulkMeta) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{70} +} + +func (x *BulkMeta) GetEdgeCount() int64 { + if x != nil { + return x.EdgeCount + } + return 0 +} + +func (x *BulkMeta) GetSchemaMap() map[string]*SchemaUpdate { + if x != nil { + return x.SchemaMap + } + return nil +} + +func (x *BulkMeta) GetTypes() []*TypeUpdate { + if x != nil { + return x.Types + } + return nil +} + +type DeleteNsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + Namespace uint64 `protobuf:"varint,2,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (x *DeleteNsRequest) Reset() { + *x = DeleteNsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNsRequest) ProtoMessage() {} + +func (x *DeleteNsRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNsRequest.ProtoReflect.Descriptor instead. +func (*DeleteNsRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{71} +} + +func (x *DeleteNsRequest) GetGroupId() uint32 { + if x != nil { + return x.GroupId + } + return 0 +} + +func (x *DeleteNsRequest) GetNamespace() uint64 { + if x != nil { + return x.Namespace + } + return 0 +} + +type TaskStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TaskId uint64 `protobuf:"varint,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` +} + +func (x *TaskStatusRequest) Reset() { + *x = TaskStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TaskStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskStatusRequest) ProtoMessage() {} + +func (x *TaskStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskStatusRequest.ProtoReflect.Descriptor instead. +func (*TaskStatusRequest) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{72} +} + +func (x *TaskStatusRequest) GetTaskId() uint64 { + if x != nil { + return x.TaskId + } + return 0 +} + +type TaskStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TaskMeta uint64 `protobuf:"varint,1,opt,name=task_meta,json=taskMeta,proto3" json:"task_meta,omitempty"` +} + +func (x *TaskStatusResponse) Reset() { + *x = TaskStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TaskStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskStatusResponse) ProtoMessage() {} + +func (x *TaskStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskStatusResponse.ProtoReflect.Descriptor instead. +func (*TaskStatusResponse) Descriptor() ([]byte, []int) { + return file_pb_proto_rawDescGZIP(), []int{73} +} + +func (x *TaskStatusResponse) GetTaskMeta() uint64 { + if x != nil { + return x.TaskMeta + } + return 0 +} + +var File_pb_proto protoreflect.FileDescriptor + +var file_pb_proto_rawDesc = []byte{ + 0x0a, 0x08, 0x70, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x2e, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x2d, 0x69, 0x6f, 0x2f, 0x64, 0x67, 0x6f, 0x2f, 0x76, 0x32, 0x35, 0x30, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x2d, 0x69, 0x6f, 0x2f, 0x62, 0x61, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x34, 0x2f, 0x70, + 0x62, 0x2f, 0x70, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x06, 0x52, 0x04, 0x75, 0x69, 0x64, 0x73, 0x22, 0x4d, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, + 0x76, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x0b, 0x53, 0x72, 0x63, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xde, 0x03, 0x0a, 0x05, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x08, 0x61, 0x66, 0x74, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x6f, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x6f, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x07, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x73, 0x72, 0x63, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, + 0x2e, 0x53, 0x72, 0x63, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x72, + 0x63, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x12, + 0x30, 0x0a, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0a, 0x66, 0x61, 0x63, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x12, 0x33, 0x0a, 0x0d, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x73, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x54, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, + 0x61, 0x63, 0x68, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x12, 0x25, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x32, 0x0a, 0x09, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x73, 0x6b, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x1e, 0x0a, + 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, + 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x22, 0xa0, 0x03, + 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x75, 0x69, 0x64, 0x5f, + 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, + 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x75, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x12, 0x30, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, + 0x72, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x44, 0x65, + 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x72, + 0x69, 0x78, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x61, + 0x63, 0x65, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x74, 0x4d, + 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x2d, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, + 0x4c, 0x61, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0a, 0x6c, 0x61, 0x6e, 0x67, 0x4d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x76, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0d, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x40, + 0x0a, 0x12, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x45, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x74, 0x74, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x65, 0x73, + 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x0b, 0x53, 0x6f, 0x72, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0a, 0x75, 0x69, 0x64, 0x5f, + 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, + 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x75, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, + 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x54, 0x73, 0x22, 0x35, 0x0a, 0x0a, 0x53, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x75, 0x69, 0x64, 0x5f, 0x6d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x75, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x22, + 0x87, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, + 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x69, 0x73, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x22, 0xfe, 0x01, 0x0a, 0x06, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, + 0x64, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, + 0x44, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x6d, 0x44, 0x65, + 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0xdd, 0x02, 0x0a, 0x05, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x73, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, + 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x0c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x04, 0x0a, 0x0c, 0x5a, + 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x41, 0x0a, 0x0b, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x5a, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x61, 0x6c, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x73, 0x12, 0x22, + 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, + 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x22, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x06, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x55, 0x49, 0x44, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x55, 0x49, 0x44, 0x12, 0x1a, + 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x54, 0x78, 0x6e, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x6d, 0x61, 0x78, 0x54, 0x78, 0x6e, 0x54, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, + 0x78, 0x4e, 0x73, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x78, + 0x4e, 0x73, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x66, 0x74, 0x49, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x66, 0x74, + 0x49, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x74, 0x78, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x52, 0x03, 0x74, 0x78, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x5a, + 0x65, 0x72, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x30, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, + 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, 0x12, 0x24, 0x0a, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x1a, 0x3d, 0x0a, + 0x0f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x08, + 0x10, 0x09, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x22, 0xd0, 0x03, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, + 0x34, 0x0a, 0x05, 0x7a, 0x65, 0x72, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x2e, 0x5a, 0x65, 0x72, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, + 0x7a, 0x65, 0x72, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x55, 0x49, 0x44, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x55, 0x49, 0x44, 0x12, 0x1a, 0x0a, + 0x08, 0x6d, 0x61, 0x78, 0x54, 0x78, 0x6e, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x6d, 0x61, 0x78, 0x54, 0x78, 0x6e, 0x54, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, + 0x4e, 0x73, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x4e, + 0x73, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x66, 0x74, 0x49, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x66, 0x74, 0x49, + 0x64, 0x12, 0x24, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x1a, 0x44, 0x0a, 0x0b, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x44, 0x0a, 0x0a, 0x5a, 0x65, 0x72, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, + 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0x81, 0x01, 0x0a, 0x0f, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x22, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, + 0xb8, 0x02, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, + 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, + 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x70, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x63, 0x68, 0x6f, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x63, 0x68, 0x6f, + 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x65, 0x5f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, + 0x61, 0x78, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0xf5, 0x01, 0x0a, 0x06, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x6e, 0x44, 0x69, + 0x73, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, + 0x6f, 0x76, 0x65, 0x54, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x6f, 0x76, + 0x65, 0x54, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x11, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x0c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, + 0x64, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, + 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x45, 0x64, 0x67, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x22, 0x0a, + 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, + 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x72, 0x65, 0x64, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x50, 0x72, 0x65, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x22, 0x1f, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, + 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4f, + 0x56, 0x52, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0xf1, 0x02, 0x0a, 0x09, 0x4d, + 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x26, + 0x0a, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x70, 0x62, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x64, 0x67, 0x65, 0x52, + 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x12, 0x24, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, + 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x52, 0x06, 0x64, + 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3e, + 0x0a, 0x06, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, + 0x41, 0x54, 0x41, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x59, 0x50, 0x45, 0x10, 0x03, 0x12, + 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4e, 0x5f, 0x4e, 0x53, 0x10, 0x04, 0x22, 0xca, + 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x0a, 0x70, + 0x72, 0x65, 0x64, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, + 0x65, 0x64, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x72, + 0x65, 0x64, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x53, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x64, 0x48, + 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2d, 0x0a, 0x08, + 0x48, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, + 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x10, + 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x22, 0x93, 0x01, 0x0a, 0x08, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x29, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, + 0x61, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, + 0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, + 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x54, + 0x73, 0x22, 0x74, 0x0a, 0x0c, 0x5a, 0x65, 0x72, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x73, 0x12, 0x29, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, + 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xdb, 0x05, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x5f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x54, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x12, 0x2e, + 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2a, 0x0a, + 0x11, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x69, 0x64, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x52, + 0x6f, 0x6c, 0x65, 0x69, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x69, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x69, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, + 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, + 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x69, + 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x66, 0x72, + 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x69, + 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xc5, 0x04, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x1d, 0x0a, 0x02, 0x6b, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x62, 0x61, + 0x64, 0x67, 0x65, 0x72, 0x70, 0x62, 0x34, 0x2e, 0x4b, 0x56, 0x52, 0x02, 0x6b, 0x76, 0x12, 0x29, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, 0x6c, + 0x74, 0x61, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x08, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x09, 0x63, 0x64, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x44, 0x43, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x63, 0x64, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x30, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x59, 0x0a, 0x12, + 0x65, 0x78, 0x74, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x65, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x22, 0x23, 0x0a, + 0x08, 0x43, 0x44, 0x43, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x65, 0x6e, + 0x74, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x74, + 0x54, 0x73, 0x22, 0x63, 0x0a, 0x03, 0x4b, 0x56, 0x53, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, + 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x80, 0x04, 0x0a, 0x07, 0x50, 0x6f, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x76, + 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, + 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x70, + 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x70, 0x6f, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x5f, + 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x12, 0x22, 0x0a, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, + 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x73, 0x22, 0xa0, + 0x01, 0x0a, 0x07, 0x56, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, + 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, + 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, + 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, + 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x05, 0x12, + 0x07, 0x0a, 0x03, 0x47, 0x45, 0x4f, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x49, 0x44, 0x10, + 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x08, 0x12, + 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x0a, 0x0a, 0x06, 0x4f, + 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x0a, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x49, 0x47, 0x46, 0x4c, + 0x4f, 0x41, 0x54, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x56, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, + 0x0c, 0x22, 0x31, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x07, 0x0a, 0x03, 0x52, 0x45, 0x46, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x41, 0x4c, + 0x55, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x41, + 0x4e, 0x47, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x51, 0x0a, 0x08, 0x55, 0x69, + 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, + 0x6c, 0x74, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x74, + 0x61, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x69, 0x64, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x55, 0x69, 0x64, 0x73, 0x22, 0x6b, 0x0a, + 0x07, 0x55, 0x69, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x69, 0x64, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x17, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x52, 0x65, 0x66, 0x22, 0x8c, 0x01, 0x0a, 0x0b, 0x50, + 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x61, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x69, + 0x64, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x04, 0x70, 0x61, 0x63, 0x6b, 0x12, 0x27, 0x0a, 0x08, 0x70, + 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x04, 0x52, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x0a, 0x46, 0x61, 0x63, + 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x22, + 0x4e, 0x0a, 0x0b, 0x46, 0x61, 0x63, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x19, + 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x61, + 0x63, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, + 0x2c, 0x0a, 0x06, 0x46, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x66, 0x61, 0x63, + 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x22, 0x39, 0x0a, + 0x0a, 0x46, 0x61, 0x63, 0x65, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0b, 0x66, + 0x61, 0x63, 0x65, 0x74, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x73, 0x52, 0x0a, 0x66, 0x61, + 0x63, 0x65, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x44, 0x0a, 0x08, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x6a, + 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x2a, 0x0a, 0x08, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x08, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x22, 0x78, 0x0a, 0x0d, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, + 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x76, + 0x65, 0x72, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x76, 0x65, + 0x72, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x6e, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, + 0x69, 0x71, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0a, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x53, 0x70, 0x65, 0x63, 0x73, 0x22, 0x3a, 0x0a, 0x0c, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x22, 0xc1, 0x04, 0x0a, 0x0c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x73, + 0x65, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x6e, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6e, 0x6f, 0x6e, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6e, 0x6f, 0x6e, + 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6e, 0x6f, 0x43, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, + 0x62, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x70, 0x65, 0x63, 0x73, 0x22, 0x39, 0x0a, + 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x01, 0x12, + 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, + 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x52, 0x08, + 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x22, 0x4f, 0x0a, 0x0f, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, + 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x34, 0x0a, 0x0a, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x53, 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x09, 0x4d, 0x61, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x14, 0x4d, 0x6f, 0x76, + 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x69, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x67, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x64, 0x65, 0x73, 0x74, 0x47, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x6e, + 0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x78, 0x6e, 0x54, 0x73, + 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x65, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x43, 0x0a, + 0x09, 0x54, 0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x54, 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x0b, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, 0x6c, + 0x74, 0x61, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x78, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x04, 0x74, 0x78, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, 0x6c, + 0x74, 0x61, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1f, 0x0a, 0x0d, 0x54, 0x78, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x02, 0x74, 0x73, 0x22, 0x26, 0x0a, 0x0c, 0x50, 0x65, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x5e, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x29, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x22, 0x36, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x50, 0x0a, 0x0d, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x07, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, + 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x13, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, + 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x62, 0x61, 0x64, 0x67, 0x65, 0x72, 0x70, 0x62, 0x34, 0x2e, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0x3b, 0x0a, 0x14, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x6b, 0x76, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x62, 0x61, 0x64, 0x67, 0x65, 0x72, 0x70, 0x62, 0x34, 0x2e, 0x4b, 0x56, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x03, 0x6b, 0x76, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x03, 0x4e, 0x75, 0x6d, + 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, + 0x1c, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x62, 0x75, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 0x75, 0x6d, + 0x70, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x75, 0x6d, 0x2e, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x53, 0x5f, 0x49, 0x44, 0x10, 0x00, + 0x12, 0x07, 0x0a, 0x03, 0x55, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x58, 0x4e, + 0x5f, 0x54, 0x53, 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x0b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x49, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, + 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, + 0x79, 0x22, 0x45, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x11, 0x4d, 0x6f, 0x76, 0x65, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, + 0x46, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, + 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xd9, 0x02, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, + 0x54, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x54, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x78, + 0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x78, 0x54, + 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, + 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, + 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, + 0x6f, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, + 0x6d, 0x6f, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x75, + 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x46, + 0x75, 0x6c, 0x6c, 0x22, 0x4c, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x90, 0x01, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x52, 0x06, + 0x64, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x72, 0x6f, 0x70, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2d, 0x0a, 0x06, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x70, 0x12, + 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x41, + 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x54, 0x54, 0x52, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, + 0x4e, 0x53, 0x10, 0x03, 0x22, 0xb5, 0x02, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, + 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x54, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x6e, + 0x69, 0x78, 0x5f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x6e, 0x69, + 0x78, 0x54, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x0e, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xab, 0x02, 0x0a, 0x09, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x4b, 0x65, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x68, + 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x41, 0x10, 0x01, + 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, + 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x56, + 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x06, 0x12, 0x08, + 0x0a, 0x04, 0x54, 0x59, 0x50, 0x45, 0x10, 0x07, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x04, 0x75, 0x69, + 0x64, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x70, 0x6c, 0x69, + 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x69, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x08, 0x75, 0x69, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xc6, 0x01, + 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x71, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x33, + 0x0a, 0x0c, 0x64, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x64, 0x67, 0x72, 0x61, 0x70, 0x68, 0x50, 0x72, + 0x65, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x64, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x54, + 0x79, 0x70, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x64, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x08, 0x42, 0x75, 0x6c, 0x6b, + 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6d, 0x61, + 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x75, 0x6c, + 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x12, + 0x24, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x4e, 0x0a, 0x0e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, + 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x22, 0x2c, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, + 0x31, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4d, 0x65, + 0x74, 0x61, 0x32, 0xc4, 0x01, 0x0a, 0x04, 0x52, 0x61, 0x66, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x48, + 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x30, 0x01, 0x12, 0x2e, 0x0a, 0x0b, 0x52, 0x61, + 0x66, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x52, + 0x61, 0x66, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x00, 0x28, 0x01, 0x12, 0x2e, 0x0a, 0x0b, 0x4a, 0x6f, + 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, + 0x61, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x06, 0x49, 0x73, + 0x50, 0x65, 0x65, 0x72, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0xfd, 0x04, 0x0a, 0x04, 0x5a, 0x65, + 0x72, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x0a, 0x2e, + 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x00, + 0x12, 0x2d, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x68, 0x69, 0x70, 0x12, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, + 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x00, 0x12, + 0x39, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x68, 0x69, 0x70, 0x12, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x1a, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x2b, 0x0a, 0x06, 0x4f, 0x72, + 0x61, 0x63, 0x6c, 0x65, 0x12, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, + 0x6c, 0x74, 0x61, 0x22, 0x00, 0x30, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x75, 0x6c, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x12, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0x00, + 0x12, 0x31, 0x0a, 0x06, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, + 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x27, 0x0a, 0x09, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x73, + 0x12, 0x07, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x75, 0x6d, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x64, 0x73, 0x22, 0x00, 0x12, 0x28, 0x0a, 0x0a, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x07, 0x2e, 0x70, 0x62, 0x2e, + 0x4e, 0x75, 0x6d, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x49, 0x64, 0x73, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x4f, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, + 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x08, 0x54, + 0x72, 0x79, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x78, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, + 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x00, 0x12, 0x34, 0x0a, + 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x0a, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x32, 0xa6, 0x07, 0x0a, 0x06, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, + 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x0f, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, + 0x12, 0x24, 0x0a, 0x09, 0x53, 0x65, 0x72, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x09, 0x2e, + 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0x07, 0x2e, 0x70, 0x62, 0x2e, 0x4b, 0x56, 0x53, 0x22, + 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x29, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x0f, 0x2e, + 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x0e, + 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, + 0x12, 0x2f, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, + 0x70, 0x62, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, + 0x00, 0x12, 0x31, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x2e, 0x70, 0x62, + 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, + 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x2b, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, + 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x00, 0x12, 0x31, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x11, 0x2e, 0x70, 0x62, + 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, + 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x07, 0x2e, 0x70, 0x62, 0x2e, 0x4b, 0x56, + 0x53, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, + 0x00, 0x28, 0x01, 0x12, 0x39, 0x0a, 0x0d, 0x4d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x0c, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x00, 0x12, 0x3b, + 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, + 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x62, 0x61, 0x64, 0x67, 0x65, 0x72, 0x70, 0x62, 0x34, + 0x2e, 0x4b, 0x56, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x58, 0x0a, 0x13, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, + 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x54, + 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x54, + 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x1f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x1d, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, + 0x30, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_pb_proto_rawDescOnce sync.Once + file_pb_proto_rawDescData = file_pb_proto_rawDesc +) + +func file_pb_proto_rawDescGZIP() []byte { + file_pb_proto_rawDescOnce.Do(func() { + file_pb_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_proto_rawDescData) + }) + return file_pb_proto_rawDescData +} + +var file_pb_proto_enumTypes = make([]protoimpl.EnumInfo, 9) +var file_pb_proto_msgTypes = make([]protoimpl.MessageInfo, 83) +var file_pb_proto_goTypes = []interface{}{ + (DirectedEdge_Op)(0), // 0: pb.DirectedEdge.Op + (Mutations_DropOp)(0), // 1: pb.Mutations.DropOp + (Metadata_HintType)(0), // 2: pb.Metadata.HintType + (Posting_ValType)(0), // 3: pb.Posting.ValType + (Posting_PostingType)(0), // 4: pb.Posting.PostingType + (SchemaUpdate_Directive)(0), // 5: pb.SchemaUpdate.Directive + (NumLeaseType)(0), // 6: pb.Num.leaseType + (DropOperation_DropOp)(0), // 7: pb.DropOperation.DropOp + (BackupKey_KeyType)(0), // 8: pb.BackupKey.KeyType + (*List)(nil), // 9: pb.List + (*TaskValue)(nil), // 10: pb.TaskValue + (*SrcFunction)(nil), // 11: pb.SrcFunction + (*Query)(nil), // 12: pb.Query + (*ValueList)(nil), // 13: pb.ValueList + (*LangList)(nil), // 14: pb.LangList + (*Result)(nil), // 15: pb.Result + (*Order)(nil), // 16: pb.Order + (*SortMessage)(nil), // 17: pb.SortMessage + (*SortResult)(nil), // 18: pb.SortResult + (*RaftContext)(nil), // 19: pb.RaftContext + (*Member)(nil), // 20: pb.Member + (*Group)(nil), // 21: pb.Group + (*ZeroProposal)(nil), // 22: pb.ZeroProposal + (*MembershipState)(nil), // 23: pb.MembershipState + (*ConnectionState)(nil), // 24: pb.ConnectionState + (*HealthInfo)(nil), // 25: pb.HealthInfo + (*Tablet)(nil), // 26: pb.Tablet + (*DirectedEdge)(nil), // 27: pb.DirectedEdge + (*Mutations)(nil), // 28: pb.Mutations + (*Metadata)(nil), // 29: pb.Metadata + (*Snapshot)(nil), // 30: pb.Snapshot + (*ZeroSnapshot)(nil), // 31: pb.ZeroSnapshot + (*RestoreRequest)(nil), // 32: pb.RestoreRequest + (*Proposal)(nil), // 33: pb.Proposal + (*CDCState)(nil), // 34: pb.CDCState + (*KVS)(nil), // 35: pb.KVS + (*Posting)(nil), // 36: pb.Posting + (*UidBlock)(nil), // 37: pb.UidBlock + (*UidPack)(nil), // 38: pb.UidPack + (*PostingList)(nil), // 39: pb.PostingList + (*FacetParam)(nil), // 40: pb.FacetParam + (*FacetParams)(nil), // 41: pb.FacetParams + (*Facets)(nil), // 42: pb.Facets + (*FacetsList)(nil), // 43: pb.FacetsList + (*Function)(nil), // 44: pb.Function + (*FilterTree)(nil), // 45: pb.FilterTree + (*SchemaRequest)(nil), // 46: pb.SchemaRequest + (*SchemaNode)(nil), // 47: pb.SchemaNode + (*SchemaResult)(nil), // 48: pb.SchemaResult + (*SchemaUpdate)(nil), // 49: pb.SchemaUpdate + (*VectorIndexSpec)(nil), // 50: pb.VectorIndexSpec + (*OptionPair)(nil), // 51: pb.OptionPair + (*TypeUpdate)(nil), // 52: pb.TypeUpdate + (*MapHeader)(nil), // 53: pb.MapHeader + (*MovePredicatePayload)(nil), // 54: pb.MovePredicatePayload + (*TxnStatus)(nil), // 55: pb.TxnStatus + (*OracleDelta)(nil), // 56: pb.OracleDelta + (*TxnTimestamps)(nil), // 57: pb.TxnTimestamps + (*PeerResponse)(nil), // 58: pb.PeerResponse + (*RaftBatch)(nil), // 59: pb.RaftBatch + (*TabletResponse)(nil), // 60: pb.TabletResponse + (*TabletRequest)(nil), // 61: pb.TabletRequest + (*SubscriptionRequest)(nil), // 62: pb.SubscriptionRequest + (*SubscriptionResponse)(nil), // 63: pb.SubscriptionResponse + (*Num)(nil), // 64: pb.Num + (*AssignedIds)(nil), // 65: pb.AssignedIds + (*RemoveNodeRequest)(nil), // 66: pb.RemoveNodeRequest + (*MoveTabletRequest)(nil), // 67: pb.MoveTabletRequest + (*SnapshotMeta)(nil), // 68: pb.SnapshotMeta + (*Status)(nil), // 69: pb.Status + (*BackupRequest)(nil), // 70: pb.BackupRequest + (*BackupResponse)(nil), // 71: pb.BackupResponse + (*DropOperation)(nil), // 72: pb.DropOperation + (*ExportRequest)(nil), // 73: pb.ExportRequest + (*ExportResponse)(nil), // 74: pb.ExportResponse + (*BackupKey)(nil), // 75: pb.BackupKey + (*BackupPostingList)(nil), // 76: pb.BackupPostingList + (*UpdateGraphQLSchemaRequest)(nil), // 77: pb.UpdateGraphQLSchemaRequest + (*UpdateGraphQLSchemaResponse)(nil), // 78: pb.UpdateGraphQLSchemaResponse + (*BulkMeta)(nil), // 79: pb.BulkMeta + (*DeleteNsRequest)(nil), // 80: pb.DeleteNsRequest + (*TaskStatusRequest)(nil), // 81: pb.TaskStatusRequest + (*TaskStatusResponse)(nil), // 82: pb.TaskStatusResponse + nil, // 83: pb.Result.VectorMetricsEntry + nil, // 84: pb.Group.MembersEntry + nil, // 85: pb.Group.TabletsEntry + nil, // 86: pb.ZeroProposal.SnapshotTsEntry + nil, // 87: pb.MembershipState.GroupsEntry + nil, // 88: pb.MembershipState.ZerosEntry + nil, // 89: pb.Metadata.PredHintsEntry + nil, // 90: pb.OracleDelta.GroupChecksumsEntry + nil, // 91: pb.BulkMeta.SchemaMapEntry + (*api.TxnContext)(nil), // 92: api.TxnContext + (*api.Facet)(nil), // 93: api.Facet + (*pb.KV)(nil), // 94: badgerpb4.KV + (*api.UpdateExtSnapshotStreamingStateRequest)(nil), // 95: api.Request + (*api.Payload)(nil), // 96: api.Payload + (*pb.Match)(nil), // 97: badgerpb4.Match + (*pb.KVList)(nil), // 98: badgerpb4.KVList + (*api.StreamExtSnapshotRequest)(nil), // 99: api.StreamExtSnapshotRequest + (*api.StreamExtSnapshotResponse)(nil), // 100: api.StreamExtSnapshotResponse +} +var file_pb_proto_depIdxs = []int32{ + 3, // 0: pb.TaskValue.val_type:type_name -> pb.Posting.ValType + 9, // 1: pb.Query.uid_list:type_name -> pb.List + 11, // 2: pb.Query.src_func:type_name -> pb.SrcFunction + 41, // 3: pb.Query.facet_param:type_name -> pb.FacetParams + 45, // 4: pb.Query.facets_filter:type_name -> pb.FilterTree + 17, // 5: pb.Query.order:type_name -> pb.SortMessage + 10, // 6: pb.ValueList.values:type_name -> pb.TaskValue + 9, // 7: pb.Result.uid_matrix:type_name -> pb.List + 13, // 8: pb.Result.value_matrix:type_name -> pb.ValueList + 43, // 9: pb.Result.facet_matrix:type_name -> pb.FacetsList + 14, // 10: pb.Result.lang_matrix:type_name -> pb.LangList + 83, // 11: pb.Result.vector_metrics:type_name -> pb.Result.VectorMetricsEntry + 16, // 12: pb.SortMessage.order:type_name -> pb.Order + 9, // 13: pb.SortMessage.uid_matrix:type_name -> pb.List + 9, // 14: pb.SortResult.uid_matrix:type_name -> pb.List + 84, // 15: pb.Group.members:type_name -> pb.Group.MembersEntry + 85, // 16: pb.Group.tablets:type_name -> pb.Group.TabletsEntry + 86, // 17: pb.ZeroProposal.snapshot_ts:type_name -> pb.ZeroProposal.SnapshotTsEntry + 20, // 18: pb.ZeroProposal.member:type_name -> pb.Member + 26, // 19: pb.ZeroProposal.tablet:type_name -> pb.Tablet + 92, // 20: pb.ZeroProposal.txn:type_name -> api.TxnContext + 31, // 21: pb.ZeroProposal.snapshot:type_name -> pb.ZeroSnapshot + 80, // 22: pb.ZeroProposal.delete_ns:type_name -> pb.DeleteNsRequest + 26, // 23: pb.ZeroProposal.tablets:type_name -> pb.Tablet + 87, // 24: pb.MembershipState.groups:type_name -> pb.MembershipState.GroupsEntry + 88, // 25: pb.MembershipState.zeros:type_name -> pb.MembershipState.ZerosEntry + 20, // 26: pb.MembershipState.removed:type_name -> pb.Member + 20, // 27: pb.ConnectionState.member:type_name -> pb.Member + 23, // 28: pb.ConnectionState.state:type_name -> pb.MembershipState + 3, // 29: pb.DirectedEdge.value_type:type_name -> pb.Posting.ValType + 0, // 30: pb.DirectedEdge.op:type_name -> pb.DirectedEdge.Op + 93, // 31: pb.DirectedEdge.facets:type_name -> api.Facet + 27, // 32: pb.Mutations.edges:type_name -> pb.DirectedEdge + 49, // 33: pb.Mutations.schema:type_name -> pb.SchemaUpdate + 52, // 34: pb.Mutations.types:type_name -> pb.TypeUpdate + 1, // 35: pb.Mutations.drop_op:type_name -> pb.Mutations.DropOp + 29, // 36: pb.Mutations.metadata:type_name -> pb.Metadata + 89, // 37: pb.Metadata.pred_hints:type_name -> pb.Metadata.PredHintsEntry + 19, // 38: pb.Snapshot.context:type_name -> pb.RaftContext + 23, // 39: pb.ZeroSnapshot.state:type_name -> pb.MembershipState + 28, // 40: pb.Proposal.mutations:type_name -> pb.Mutations + 94, // 41: pb.Proposal.kv:type_name -> badgerpb4.KV + 23, // 42: pb.Proposal.state:type_name -> pb.MembershipState + 56, // 43: pb.Proposal.delta:type_name -> pb.OracleDelta + 30, // 44: pb.Proposal.snapshot:type_name -> pb.Snapshot + 32, // 45: pb.Proposal.restore:type_name -> pb.RestoreRequest + 34, // 46: pb.Proposal.cdc_state:type_name -> pb.CDCState + 80, // 47: pb.Proposal.delete_ns:type_name -> pb.DeleteNsRequest + 95, // 48: pb.Proposal.ext_snapshot_state:type_name -> api.UpdateExtSnapshotStreamingStateRequest + 3, // 49: pb.Posting.val_type:type_name -> pb.Posting.ValType + 4, // 50: pb.Posting.posting_type:type_name -> pb.Posting.PostingType + 93, // 51: pb.Posting.facets:type_name -> api.Facet + 37, // 52: pb.UidPack.blocks:type_name -> pb.UidBlock + 38, // 53: pb.PostingList.pack:type_name -> pb.UidPack + 36, // 54: pb.PostingList.postings:type_name -> pb.Posting + 40, // 55: pb.FacetParams.param:type_name -> pb.FacetParam + 93, // 56: pb.Facets.facets:type_name -> api.Facet + 42, // 57: pb.FacetsList.facets_list:type_name -> pb.Facets + 45, // 58: pb.FilterTree.children:type_name -> pb.FilterTree + 44, // 59: pb.FilterTree.func:type_name -> pb.Function + 50, // 60: pb.SchemaNode.index_specs:type_name -> pb.VectorIndexSpec + 47, // 61: pb.SchemaResult.schema:type_name -> pb.SchemaNode + 3, // 62: pb.SchemaUpdate.value_type:type_name -> pb.Posting.ValType + 5, // 63: pb.SchemaUpdate.directive:type_name -> pb.SchemaUpdate.Directive + 50, // 64: pb.SchemaUpdate.index_specs:type_name -> pb.VectorIndexSpec + 51, // 65: pb.VectorIndexSpec.options:type_name -> pb.OptionPair + 49, // 66: pb.TypeUpdate.fields:type_name -> pb.SchemaUpdate + 55, // 67: pb.OracleDelta.txns:type_name -> pb.TxnStatus + 90, // 68: pb.OracleDelta.group_checksums:type_name -> pb.OracleDelta.GroupChecksumsEntry + 19, // 69: pb.RaftBatch.context:type_name -> pb.RaftContext + 96, // 70: pb.RaftBatch.payload:type_name -> api.Payload + 26, // 71: pb.TabletResponse.tablets:type_name -> pb.Tablet + 26, // 72: pb.TabletRequest.tablets:type_name -> pb.Tablet + 97, // 73: pb.SubscriptionRequest.matches:type_name -> badgerpb4.Match + 98, // 74: pb.SubscriptionResponse.kvs:type_name -> badgerpb4.KVList + 6, // 75: pb.Num.type:type_name -> pb.Num.leaseType + 72, // 76: pb.BackupResponse.drop_operations:type_name -> pb.DropOperation + 7, // 77: pb.DropOperation.drop_op:type_name -> pb.DropOperation.DropOp + 8, // 78: pb.BackupKey.type:type_name -> pb.BackupKey.KeyType + 36, // 79: pb.BackupPostingList.postings:type_name -> pb.Posting + 49, // 80: pb.UpdateGraphQLSchemaRequest.dgraph_preds:type_name -> pb.SchemaUpdate + 52, // 81: pb.UpdateGraphQLSchemaRequest.dgraph_types:type_name -> pb.TypeUpdate + 91, // 82: pb.BulkMeta.schema_map:type_name -> pb.BulkMeta.SchemaMapEntry + 52, // 83: pb.BulkMeta.types:type_name -> pb.TypeUpdate + 20, // 84: pb.Group.MembersEntry.value:type_name -> pb.Member + 26, // 85: pb.Group.TabletsEntry.value:type_name -> pb.Tablet + 21, // 86: pb.MembershipState.GroupsEntry.value:type_name -> pb.Group + 20, // 87: pb.MembershipState.ZerosEntry.value:type_name -> pb.Member + 2, // 88: pb.Metadata.PredHintsEntry.value:type_name -> pb.Metadata.HintType + 49, // 89: pb.BulkMeta.SchemaMapEntry.value:type_name -> pb.SchemaUpdate + 96, // 90: pb.Raft.Heartbeat:input_type -> api.Payload + 59, // 91: pb.Raft.RaftMessage:input_type -> pb.RaftBatch + 19, // 92: pb.Raft.JoinCluster:input_type -> pb.RaftContext + 19, // 93: pb.Raft.IsPeer:input_type -> pb.RaftContext + 20, // 94: pb.Zero.Connect:input_type -> pb.Member + 21, // 95: pb.Zero.UpdateMembership:input_type -> pb.Group + 96, // 96: pb.Zero.StreamMembership:input_type -> api.Payload + 96, // 97: pb.Zero.Oracle:input_type -> api.Payload + 26, // 98: pb.Zero.ShouldServe:input_type -> pb.Tablet + 61, // 99: pb.Zero.Inform:input_type -> pb.TabletRequest + 64, // 100: pb.Zero.AssignIds:input_type -> pb.Num + 64, // 101: pb.Zero.Timestamps:input_type -> pb.Num + 92, // 102: pb.Zero.CommitOrAbort:input_type -> api.TxnContext + 57, // 103: pb.Zero.TryAbort:input_type -> pb.TxnTimestamps + 80, // 104: pb.Zero.DeleteNamespace:input_type -> pb.DeleteNsRequest + 66, // 105: pb.Zero.RemoveNode:input_type -> pb.RemoveNodeRequest + 67, // 106: pb.Zero.MoveTablet:input_type -> pb.MoveTabletRequest + 28, // 107: pb.Worker.Mutate:input_type -> pb.Mutations + 12, // 108: pb.Worker.ServeTask:input_type -> pb.Query + 30, // 109: pb.Worker.StreamSnapshot:input_type -> pb.Snapshot + 17, // 110: pb.Worker.Sort:input_type -> pb.SortMessage + 46, // 111: pb.Worker.Schema:input_type -> pb.SchemaRequest + 70, // 112: pb.Worker.Backup:input_type -> pb.BackupRequest + 32, // 113: pb.Worker.Restore:input_type -> pb.RestoreRequest + 73, // 114: pb.Worker.Export:input_type -> pb.ExportRequest + 35, // 115: pb.Worker.ReceivePredicate:input_type -> pb.KVS + 54, // 116: pb.Worker.MovePredicate:input_type -> pb.MovePredicatePayload + 62, // 117: pb.Worker.Subscribe:input_type -> pb.SubscriptionRequest + 77, // 118: pb.Worker.UpdateGraphQLSchema:input_type -> pb.UpdateGraphQLSchemaRequest + 80, // 119: pb.Worker.DeleteNamespace:input_type -> pb.DeleteNsRequest + 81, // 120: pb.Worker.TaskStatus:input_type -> pb.TaskStatusRequest + 95, // 121: pb.Worker.UpdateExtSnapshotStreamingState:input_type -> api.UpdateExtSnapshotStreamingStateRequest + 99, // 122: pb.Worker.StreamExtSnapshot:input_type -> api.StreamExtSnapshotRequest + 25, // 123: pb.Raft.Heartbeat:output_type -> pb.HealthInfo + 96, // 124: pb.Raft.RaftMessage:output_type -> api.Payload + 96, // 125: pb.Raft.JoinCluster:output_type -> api.Payload + 58, // 126: pb.Raft.IsPeer:output_type -> pb.PeerResponse + 24, // 127: pb.Zero.Connect:output_type -> pb.ConnectionState + 96, // 128: pb.Zero.UpdateMembership:output_type -> api.Payload + 23, // 129: pb.Zero.StreamMembership:output_type -> pb.MembershipState + 56, // 130: pb.Zero.Oracle:output_type -> pb.OracleDelta + 26, // 131: pb.Zero.ShouldServe:output_type -> pb.Tablet + 60, // 132: pb.Zero.Inform:output_type -> pb.TabletResponse + 65, // 133: pb.Zero.AssignIds:output_type -> pb.AssignedIds + 65, // 134: pb.Zero.Timestamps:output_type -> pb.AssignedIds + 92, // 135: pb.Zero.CommitOrAbort:output_type -> api.TxnContext + 56, // 136: pb.Zero.TryAbort:output_type -> pb.OracleDelta + 69, // 137: pb.Zero.DeleteNamespace:output_type -> pb.Status + 69, // 138: pb.Zero.RemoveNode:output_type -> pb.Status + 69, // 139: pb.Zero.MoveTablet:output_type -> pb.Status + 92, // 140: pb.Worker.Mutate:output_type -> api.TxnContext + 15, // 141: pb.Worker.ServeTask:output_type -> pb.Result + 35, // 142: pb.Worker.StreamSnapshot:output_type -> pb.KVS + 18, // 143: pb.Worker.Sort:output_type -> pb.SortResult + 48, // 144: pb.Worker.Schema:output_type -> pb.SchemaResult + 71, // 145: pb.Worker.Backup:output_type -> pb.BackupResponse + 69, // 146: pb.Worker.Restore:output_type -> pb.Status + 74, // 147: pb.Worker.Export:output_type -> pb.ExportResponse + 96, // 148: pb.Worker.ReceivePredicate:output_type -> api.Payload + 96, // 149: pb.Worker.MovePredicate:output_type -> api.Payload + 98, // 150: pb.Worker.Subscribe:output_type -> badgerpb4.KVList + 78, // 151: pb.Worker.UpdateGraphQLSchema:output_type -> pb.UpdateGraphQLSchemaResponse + 69, // 152: pb.Worker.DeleteNamespace:output_type -> pb.Status + 82, // 153: pb.Worker.TaskStatus:output_type -> pb.TaskStatusResponse + 69, // 154: pb.Worker.UpdateExtSnapshotStreamingState:output_type -> pb.Status + 100, // 155: pb.Worker.StreamExtSnapshot:output_type -> api.StreamExtSnapshotResponse + 123, // [123:156] is the sub-list for method output_type + 90, // [90:123] is the sub-list for method input_type + 90, // [90:90] is the sub-list for extension type_name + 90, // [90:90] is the sub-list for extension extendee + 0, // [0:90] is the sub-list for field type_name +} + +func init() { file_pb_proto_init() } +func file_pb_proto_init() { + if File_pb_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pb_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*List); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TaskValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SrcFunction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Query); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValueList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LangList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Order); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RaftContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Member); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Group); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ZeroProposal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MembershipState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectionState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HealthInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Tablet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DirectedEdge); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Mutations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Snapshot); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ZeroSnapshot); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RestoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Proposal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDCState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KVS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Posting); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UidBlock); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UidPack); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostingList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FacetParam); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FacetParams); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Facets); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FacetsList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Function); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterTree); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SchemaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SchemaNode); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SchemaResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SchemaUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VectorIndexSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionPair); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TypeUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MapHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MovePredicatePayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TxnStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OracleDelta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TxnTimestamps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PeerResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RaftBatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TabletResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TabletRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscriptionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscriptionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Num); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AssignedIds); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveNodeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MoveTabletRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotMeta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Status); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropOperation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupPostingList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateGraphQLSchemaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateGraphQLSchemaResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BulkMeta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TaskStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TaskStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pb_proto_rawDesc, + NumEnums: 9, + NumMessages: 83, + NumExtensions: 0, + NumServices: 3, + }, + GoTypes: file_pb_proto_goTypes, + DependencyIndexes: file_pb_proto_depIdxs, + EnumInfos: file_pb_proto_enumTypes, + MessageInfos: file_pb_proto_msgTypes, + }.Build() + File_pb_proto = out.File + file_pb_proto_rawDesc = nil + file_pb_proto_goTypes = nil + file_pb_proto_depIdxs = nil +} diff --git a/protos/pb/pb_grpc.pb.go b/protos/pb/pb_grpc.pb.go index df22751bbfa..52bdc19dc35 100644 --- a/protos/pb/pb_grpc.pb.go +++ b/protos/pb/pb_grpc.pb.go @@ -1148,13 +1148,8 @@ func (c *workerClient) StreamExtSnapshot(ctx context.Context, opts ...grpc.CallO } type Worker_StreamExtSnapshotClient interface { -<<<<<<< HEAD Send(*api.StreamExtSnapshotRequest) error - CloseAndRecv() (*api.StreamExtSnapshotResponse, error) -======= - Send(*api_v2.StreamExtSnapshotRequest) error - Recv() (*api_v2.StreamExtSnapshotResponse, error) ->>>>>>> 2014a72d3 (Make dgraph import work over the internet) + Recv() (*api.StreamExtSnapshotResponse, error) grpc.ClientStream } @@ -1166,16 +1161,8 @@ func (x *workerStreamExtSnapshotClient) Send(m *api.StreamExtSnapshotRequest) er return x.ClientStream.SendMsg(m) } -<<<<<<< HEAD -func (x *workerStreamExtSnapshotClient) CloseAndRecv() (*api.StreamExtSnapshotResponse, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } +func (x *workerStreamExtSnapshotClient) Recv() (*api.StreamExtSnapshotResponse, error) { m := new(api.StreamExtSnapshotResponse) -======= -func (x *workerStreamExtSnapshotClient) Recv() (*api_v2.StreamExtSnapshotResponse, error) { - m := new(api_v2.StreamExtSnapshotResponse) ->>>>>>> 2014a72d3 (Make dgraph import work over the internet) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -1565,13 +1552,8 @@ func _Worker_StreamExtSnapshot_Handler(srv interface{}, stream grpc.ServerStream } type Worker_StreamExtSnapshotServer interface { -<<<<<<< HEAD - SendAndClose(*api.StreamExtSnapshotResponse) error + Send(*api.StreamExtSnapshotResponse) error Recv() (*api.StreamExtSnapshotRequest, error) -======= - Send(*api_v2.StreamExtSnapshotResponse) error - Recv() (*api_v2.StreamExtSnapshotRequest, error) ->>>>>>> 2014a72d3 (Make dgraph import work over the internet) grpc.ServerStream } @@ -1579,11 +1561,7 @@ type workerStreamExtSnapshotServer struct { grpc.ServerStream } -<<<<<<< HEAD -func (x *workerStreamExtSnapshotServer) SendAndClose(m *api.StreamExtSnapshotResponse) error { -======= -func (x *workerStreamExtSnapshotServer) Send(m *api_v2.StreamExtSnapshotResponse) error { ->>>>>>> 2014a72d3 (Make dgraph import work over the internet) +func (x *workerStreamExtSnapshotServer) Send(m *api.StreamExtSnapshotResponse) error { return x.ServerStream.SendMsg(m) } diff --git a/sammple/sample.go b/sammple/sample.go new file mode 100644 index 00000000000..31d2c9564cd --- /dev/null +++ b/sammple/sample.go @@ -0,0 +1,38 @@ +package sample + +import ( + "context" + "fmt" + "os" + + "github.com/hypermodeinc/dgraph/v25/dgraph/cmd/dgraphimport" + "github.com/hypermodeinc/dgraph/v25/x" + "github.com/spf13/cobra" +) + +var ( + Import x.SubCommand +) + +func init() { + Import.Cmd = &cobra.Command{ + Use: "import123", + Short: "Run the import tool", + Run: func(cmd *cobra.Command, args []string) { + run() + }, + Annotations: map[string]string{"group": "tool"}, + } + Import.Cmd.SetHelpTemplate(x.NonRootTemplate) +} + +func run() { + if err := importP(); err != nil { + fmt.Fprintln(os.Stderr, err) + } +} + +func importP() error { + url := "dgraph://0.0.0.0:9080" + return dgraphimport.Import(context.Background(), url, "/home/shiva/workspace/dgraph-work/benchmarks/data/out") +} diff --git a/worker/import.go b/worker/import.go index 4a28b5352d6..b234b664850 100644 --- a/worker/import.go +++ b/worker/import.go @@ -26,7 +26,7 @@ import ( type pubSub struct { sync.RWMutex - subscribers []chan *apiv2.StreamExtSnapshotRequest + subscribers []chan *api.StreamExtSnapshotRequest } // Subscribe returns a new channel to receive published messages @@ -72,7 +72,12 @@ func (ps *pubSub) handlePublisher(ctx context.Context, stream api.Dgraph_StreamE return nil } ps.publish(msg) - if err := stream.Send(&apiv2.StreamExtSnapshotResponse{Finish: false}); err != nil { + + if msg != nil && msg.Pkt.Done { + glog.Infof("[import] Received Done signal, breaking the loop") + return nil + } + if err := stream.Send(&api.StreamExtSnapshotResponse{Finish: false}); err != nil { return err } } @@ -80,6 +85,10 @@ func (ps *pubSub) handlePublisher(ctx context.Context, stream api.Dgraph_StreamE } func (ps *pubSub) runForwardSubscriber(ctx context.Context, out api.Dgraph_StreamExtSnapshotClient, peerId string) error { + defer func() { + glog.Infof("[import] forward subscriber stopped for peer [%v]", peerId) + }() + buffer := ps.subscribe() Loop: for { @@ -94,8 +103,6 @@ Loop: break Loop } - data := &api.StreamExtSnapshotRequest{Pkt: &api.StreamPacket{Data: msg.Pkt.Data}} - if msg.Pkt.Done { glog.Infof("[import] received done signal from [%v]", peerId) d := api.StreamPacket{Done: true} @@ -105,7 +112,7 @@ Loop: break Loop } - data := &apiv2.StreamExtSnapshotRequest{Pkt: &apiv2.StreamPacket{Data: msg.Pkt.Data}} + data := &api.StreamExtSnapshotRequest{Pkt: &api.StreamPacket{Data: msg.Pkt.Data}} if err := out.Send(data); err != nil { return err } @@ -162,7 +169,7 @@ Loop: return err } - if err := stream.Send(&apiv2.StreamExtSnapshotResponse{Finish: true}); err != nil { + if err := stream.Send(&api.StreamExtSnapshotResponse{Finish: true}); err != nil { glog.Errorf("[import] failed to send close on in: %v", err) return err } @@ -170,7 +177,7 @@ Loop: } func ProposeDrain(ctx context.Context, drainMode *api.UpdateExtSnapshotStreamingStateRequest) ([]uint32, error) { - memState := GetMembershipState() + members := GetMembershipState() currentGroups := make([]uint32, 0) for gid := range members.GetGroups() { currentGroups = append(currentGroups, gid) @@ -254,7 +261,7 @@ func pipeTwoStream(in api.Dgraph_StreamExtSnapshotServer, out pb.Worker_StreamEx glog.Infof("[import] [forward from group-%v to group-%v] forwarding stream", currentGroup, groupId) defer func() { - if err := in.SendAndClose(&api.StreamExtSnapshotResponse{}); err != nil { + if err := in.Send(&api.StreamExtSnapshotResponse{}); err != nil { glog.Errorf("[import] [forward from group %v to group %v] failed to send close on in"+ " stream for group [%v]: %v", currentGroup, groupId, groupId, err) } @@ -365,6 +372,10 @@ func postStreamProcessing(ctx context.Context) error { // - nil: If streaming completes successfully // - error: If there's an issue receiving data or if majority consensus isn't achieved (for leader) func streamInGroup(stream api.Dgraph_StreamExtSnapshotServer, forward bool) error { + + if err := stream.Send(&api.StreamExtSnapshotResponse{Finish: false}); err != nil { + return fmt.Errorf("failed to send initial response: %v", err) + } node := groups().Node glog.Infof("[import] got stream, forwarding in group [%v]", forward) @@ -442,7 +453,7 @@ func streamInGroup(stream api.Dgraph_StreamExtSnapshotServer, forward bool) erro eg.Go(func() error { defer ps.close() defer func() { - if err := stream.SendAndClose(&api.StreamExtSnapshotResponse{}); err != nil { + if err := stream.Send(&api.StreamExtSnapshotResponse{}); err != nil { glog.Errorf("[import] failed to send close on in: %v", err) } }() @@ -455,6 +466,12 @@ func streamInGroup(stream api.Dgraph_StreamExtSnapshotServer, forward bool) erro if err := eg.Wait(); err != nil { return fmt.Errorf("failed to run in group streaming: %v", err) } + // Sends a StreamExtSnapshotResponse with the Finish flag set to true to indicate + // the completion of the streaming process. If an error occurs during the send + // operation, it is returned for further handling. + if err := stream.Send(&api.StreamExtSnapshotResponse{Finish: true}); err != nil { + glog.Errorf("failed to send done signal: %v", err) + } // If this node is the leader and fails to reach a majority of nodes, we return an error. // This ensures that the data is reliably received by enough nodes before proceeding. From f6d02c068a591c07ad3e4dd1eacaaaaa0b091393 Mon Sep 17 00:00:00 2001 From: shivaji-dgraph Date: Tue, 30 Sep 2025 17:13:11 +0530 Subject: [PATCH 04/12] regenerate protos --- dgraph/cmd/root.go | 3 +-- protos/pb/pb.pb.go | 29 ++++++++++++++--------------- sammple/sample.go | 38 -------------------------------------- 3 files changed, 15 insertions(+), 55 deletions(-) delete mode 100644 sammple/sample.go diff --git a/dgraph/cmd/root.go b/dgraph/cmd/root.go index b178445af7c..2e21a74a97a 100644 --- a/dgraph/cmd/root.go +++ b/dgraph/cmd/root.go @@ -22,7 +22,6 @@ import ( "github.com/spf13/viper" "github.com/hypermodeinc/dgraph/v25/acl" - sample "github.com/hypermodeinc/dgraph/v25/sammple" "github.com/hypermodeinc/dgraph/v25/audit" "github.com/hypermodeinc/dgraph/v25/backup" @@ -82,7 +81,7 @@ var subcommands = []*x.SubCommand{ &bulk.Bulk, &cert.Cert, &conv.Conv, &live.Live, &alpha.Alpha, &zero.Zero, &version.Version, &debug.Debug, &migrate.Migrate, &debuginfo.DebugInfo, &upgrade.Upgrade, &decrypt.Decrypt, &increment.Increment, &checkupgrade.CheckUpgrade, &backup.Restore, &backup.LsBackup, &backup.ExportBackup, &acl.CmdAcl, - &audit.CmdAudit, &mcp.Mcp, &dgraphimport.ImportCmd, &sample.Import, + &audit.CmdAudit, &mcp.Mcp, &dgraphimport.ImportCmd, } func initCmds() { diff --git a/protos/pb/pb.pb.go b/protos/pb/pb.pb.go index 9e742330c69..1cb0709972c 100644 --- a/protos/pb/pb.pb.go +++ b/protos/pb/pb.pb.go @@ -16,14 +16,13 @@ package pb import ( - reflect "reflect" - sync "sync" - pb "github.com/dgraph-io/badger/v4/pb" api "github.com/dgraph-io/dgo/v250/protos/api" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" _ "google.golang.org/protobuf/types/descriptorpb" + reflect "reflect" + sync "sync" ) const ( @@ -2491,10 +2490,10 @@ type RestoreRequest struct { Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` BackupId string `protobuf:"bytes,4,opt,name=backup_id,json=backupId,proto3" json:"backup_id,omitempty"` // Credentials when using a minio or S3 bucket as the backup location. - AccessKey string `protobuf:"bytes,5,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` + AccessKey string `protobuf:"bytes,5,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` SecretKey Sensitive `protobuf:"bytes,6,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` SessionToken Sensitive `protobuf:"bytes,7,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` - Anonymous bool `protobuf:"varint,8,opt,name=anonymous,proto3" json:"anonymous,omitempty"` + Anonymous bool `protobuf:"varint,8,opt,name=anonymous,proto3" json:"anonymous,omitempty"` // Info needed to process encrypted backups. EncryptionKeyFile string `protobuf:"bytes,9,opt,name=encryption_key_file,json=encryptionKeyFile,proto3" json:"encryption_key_file,omitempty"` // Vault options @@ -5161,12 +5160,12 @@ type BackupRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ReadTs uint64 `protobuf:"varint,1,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` - SinceTs uint64 `protobuf:"varint,2,opt,name=since_ts,json=sinceTs,proto3" json:"since_ts,omitempty"` - GroupId uint32 `protobuf:"varint,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` - UnixTs string `protobuf:"bytes,4,opt,name=unix_ts,json=unixTs,proto3" json:"unix_ts,omitempty"` - Destination string `protobuf:"bytes,5,opt,name=destination,proto3" json:"destination,omitempty"` - AccessKey string `protobuf:"bytes,6,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` + ReadTs uint64 `protobuf:"varint,1,opt,name=read_ts,json=readTs,proto3" json:"read_ts,omitempty"` + SinceTs uint64 `protobuf:"varint,2,opt,name=since_ts,json=sinceTs,proto3" json:"since_ts,omitempty"` + GroupId uint32 `protobuf:"varint,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + UnixTs string `protobuf:"bytes,4,opt,name=unix_ts,json=unixTs,proto3" json:"unix_ts,omitempty"` + Destination string `protobuf:"bytes,5,opt,name=destination,proto3" json:"destination,omitempty"` + AccessKey string `protobuf:"bytes,6,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` SecretKey Sensitive `protobuf:"bytes,7,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` SessionToken Sensitive `protobuf:"bytes,8,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` // True if no credentials should be used to access the S3 or minio bucket. @@ -5402,11 +5401,11 @@ type ExportRequest struct { Format string `protobuf:"bytes,4,opt,name=format,proto3" json:"format,omitempty"` Destination string `protobuf:"bytes,5,opt,name=destination,proto3" json:"destination,omitempty"` // These credentials are used to access the S3 or minio bucket. - AccessKey string `protobuf:"bytes,6,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` + AccessKey string `protobuf:"bytes,6,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` SecretKey Sensitive `protobuf:"bytes,7,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` SessionToken Sensitive `protobuf:"bytes,8,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` - Anonymous bool `protobuf:"varint,9,opt,name=anonymous,proto3" json:"anonymous,omitempty"` - Namespace uint64 `protobuf:"varint,10,opt,name=namespace,proto3" json:"namespace,omitempty"` + Anonymous bool `protobuf:"varint,9,opt,name=anonymous,proto3" json:"anonymous,omitempty"` + Namespace uint64 `protobuf:"varint,10,opt,name=namespace,proto3" json:"namespace,omitempty"` } func (x *ExportRequest) Reset() { @@ -7118,7 +7117,7 @@ var file_pb_proto_goTypes = []interface{}{ (*api.TxnContext)(nil), // 92: api.TxnContext (*api.Facet)(nil), // 93: api.Facet (*pb.KV)(nil), // 94: badgerpb4.KV - (*api.UpdateExtSnapshotStreamingStateRequest)(nil), // 95: api.Request + (*api.UpdateExtSnapshotStreamingStateRequest)(nil), // 95: api.UpdateExtSnapshotStreamingStateRequest (*api.Payload)(nil), // 96: api.Payload (*pb.Match)(nil), // 97: badgerpb4.Match (*pb.KVList)(nil), // 98: badgerpb4.KVList diff --git a/sammple/sample.go b/sammple/sample.go deleted file mode 100644 index 31d2c9564cd..00000000000 --- a/sammple/sample.go +++ /dev/null @@ -1,38 +0,0 @@ -package sample - -import ( - "context" - "fmt" - "os" - - "github.com/hypermodeinc/dgraph/v25/dgraph/cmd/dgraphimport" - "github.com/hypermodeinc/dgraph/v25/x" - "github.com/spf13/cobra" -) - -var ( - Import x.SubCommand -) - -func init() { - Import.Cmd = &cobra.Command{ - Use: "import123", - Short: "Run the import tool", - Run: func(cmd *cobra.Command, args []string) { - run() - }, - Annotations: map[string]string{"group": "tool"}, - } - Import.Cmd.SetHelpTemplate(x.NonRootTemplate) -} - -func run() { - if err := importP(); err != nil { - fmt.Fprintln(os.Stderr, err) - } -} - -func importP() error { - url := "dgraph://0.0.0.0:9080" - return dgraphimport.Import(context.Background(), url, "/home/shiva/workspace/dgraph-work/benchmarks/data/out") -} From ad76453af235f536ee23110b2dc7c4ea2fd3dbd6 Mon Sep 17 00:00:00 2001 From: shivaji-dgraph Date: Tue, 30 Sep 2025 22:43:55 +0530 Subject: [PATCH 05/12] import new dgo --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 62cc6a45f7b..e69d49f88aa 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/Masterminds/semver/v3 v3.4.0 github.com/blevesearch/bleve/v2 v2.5.2 github.com/dgraph-io/badger/v4 v4.8.0 - github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250925075017-1cbfe76a4d6a + github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250930170557-7910cccb77e8 github.com/dgraph-io/gqlgen v0.13.2 github.com/dgraph-io/gqlparser/v2 v2.2.2 github.com/dgraph-io/graphql-transport-ws v0.0.0-20210511143556-2cef522f1f15 diff --git a/go.sum b/go.sum index 6e95f0ecadd..3c223cea667 100644 --- a/go.sum +++ b/go.sum @@ -132,8 +132,8 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgraph-io/badger/v4 v4.8.0 h1:JYph1ChBijCw8SLeybvPINizbDKWZ5n/GYbz2yhN/bs= github.com/dgraph-io/badger/v4 v4.8.0/go.mod h1:U6on6e8k/RTbUWxqKR0MvugJuVmkxSNc79ap4917h4w= -github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250925075017-1cbfe76a4d6a h1:QLvEPmiS5DkYSHDmQTj3sGtKEJzO5eM5E9V/K3fYjRQ= -github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250925075017-1cbfe76a4d6a/go.mod h1:H3PcQuhmfzSC/1I7FLJYOxntpk3UG6lmZAyv0QxRm+o= +github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250930170557-7910cccb77e8 h1:Q9eyDHmPURiwejGAmQPoZXNyILq0qlUQ1jiYGd2cDkM= +github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250930170557-7910cccb77e8/go.mod h1:H3PcQuhmfzSC/1I7FLJYOxntpk3UG6lmZAyv0QxRm+o= github.com/dgraph-io/gqlgen v0.13.2 h1:TNhndk+eHKj5qE7BenKKSYdSIdOGhLqxR1rCiMso9KM= github.com/dgraph-io/gqlgen v0.13.2/go.mod h1:iCOrOv9lngN7KAo+jMgvUPVDlYHdf7qDwsTkQby2Sis= github.com/dgraph-io/gqlparser/v2 v2.1.1/go.mod h1:MYS4jppjyx8b9tuUtjV7jU1UFZK6P9fvO8TsIsQtRKU= From 18f07aae61754e15662d0dc90f37a324129a76f1 Mon Sep 17 00:00:00 2001 From: Aman Mangal Date: Wed, 1 Oct 2025 09:05:05 +0530 Subject: [PATCH 06/12] Fix issues --- .github/workflows/ci-dgraph-integration2-tests.yml | 2 +- dgraphtest/load.go | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-dgraph-integration2-tests.yml b/.github/workflows/ci-dgraph-integration2-tests.yml index fef9c4a59d5..eeace035fd5 100644 --- a/.github/workflows/ci-dgraph-integration2-tests.yml +++ b/.github/workflows/ci-dgraph-integration2-tests.yml @@ -24,7 +24,7 @@ jobs: dgraph-integration2-tests: if: github.event.pull_request.draft == false runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 60 steps: - uses: actions/checkout@v5 with: diff --git a/dgraphtest/load.go b/dgraphtest/load.go index d6f33bfa911..deee3221133 100644 --- a/dgraphtest/load.go +++ b/dgraphtest/load.go @@ -503,10 +503,11 @@ func (c *LocalCluster) BulkLoad(opts BulkOpts) error { args = append(args, "-g", strings.Join(opts.GQLSchemaFiles, ",")) } - dgraphCmdPath := os.Getenv("DGRAPH_CMD_PATH") - if dgraphCmdPath == "" { - dgraphCmdPath = filepath.Join(c.tempBinDir, "dgraph") - } + // dgraphCmdPath := os.Getenv("DGRAPH_CMD_PATH") + // if dgraphCmdPath == "" { + // dgraphCmdPath = filepath.Join(c.tempBinDir, "dgraph") + // } + log.Printf("[INFO] running bulk loader with args: [%v]", strings.Join(args, " ")) binaryName := "dgraph" if os.Getenv("DGRAPH_BINARY") != "" { From 45ca357ca63f74536cc91a5109a0826d8b445034 Mon Sep 17 00:00:00 2001 From: Aman Mangal Date: Wed, 1 Oct 2025 10:53:26 +0530 Subject: [PATCH 07/12] import dgo preview7 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e69d49f88aa..31f2c55bfc5 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/Masterminds/semver/v3 v3.4.0 github.com/blevesearch/bleve/v2 v2.5.2 github.com/dgraph-io/badger/v4 v4.8.0 - github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250930170557-7910cccb77e8 + github.com/dgraph-io/dgo/v250 v250.0.0-preview7 github.com/dgraph-io/gqlgen v0.13.2 github.com/dgraph-io/gqlparser/v2 v2.2.2 github.com/dgraph-io/graphql-transport-ws v0.0.0-20210511143556-2cef522f1f15 diff --git a/go.sum b/go.sum index 3c223cea667..12b0724fdcd 100644 --- a/go.sum +++ b/go.sum @@ -132,8 +132,8 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgraph-io/badger/v4 v4.8.0 h1:JYph1ChBijCw8SLeybvPINizbDKWZ5n/GYbz2yhN/bs= github.com/dgraph-io/badger/v4 v4.8.0/go.mod h1:U6on6e8k/RTbUWxqKR0MvugJuVmkxSNc79ap4917h4w= -github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250930170557-7910cccb77e8 h1:Q9eyDHmPURiwejGAmQPoZXNyILq0qlUQ1jiYGd2cDkM= -github.com/dgraph-io/dgo/v250 v250.0.0-preview4.0.20250930170557-7910cccb77e8/go.mod h1:H3PcQuhmfzSC/1I7FLJYOxntpk3UG6lmZAyv0QxRm+o= +github.com/dgraph-io/dgo/v250 v250.0.0-preview7 h1:cEranHYlUFwacvtksjwXU8qB1NHIhrvPE1gdGS6r+lU= +github.com/dgraph-io/dgo/v250 v250.0.0-preview7/go.mod h1:OVSaapUnuqaY4beLe98CajukINwbVm0JRNp0SRBCz/w= github.com/dgraph-io/gqlgen v0.13.2 h1:TNhndk+eHKj5qE7BenKKSYdSIdOGhLqxR1rCiMso9KM= github.com/dgraph-io/gqlgen v0.13.2/go.mod h1:iCOrOv9lngN7KAo+jMgvUPVDlYHdf7qDwsTkQby2Sis= github.com/dgraph-io/gqlparser/v2 v2.1.1/go.mod h1:MYS4jppjyx8b9tuUtjV7jU1UFZK6P9fvO8TsIsQtRKU= From 9f57ac63d1b7803327b94df6ee2306aa59205ebf Mon Sep 17 00:00:00 2001 From: shivaji-dgraph Date: Wed, 1 Oct 2025 13:11:07 +0530 Subject: [PATCH 08/12] increase timeout --- .github/workflows/ci-dgraph-integration2-tests.yml | 4 ++-- dgraph/cmd/dgraphimport/import_test.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-dgraph-integration2-tests.yml b/.github/workflows/ci-dgraph-integration2-tests.yml index eeace035fd5..53f1190242a 100644 --- a/.github/workflows/ci-dgraph-integration2-tests.yml +++ b/.github/workflows/ci-dgraph-integration2-tests.yml @@ -24,7 +24,7 @@ jobs: dgraph-integration2-tests: if: github.event.pull_request.draft == false runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 90 steps: - uses: actions/checkout@v5 with: @@ -48,7 +48,7 @@ jobs: # move the binary cp dgraph/dgraph ~/go/bin/dgraph # run the tests - go test -v -timeout=30m -failfast -tags=integration2 ./... + go test -v -timeout=90m -failfast -tags=integration2 ./... # clean up docker containers after test execution go clean -testcache # sleep diff --git a/dgraph/cmd/dgraphimport/import_test.go b/dgraph/cmd/dgraphimport/import_test.go index fe44ef66b49..54f81db2363 100644 --- a/dgraph/cmd/dgraphimport/import_test.go +++ b/dgraph/cmd/dgraphimport/import_test.go @@ -306,7 +306,7 @@ func runImportTest(t *testing.T, tt testcase) { require.NoError(t, err) defer cleanup() - require.NoError(t, validateClientConnection(t, gc, 10*time.Second)) + require.NoError(t, validateClientConnection(t, gc, 30*time.Second)) verifyImportResults(t, gc, tt.downAlphas) } } @@ -549,7 +549,7 @@ func retryHealthCheck(t *testing.T, cluster *dgraphtest.LocalCluster, timeout ti // validateClientConnection ensures the client connection is working before use func validateClientConnection(t *testing.T, gc *dgraphapi.GrpcClient, timeout time.Duration) error { deadline := time.Now().Add(timeout) - retryDelay := 200 * time.Millisecond + retryDelay := 1 * time.Second for time.Now().Before(deadline) { if _, err := gc.Query("schema{}"); err != nil { From 11e8379ca22d2079c98a4feab6ae722da596f912 Mon Sep 17 00:00:00 2001 From: shivaji-dgraph Date: Wed, 1 Oct 2025 14:32:05 +0530 Subject: [PATCH 09/12] remove unwanted print statements --- conn/pool.go | 2 +- dgraph/cmd/dgraphimport/import_client.go | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/conn/pool.go b/conn/pool.go index dd6acb7b5ff..35c87169f7e 100644 --- a/conn/pool.go +++ b/conn/pool.go @@ -300,7 +300,7 @@ func (p *Pool) MonitorHealth() { p.Unlock() return } - // glog.Errorf("CONN: Unable to connect with %s : %s\n", p.Addr, err) + glog.Errorf("CONN: Unable to connect with %s : %s\n", p.Addr, err) if conn != nil { if err := conn.Close(); err != nil { glog.Warningf("error while closing connection: %v", err) diff --git a/dgraph/cmd/dgraphimport/import_client.go b/dgraph/cmd/dgraphimport/import_client.go index 1258d6256a9..cb30a973670 100644 --- a/dgraph/cmd/dgraphimport/import_client.go +++ b/dgraph/cmd/dgraphimport/import_client.go @@ -151,7 +151,6 @@ func streamSnapshotForGroup(ctx context.Context, dc api.DgraphClient, pdir strin if err := out.Send(groupReq); err != nil { return fmt.Errorf("failed to send request for group ID [%v] to the server: %w", groupId, err) } - fmt.Println("waiting here==================================>") if _, err := out.Recv(); err != nil { return fmt.Errorf("failed to receive response for group ID [%v] from the server: %w", groupId, err) } From e57ca161a25ebc9ed92a29bb496595c688901763 Mon Sep 17 00:00:00 2001 From: shivaji-dgraph Date: Thu, 2 Oct 2025 13:04:18 +0530 Subject: [PATCH 10/12] fix import --- dgraph/cmd/dgraphimport/import_test.go | 4 +- worker/import.go | 131 ++++++++++++++++++------- 2 files changed, 99 insertions(+), 36 deletions(-) diff --git a/dgraph/cmd/dgraphimport/import_test.go b/dgraph/cmd/dgraphimport/import_test.go index 54f81db2363..6b96f23b498 100644 --- a/dgraph/cmd/dgraphimport/import_test.go +++ b/dgraph/cmd/dgraphimport/import_test.go @@ -292,7 +292,7 @@ func runImportTest(t *testing.T, tt testcase) { alphaID := alphas[i] t.Logf("Starting alpha %v from group %v", alphaID, group) require.NoError(t, targetCluster.StartAlpha(alphaID)) - require.NoError(t, waitForAlphaReady(t, targetCluster, alphaID, 30*time.Second)) + require.NoError(t, waitForAlphaReady(t, targetCluster, alphaID, 60*time.Second)) } } @@ -368,7 +368,7 @@ func setupTargetCluster(t *testing.T, numAlphas, replicasFactor int) ( // verifyImportResults validates the result of an import operation with retry logic func verifyImportResults(t *testing.T, gc *dgraphapi.GrpcClient, downAlphas int) { - maxRetries := 1 + maxRetries := 5 if downAlphas > 0 { maxRetries = 10 } diff --git a/worker/import.go b/worker/import.go index b234b664850..ef1afdfd0a0 100644 --- a/worker/import.go +++ b/worker/import.go @@ -71,9 +71,12 @@ func (ps *pubSub) handlePublisher(ctx context.Context, stream api.Dgraph_StreamE } else if err == io.EOF { return nil } + if msg == nil { + continue + } ps.publish(msg) - if msg != nil && msg.Pkt.Done { + if msg.Pkt != nil && msg.Pkt.Done { glog.Infof("[import] Received Done signal, breaking the loop") return nil } @@ -109,13 +112,36 @@ Loop: if err := out.Send(&api.StreamExtSnapshotRequest{Pkt: &d}); err != nil { return err } - break Loop + + _ = out.CloseSend() + + for { + if ctx.Err() != nil { + return ctx.Err() + } + r, err := out.Recv() + if errors.Is(err, io.EOF) { + return fmt.Errorf("server closed stream before Finish=true for peer [%v]", peerId) + } + if err != nil { + return fmt.Errorf("failed to receive final response from peer [%v]: %w", peerId, err) + } + if r.Finish { + glog.Infof("[import] peer [%v]: Received final Finish=true", peerId) + break Loop + } + glog.Infof("[import] peer [%v]: Waiting for Finish=true, got interim ACK", peerId) + } } data := &api.StreamExtSnapshotRequest{Pkt: &api.StreamPacket{Data: msg.Pkt.Data}} if err := out.Send(data); err != nil { return err } + + if _, err := out.Recv(); err != nil { + return fmt.Errorf("failed to receive response from peer [%v]: %w", peerId, err) + } } } @@ -149,7 +175,10 @@ Loop: break Loop } kvs := msg.GetPkt() - if kvs != nil && kvs.Done { + if kvs == nil { + continue + } + if kvs.Done { break } @@ -223,6 +252,10 @@ func InStream(stream api.Dgraph_StreamExtSnapshotServer) error { return fmt.Errorf("failed to receive initial stream message: %v", err) } + if err := stream.Send(&api.StreamExtSnapshotResponse{Finish: false}); err != nil { + return fmt.Errorf("failed to send initial response: %v", err) + } + groupId := req.GroupId if groupId == groups().Node.gid { glog.Infof("[import] streaming external snapshot to current group [%v]", groupId) @@ -243,6 +276,8 @@ func InStream(stream api.Dgraph_StreamExtSnapshotServer) error { glog.Errorf("[import] failed to establish stream with leader: %v", err) return fmt.Errorf("failed to establish stream with leader: %v", err) } + glog.Infof("[import] [forward %d -> %d] start", groups().Node.gid, groupId) + glog.Infof("[import] [forward %d -> %d] start", groups().Node.MyAddr, groups().Leader(groupId).Addr) glog.Infof("[import] sending forward true to leader of group [%v]", groupId) forwardReq := &api.StreamExtSnapshotRequest{Forward: true} @@ -254,40 +289,72 @@ func InStream(stream api.Dgraph_StreamExtSnapshotServer) error { return pipeTwoStream(stream, alphaStream, groupId) } -func pipeTwoStream(in api.Dgraph_StreamExtSnapshotServer, out pb.Worker_StreamExtSnapshotClient, - groupId uint32) error { - +func pipeTwoStream(in api.Dgraph_StreamExtSnapshotServer, out pb.Worker_StreamExtSnapshotClient, groupId uint32) error { currentGroup := groups().Node.gid - glog.Infof("[import] [forward from group-%v to group-%v] forwarding stream", currentGroup, groupId) + ctx := in.Context() + if err := out.Send(&api.StreamExtSnapshotRequest{GroupId: groupId}); err != nil { + return fmt.Errorf("send groupId downstream(%d): %w", groupId, err) + } + if _, err := out.Recv(); err != nil { + return fmt.Errorf("ack groupId downstream(%d): %w", groupId, err) + } - defer func() { - if err := in.Send(&api.StreamExtSnapshotResponse{}); err != nil { - glog.Errorf("[import] [forward from group %v to group %v] failed to send close on in"+ - " stream for group [%v]: %v", currentGroup, groupId, groupId, err) + for { + if err := ctx.Err(); err != nil { + return err } - }() - defer func() { - if err := out.CloseSend(); err != nil { - glog.Errorf("[import] [forward from group %v to group %v] failed to receive ACK from group [%v]: %v", - currentGroup, groupId, groupId, err) + req, err := in.Recv() + if errors.Is(err, io.EOF) { + return nil + } + if err != nil { + return fmt.Errorf("recv upstream(%d): %w", currentGroup, err) + } + if req.Pkt == nil { + return fmt.Errorf("unexpected empty request") } - }() - ps := &pubSub{} - eg, egCtx := errgroup.WithContext(in.Context()) - eg.Go(func() error { - return ps.runForwardSubscriber(egCtx, out, fmt.Sprintf("%d", groupId)) - }) - eg.Go(func() error { - return ps.handlePublisher(egCtx, in) - }) - if err := eg.Wait(); err != nil { - return err - } + if req.Pkt.Done { + // Forward Done, half-close downstream send. + if err := out.Send(&api.StreamExtSnapshotRequest{Pkt: req.Pkt}); err != nil && !errors.Is(err, io.EOF) { + return fmt.Errorf("send done downstream(%d): %w", groupId, err) + } + _ = out.CloseSend() - glog.Infof("[import] [forward from group %v to group %v] received ACK from group [%v]", currentGroup, groupId, groupId) - return nil + // Drain downstream and relay upstream until Finish=true. + for { + if err := ctx.Err(); err != nil { + return err + } + resp, err := out.Recv() + if errors.Is(err, io.EOF) { + return fmt.Errorf("downstream(%d) closed before Finish=true", groupId) + } + if err != nil { + return fmt.Errorf("recv final downstream(%d): %w", groupId, err) + } + if err := in.Send(resp); err != nil { + return fmt.Errorf("relay final upstream: %w", err) + } + if resp.Finish { + glog.Infof("[import] [forward %d -> %d] finish", currentGroup, groupId) + return nil + } + } + } + + // Normal data chunk: send -> wait ack -> send upstream ack. + if err := out.Send(&api.StreamExtSnapshotRequest{Pkt: req.Pkt}); err != nil { + return fmt.Errorf("send data downstream(%d): %w", groupId, err) + } + if _, err := out.Recv(); err != nil { + return fmt.Errorf("ack data downstream(%d): %w", groupId, err) + } + if err := in.Send(&api.StreamExtSnapshotResponse{}); err != nil { + return fmt.Errorf("send ack upstream: %w", err) + } + } } func (w *grpcWorker) UpdateExtSnapshotStreamingState(ctx context.Context, @@ -372,10 +439,6 @@ func postStreamProcessing(ctx context.Context) error { // - nil: If streaming completes successfully // - error: If there's an issue receiving data or if majority consensus isn't achieved (for leader) func streamInGroup(stream api.Dgraph_StreamExtSnapshotServer, forward bool) error { - - if err := stream.Send(&api.StreamExtSnapshotResponse{Finish: false}); err != nil { - return fmt.Errorf("failed to send initial response: %v", err) - } node := groups().Node glog.Infof("[import] got stream, forwarding in group [%v]", forward) From aa7972610c83cc0d4bd5cb3e607e6f3580231d7a Mon Sep 17 00:00:00 2001 From: shivaji-dgraph Date: Thu, 2 Oct 2025 14:11:39 +0530 Subject: [PATCH 11/12] fix single group import --- worker/import.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/worker/import.go b/worker/import.go index ef1afdfd0a0..ef07076827f 100644 --- a/worker/import.go +++ b/worker/import.go @@ -197,11 +197,6 @@ Loop: if err := postStreamProcessing(ctx); err != nil { return err } - - if err := stream.Send(&api.StreamExtSnapshotResponse{Finish: true}); err != nil { - glog.Errorf("[import] failed to send close on in: %v", err) - return err - } return nil } @@ -354,6 +349,7 @@ func pipeTwoStream(in api.Dgraph_StreamExtSnapshotServer, out pb.Worker_StreamEx if err := in.Send(&api.StreamExtSnapshotResponse{}); err != nil { return fmt.Errorf("send ack upstream: %w", err) } + } } From 7732d9a73898bf5b67a27ac2a1a5f2de44724ff3 Mon Sep 17 00:00:00 2001 From: shivaji-dgraph Date: Thu, 2 Oct 2025 14:45:18 +0530 Subject: [PATCH 12/12] fix pub sub --- worker/import.go | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/worker/import.go b/worker/import.go index ef07076827f..f6498836400 100644 --- a/worker/import.go +++ b/worker/import.go @@ -30,20 +30,43 @@ type pubSub struct { } // Subscribe returns a new channel to receive published messages -func (ps *pubSub) subscribe() <-chan *api.StreamExtSnapshotRequest { +func (ps *pubSub) subscribe() chan *api.StreamExtSnapshotRequest { ch := make(chan *api.StreamExtSnapshotRequest, 20) ps.Lock() - defer ps.Unlock() ps.subscribers = append(ps.subscribers, ch) + ps.Unlock() return ch } +// publish sends to all subscribers without blocking on any single subscriber. +// If a subscriber is not draining, skip it (it will be marked failed by its goroutine). func (ps *pubSub) publish(msg *api.StreamExtSnapshotRequest) { - // Send message to all subscribers without dropping any ps.RLock() - defer ps.RUnlock() - for _, ch := range ps.subscribers { - ch <- msg + // copy to avoid holding lock while sending + subs := make([]chan *api.StreamExtSnapshotRequest, len(ps.subscribers)) + copy(subs, ps.subscribers) + ps.RUnlock() + + for _, ch := range subs { + select { + case ch <- msg: + default: + // subscriber is stuck; skip to avoid blocking publisher + } + } +} + +// Unsubscribe removes a subscriber and closes its channel. +func (ps *pubSub) unsubscribe(ch chan *api.StreamExtSnapshotRequest) { + ps.Lock() + defer ps.Unlock() + for i, c := range ps.subscribers { + if c == ch { + // remove from slice + ps.subscribers = append(ps.subscribers[:i], ps.subscribers[i+1:]...) + close(c) + return + } } } @@ -93,6 +116,8 @@ func (ps *pubSub) runForwardSubscriber(ctx context.Context, out api.Dgraph_Strea }() buffer := ps.subscribe() + defer ps.unsubscribe(buffer) // ensure publisher won't block on us if we exit + Loop: for { select { @@ -154,6 +179,7 @@ func (ps *pubSub) runLocalSubscriber(ctx context.Context, stream pb.Worker_Strea }() buffer := ps.subscribe() + defer ps.unsubscribe(buffer) // ensure publisher won't block on us if we exit glog.Infof("[import:flush] flushing external snapshot in badger db") sw := pstore.NewStreamWriter()