From cb4ce8b0d11b4f0bdec8190e0996b708c55ee788 Mon Sep 17 00:00:00 2001 From: Arnaud Rebillout Date: Wed, 24 Jun 2026 17:17:12 +0700 Subject: [PATCH 1/5] rpc.proto: Indent fixes --- rpc/rpc.proto | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rpc/rpc.proto b/rpc/rpc.proto index ef44e3c7..e2c97db6 100644 --- a/rpc/rpc.proto +++ b/rpc/rpc.proto @@ -27,11 +27,11 @@ service CLI { message VersionReply { string Version = 1; - string Build = 2; - string GoVersion = 3; - string OS = 4; - string Arch = 5; - int32 GoMaxProcs = 6; + string Build = 2; + string GoVersion = 3; + string OS = 4; + string Arch = 5; + int32 GoMaxProcs = 6; } message MatchRequest { From c8140c24791fea6d623f4fd570a4ef41f85e85c4 Mon Sep 17 00:00:00 2001 From: Arnaud Rebillout Date: Wed, 24 Jun 2026 18:33:10 +0700 Subject: [PATCH 2/5] protobuf APIv2: Update for empty and timestamp types For "empty", it's straightforward, we just need to update the import statement, and then rename: empty.Empty{} -> emptypb.Empty{} For "timestamp", it's a bit more complicated as the API changed. To convert from the protobuf Timestamp message to a Go time, we use `AsTime()`. We need to check first that the variable is a valid time, either via `IsValid()` or `CheckValid()`. `CheckValid()` produces an error, which allow us to keep the logic of the code unchanged (either return this error, or terminate the program with `log.Fatal()`. To convert from a Go time to a protobuf Timestamp message, we can now use `timestamppb.New()`, which works all the time, so no more error checking. Documentation at: - https://pkg.go.dev/google.golang.org/protobuf/types/known/emptypb - https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb --- cli/commands.go | 22 +++++++++++----------- cli/rpc.go | 4 ++-- rpc/rpc.go | 47 +++++++++++++++++++++++------------------------ rpc/utils.go | 45 ++++++++++++++++++++------------------------- 4 files changed, 56 insertions(+), 62 deletions(-) diff --git a/cli/commands.go b/cli/commands.go index 9743988f..53448d3d 100644 --- a/cli/commands.go +++ b/cli/commands.go @@ -25,13 +25,13 @@ import ( "github.com/etix/mirrorbits/mirrors" "github.com/etix/mirrorbits/rpc" "github.com/etix/mirrorbits/utils" - "github.com/golang/protobuf/ptypes" - "github.com/golang/protobuf/ptypes/empty" "github.com/op/go-logging" "golang.org/x/term" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + "google.golang.org/protobuf/types/known/emptypb" + "google.golang.org/protobuf/types/known/timestamppb" "gopkg.in/yaml.v3" ) @@ -160,7 +160,7 @@ func (c *cli) CmdList(args ...string) error { client := c.GetRPC() ctx, cancel := context.WithTimeout(context.Background(), defaultRPCTimeout) defer cancel() - list, err := client.List(ctx, &empty.Empty{}) + list, err := client.List(ctx, &emptypb.Empty{}) if err != nil { log.Fatal("list error:", err) } @@ -206,10 +206,10 @@ func (c *cli) CmdList(args ...string) error { continue } } - stateSince, err := ptypes.Timestamp(mirror.StateSince) - if err != nil { + if err = mirror.StateSince.CheckValid(); err != nil { log.Fatal("list error:", err) } + stateSince := mirror.StateSince.AsTime() fmt.Fprintf(w, "%s", mirror.Name) if *score == true { fmt.Fprintf(w, "\t%d", mirror.Score) @@ -921,7 +921,7 @@ func (c *cli) CmdExport(args ...string) error { client := c.GetRPC() ctx, cancel := context.WithTimeout(context.Background(), defaultRPCTimeout) defer cancel() - list, err := client.List(ctx, &empty.Empty{}) + list, err := client.List(ctx, &emptypb.Empty{}) if err != nil { log.Fatal("export error:", err) } @@ -1036,13 +1036,13 @@ func (c *cli) CmdStats(args ...string) error { if err != nil { start = time.Now() } - startproto, _ := ptypes.TimestampProto(start) + startproto := timestamppb.New(start) end, err := time.Parse("2006-1-2", *dateEnd) if err != nil { end = time.Now() } - endproto, _ := ptypes.TimestampProto(end) + endproto := timestamppb.New(end) client := c.GetRPC() ctx, cancel := context.WithTimeout(context.Background(), defaultRPCTimeout) @@ -1174,7 +1174,7 @@ func (c *cli) CmdReload(args ...string) error { client := c.GetRPC() ctx, cancel := context.WithTimeout(context.Background(), defaultRPCTimeout) defer cancel() - _, err := client.Reload(ctx, &empty.Empty{}) + _, err := client.Reload(ctx, &emptypb.Empty{}) if err != nil { log.Fatal("reload error:", err) } @@ -1196,7 +1196,7 @@ func (c *cli) CmdUpgrade(args ...string) error { client := c.GetRPC() ctx, cancel := context.WithTimeout(context.Background(), defaultRPCTimeout) defer cancel() - _, err := client.Upgrade(ctx, &empty.Empty{}) + _, err := client.Upgrade(ctx, &emptypb.Empty{}) if err != nil { log.Fatal("upgrade error:", err) } @@ -1222,7 +1222,7 @@ func (c *cli) CmdVersion(args ...string) error { client := c.GetRPC() ctx, cancel := context.WithTimeout(context.Background(), defaultRPCTimeout) defer cancel() - reply, err := client.GetVersion(ctx, &empty.Empty{}) + reply, err := client.GetVersion(ctx, &emptypb.Empty{}) if err != nil { s := status.Convert(err) return fmt.Errorf("version error: %w", s.Err()) diff --git a/cli/rpc.go b/cli/rpc.go index 587f2102..9bc2dc15 100644 --- a/cli/rpc.go +++ b/cli/rpc.go @@ -11,10 +11,10 @@ import ( "github.com/etix/mirrorbits/core" "github.com/etix/mirrorbits/rpc" - "github.com/golang/protobuf/ptypes/empty" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + "google.golang.org/protobuf/types/known/emptypb" ) func (c *cli) GetRPC() rpc.CLIClient { @@ -33,7 +33,7 @@ func (c *cli) GetRPC() rpc.CLIClient { } c.rpcconn = conn client := rpc.NewCLIClient(c.rpcconn) - _, err = client.Ping(context.Background(), &empty.Empty{}) + _, err = client.Ping(context.Background(), &emptypb.Empty{}) s := status.Convert(err) if s.Code() == codes.Unauthenticated { if len(c.creds.Password) == 0 { diff --git a/rpc/rpc.go b/rpc/rpc.go index 8955a0ad..cd1ac87a 100644 --- a/rpc/rpc.go +++ b/rpc/rpc.go @@ -24,14 +24,13 @@ import ( "github.com/etix/mirrorbits/network" "github.com/etix/mirrorbits/scan" "github.com/etix/mirrorbits/utils" - "github.com/golang/protobuf/ptypes" - "github.com/golang/protobuf/ptypes/empty" "github.com/gomodule/redigo/redis" context "golang.org/x/net/context" grpc "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/reflection" "google.golang.org/grpc/status" + "google.golang.org/protobuf/types/known/emptypb" "gopkg.in/yaml.v3" ) @@ -86,11 +85,11 @@ func (c *CLI) SetCache(cache *mirrors.Cache) { c.cache = cache } -func (c *CLI) Ping(context.Context, *empty.Empty) (*empty.Empty, error) { - return &empty.Empty{}, nil +func (c *CLI) Ping(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { + return &emptypb.Empty{}, nil } -func (c *CLI) GetVersion(context.Context, *empty.Empty) (*VersionReply, error) { +func (c *CLI) GetVersion(context.Context, *emptypb.Empty) (*VersionReply, error) { return &VersionReply{ Version: core.VERSION, Build: core.BUILD + core.DEV, @@ -101,22 +100,22 @@ func (c *CLI) GetVersion(context.Context, *empty.Empty) (*VersionReply, error) { }, nil } -func (c *CLI) Upgrade(ctx context.Context, in *empty.Empty) (*empty.Empty, error) { +func (c *CLI) Upgrade(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error) { select { case c.sig <- syscall.SIGUSR2: default: return nil, status.Error(codes.Internal, "signal handler not ready") } - return &empty.Empty{}, nil + return &emptypb.Empty{}, nil } -func (c *CLI) Reload(ctx context.Context, in *empty.Empty) (*empty.Empty, error) { +func (c *CLI) Reload(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error) { select { case c.sig <- syscall.SIGHUP: default: return nil, status.Error(codes.Internal, "signal handler not ready") } - return &empty.Empty{}, nil + return &emptypb.Empty{}, nil } func (c *CLI) MatchMirror(ctx context.Context, in *MatchRequest) (*MatchReply, error) { @@ -143,7 +142,7 @@ func (c *CLI) MatchMirror(ctx context.Context, in *MatchRequest) (*MatchReply, e return reply, nil } -func (c *CLI) ChangeStatus(ctx context.Context, in *ChangeStatusRequest) (*empty.Empty, error) { +func (c *CLI) ChangeStatus(ctx context.Context, in *ChangeStatusRequest) (*emptypb.Empty, error) { if in.ID <= 0 { return nil, status.Error(codes.FailedPrecondition, "invalid mirror id") } @@ -157,10 +156,10 @@ func (c *CLI) ChangeStatus(ctx context.Context, in *ChangeStatusRequest) (*empty err = mirrors.DisableMirror(c.redis, int(in.ID)) } - return &empty.Empty{}, err + return &emptypb.Empty{}, err } -func (c *CLI) List(ctx context.Context, in *empty.Empty) (*MirrorListReply, error) { +func (c *CLI) List(ctx context.Context, in *emptypb.Empty) (*MirrorListReply, error) { conn, err := c.redis.Connect() if err != nil { return nil, err @@ -522,7 +521,7 @@ func (c *CLI) setMirror(mirror *mirrors.Mirror) error { return nil } -func (c *CLI) RemoveMirror(ctx context.Context, in *MirrorIDRequest) (*empty.Empty, error) { +func (c *CLI) RemoveMirror(ctx context.Context, in *MirrorIDRequest) (*emptypb.Empty, error) { if in.ID <= 0 { return nil, status.Error(codes.FailedPrecondition, "invalid mirror id") } @@ -574,11 +573,11 @@ func (c *CLI) RemoveMirror(ctx context.Context, in *MirrorIDRequest) (*empty.Emp // Publish update database.Publish(conn, database.MIRROR_UPDATE, strconv.Itoa(int(in.ID))) - return &empty.Empty{}, nil + return &emptypb.Empty{}, nil } -func (c *CLI) RefreshRepository(ctx context.Context, in *RefreshRepositoryRequest) (*empty.Empty, error) { - return &empty.Empty{}, scan.ScanSource(c.redis, in.Rehash, nil) +func (c *CLI) RefreshRepository(ctx context.Context, in *RefreshRepositoryRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, scan.ScanSource(c.redis, in.Rehash, nil) } func (c *CLI) ScanMirror(ctx context.Context, in *ScanMirrorRequest) (*ScanMirrorReply, error) { @@ -685,14 +684,14 @@ func (c *CLI) StatsFile(ctx context.Context, in *StatsFileRequest) (*StatsFileRe defer conn.Close() // Convert the timestamps - start, err := ptypes.Timestamp(in.DateStart) - if err != nil { + if err = in.DateStart.CheckValid(); err != nil { return nil, err } - end, err := ptypes.Timestamp(in.DateEnd) - if err != nil { + start := in.DateStart.AsTime() + if err = in.DateEnd.CheckValid(); err != nil { return nil, err } + end := in.DateEnd.AsTime() // Compile the regex pattern re, err := regexp.Compile(in.Pattern) @@ -750,14 +749,14 @@ func (c *CLI) StatsMirror(ctx context.Context, in *StatsMirrorRequest) (*StatsMi defer conn.Close() // Convert the timestamps - start, err := ptypes.Timestamp(in.DateStart) - if err != nil { + if err = in.DateStart.CheckValid(); err != nil { return nil, err } - end, err := ptypes.Timestamp(in.DateEnd) - if err != nil { + start := in.DateStart.AsTime() + if err = in.DateEnd.CheckValid(); err != nil { return nil, err } + end := in.DateEnd.AsTime() // Generate the list of redis key for the period tkcoverage := utils.TimeKeyCoverage(start, end) diff --git a/rpc/utils.go b/rpc/utils.go index 94eb8ba8..a17e0742 100644 --- a/rpc/utils.go +++ b/rpc/utils.go @@ -5,26 +5,15 @@ package rpc import ( "github.com/etix/mirrorbits/mirrors" - "github.com/golang/protobuf/ptypes" + "google.golang.org/protobuf/types/known/timestamppb" ) func MirrorToRPC(m *mirrors.Mirror) (*Mirror, error) { - stateSince, err := ptypes.TimestampProto(m.StateSince.Time) - if err != nil { - return nil, err - } - lastSync, err := ptypes.TimestampProto(m.LastSync.Time) - if err != nil { - return nil, err - } - lastSuccessfulSync, err := ptypes.TimestampProto(m.LastSuccessfulSync.Time) - if err != nil { - return nil, err - } - lastModTime, err := ptypes.TimestampProto(m.LastModTime.Time) - if err != nil { - return nil, err - } + stateSince := timestamppb.New(m.StateSince.Time) + lastSync := timestamppb.New(m.LastSync.Time) + lastSuccessfulSync := timestamppb.New(m.LastSuccessfulSync.Time) + lastModTime := timestamppb.New(m.LastModTime.Time) + return &Mirror{ ID: int32(m.ID), Name: m.Name, @@ -62,22 +51,28 @@ func MirrorToRPC(m *mirrors.Mirror) (*Mirror, error) { } func MirrorFromRPC(m *Mirror) (*mirrors.Mirror, error) { - stateSince, err := ptypes.Timestamp(m.StateSince) - if err != nil { + var err error + + if err = m.StateSince.CheckValid(); err != nil { return nil, err } - lastSync, err := ptypes.Timestamp(m.LastSync) - if err != nil { + stateSince := m.StateSince.AsTime() + + if err = m.LastSync.CheckValid(); err != nil { return nil, err } - lastSuccessfulSync, err := ptypes.Timestamp(m.LastSuccessfulSync) - if err != nil { + lastSync := m.LastSync.AsTime() + + if err = m.LastSuccessfulSync.CheckValid(); err != nil { return nil, err } - lastModTime, err := ptypes.Timestamp(m.LastModTime) - if err != nil { + lastSuccessfulSync := m.LastSuccessfulSync.AsTime() + + if err = m.LastModTime.CheckValid(); err != nil { return nil, err } + lastModTime := m.LastModTime.AsTime() + return &mirrors.Mirror{ ID: int(m.ID), Name: m.Name, From 0c71adde6f565d10aa19045083ac64e549e8ebf9 Mon Sep 17 00:00:00 2001 From: Arnaud Rebillout Date: Thu, 25 Jun 2026 10:10:02 +0700 Subject: [PATCH 3/5] protobuf APIv2: Add UnimplementedCLIServer to CLI struct This is a change required by grpc-go >= v1.30.0, cf. https://github.com/grpc/grpc-go/commit/ad51f572fd270f2323e3aa2c1d2775cab9087af2 Otherwise build fails with: ``` rpc/rpc.go:61:30: cannot use c (variable of type *CLI) as CLIServer value in argument to RegisterCLIServer: *CLI does not implement CLIServer (missing method mustEmbedUnimplementedCLIServer) ``` --- rpc/rpc.go | 1 + 1 file changed, 1 insertion(+) diff --git a/rpc/rpc.go b/rpc/rpc.go index cd1ac87a..a328ce04 100644 --- a/rpc/rpc.go +++ b/rpc/rpc.go @@ -41,6 +41,7 @@ var ( // CLI object handles the server side RPC of the CLI type CLI struct { + UnimplementedCLIServer listener net.Listener server *grpc.Server sig chan<- os.Signal From 3e9a6a7aa2db2b4aeeac2ce052cbd158cddb19ef Mon Sep 17 00:00:00 2001 From: Arnaud Rebillout Date: Thu, 25 Jun 2026 10:40:51 +0700 Subject: [PATCH 4/5] protobuf APIv2: Update Makefile, go.mod and rpc.proto Switch from github.com/golang/protobuf to google.golang.org/protobuf to transition to protobuf API v2. Update the commands to generate the code in Makefile. Details below. === go.mod: protobuf v1.20.0 marked the transition to the protobuf API v2, this is the minimul version we can use, in theory. v1.25.0 introduced the method CheckValid() for the protobuf Timestamp type, and we want to use it. === go.mod: grpc We need version 1.32 at least, otherwise the code generated fails to compile with: ``` rpc/rpc_grpc.pb.go:20:16: undefined: grpc.SupportPackageIsVersion7 rpc/rpc_grpc.pb.go:296:31: undefined: grpc.ServiceRegistrar ``` === Makefile: protoc-gen-go-grpc The version of protoc-gen-go-grpc is not aligned with the versions of go-grpc, even though it all comes from https://github.com/grpc/grpc-go/. The list of the protoc-gen-go-grpc versions available can be found at: https://pkg.go.dev/google.golang.org/grpc/cmd/protoc-gen-go-grpc?tab=versions --- Makefile | 13 ++++++++++--- go.mod | 4 ++-- rpc/rpc.proto | 2 ++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index da391420..505811a7 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,12 @@ export PATH := $(GOPATH)/bin:$(PATH) PKG_CONFIG ?= /usr/bin/pkg-config SERVICEDIR_SYSTEMD ?= $(shell $(PKG_CONFIG) systemd --variable=systemdsystemunitdir) +# Version in line with what we have in go.mod +PROTOC_GEN_GO_VERSION := $(shell grep -F 'google.golang.org/protobuf ' go.mod | head -1 | awk '{print $$2}') +# Version not aligned with grpc-go versions, check the list at: +# https://pkg.go.dev/google.golang.org/grpc/cmd/protoc-gen-go-grpc?tab=versions +PROTOC_GEN_GO_GRPC_VERSION := v1.0.1 + all: build regen-proto: rpc/rpc.proto @@ -32,9 +38,10 @@ regen-proto: rpc/rpc.proto echo "error: protoc not installed" >&2; \ exit 1; \ fi - go install github.com/golang/protobuf/protoc-gen-go@v1.3.5 && \ - rm -f rpc/rpc.pb.go && \ - protoc -I rpc rpc/rpc.proto --go_out=plugins=grpc:rpc + go install google.golang.org/protobuf/cmd/protoc-gen-go@$(PROTOC_GEN_GO_VERSION) && \ + go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@$(PROTOC_GEN_GO_GRPC_VERSION) && \ + rm -f rpc/rpc.pb.go rpc/rpc_grpc.pb.go && \ + protoc --go_out=. --go-grpc_out=. ./rpc/rpc.proto build: GO111MODULE=on go build $(GOFLAGS) -o $(BINARY) . diff --git a/go.mod b/go.mod index ed26a6ad..2fa82e10 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,6 @@ module github.com/etix/mirrorbits require ( github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f github.com/etix/goftp v0.0.0-20170217140226-0c13163a1028 - github.com/golang/protobuf v1.3.2 github.com/gomodule/redigo v0.0.0-20181026001555-e8fc0692a7e2 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 github.com/oschwald/maxminddb-golang v1.5.0 @@ -11,7 +10,8 @@ require ( github.com/youtube/vitess v0.0.0-20181105031612-54855ec7b369 golang.org/x/net v0.0.0-20190912160710-24e19bdeb0f2 golang.org/x/term v0.1.0 - google.golang.org/grpc v1.27.1 + google.golang.org/grpc v1.32.0 + google.golang.org/protobuf v1.25.0 gopkg.in/tylerb/graceful.v1 v1.2.15 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/rpc/rpc.proto b/rpc/rpc.proto index e2c97db6..935d5108 100644 --- a/rpc/rpc.proto +++ b/rpc/rpc.proto @@ -1,5 +1,7 @@ syntax = "proto3"; +option go_package = "./rpc"; + import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; From 9f1461297ecb729b75494f3535699da781e8ab46 Mon Sep 17 00:00:00 2001 From: Arnaud Rebillout Date: Thu, 25 Jun 2026 11:45:11 +0700 Subject: [PATCH 5/5] protobuf APIv2: Run 'go mod tidy' and 'make regen-proto' Commands run from a golang:1.18 container --- go.mod | 3 +- go.sum | 40 +- rpc/rpc.pb.go | 3041 ++++++++++++++++++++++---------------------- rpc/rpc_grpc.pb.go | 676 ++++++++++ 4 files changed, 2241 insertions(+), 1519 deletions(-) create mode 100644 rpc/rpc_grpc.pb.go diff --git a/go.mod b/go.mod index 2fa82e10..3f596b47 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,7 @@ module github.com/etix/mirrorbits require ( github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f github.com/etix/goftp v0.0.0-20170217140226-0c13163a1028 + github.com/golang/protobuf v1.4.1 github.com/gomodule/redigo v0.0.0-20181026001555-e8fc0692a7e2 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 github.com/oschwald/maxminddb-golang v1.5.0 @@ -21,7 +22,7 @@ require ( github.com/stretchr/testify v1.4.0 // indirect golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 // indirect golang.org/x/text v0.3.2 // indirect - google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 // indirect + google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 // indirect gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect vitess.io/vitess v2.1.1+incompatible // indirect ) diff --git a/go.sum b/go.sum index 6fb353f1..9f9cbced 100644 --- a/go.sum +++ b/go.sum @@ -2,24 +2,37 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f h1:JOrtw2xFKzlg+cbHpyrpLDmnN1HqhBfnX7WDiW7eG2c= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/etix/goftp v0.0.0-20170217140226-0c13163a1028 h1:hO2NDwWjaY+FjWoZdMLapjkxt9Gpnmjb4ZdfOaQi9nI= github.com/etix/goftp v0.0.0-20170217140226-0c13163a1028/go.mod h1:broujVOEKwPL7fT3Xa1mJzV2aIqT1keOqSVEPqEO61Y= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1 h1:ZFgWrT+bLgsYPirOnRfKLYJLvssAegOj/hgyMFdJZe0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/gomodule/redigo v0.0.0-20181026001555-e8fc0692a7e2 h1:Gzyurvlb8eehpl7l2YLkMddyOXWkdQN7wU5x5l/xM9s= github.com/gomodule/redigo v0.0.0-20181026001555-e8fc0692a7e2/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= -github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -68,16 +81,29 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 h1:Ex1mq5jaJof+kRnYi3SlYJ8KKa9Ao3NHyIT5XJ1gF6U= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.32.0 h1:zWTV+LMdc3kaiJMSTOFz2UgSBgx8RNQoTGiZu3fR9S0= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/rpc/rpc.pb.go b/rpc/rpc.pb.go index 37890441..b5379880 100644 --- a/rpc/rpc.pb.go +++ b/rpc/rpc.pb.go @@ -1,30 +1,31 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// source: rpc.proto +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.4 +// source: rpc/rpc.proto package rpc import ( - context "context" - fmt "fmt" proto "github.com/golang/protobuf/proto" empty "github.com/golang/protobuf/ptypes/empty" timestamp "github.com/golang/protobuf/ptypes/timestamp" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - math "math" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" ) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +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) +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 type ScanMirrorRequest_Method int32 @@ -34,145 +35,186 @@ const ( ScanMirrorRequest_RSYNC ScanMirrorRequest_Method = 2 ) -var ScanMirrorRequest_Method_name = map[int32]string{ - 0: "ALL", - 1: "FTP", - 2: "RSYNC", -} +// Enum value maps for ScanMirrorRequest_Method. +var ( + ScanMirrorRequest_Method_name = map[int32]string{ + 0: "ALL", + 1: "FTP", + 2: "RSYNC", + } + ScanMirrorRequest_Method_value = map[string]int32{ + "ALL": 0, + "FTP": 1, + "RSYNC": 2, + } +) -var ScanMirrorRequest_Method_value = map[string]int32{ - "ALL": 0, - "FTP": 1, - "RSYNC": 2, +func (x ScanMirrorRequest_Method) Enum() *ScanMirrorRequest_Method { + p := new(ScanMirrorRequest_Method) + *p = x + return p } func (x ScanMirrorRequest_Method) String() string { - return proto.EnumName(ScanMirrorRequest_Method_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ScanMirrorRequest_Method) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{12, 0} +func (ScanMirrorRequest_Method) Descriptor() protoreflect.EnumDescriptor { + return file_rpc_rpc_proto_enumTypes[0].Descriptor() } -type VersionReply struct { - Version string `protobuf:"bytes,1,opt,name=Version,proto3" json:"Version,omitempty"` - Build string `protobuf:"bytes,2,opt,name=Build,proto3" json:"Build,omitempty"` - GoVersion string `protobuf:"bytes,3,opt,name=GoVersion,proto3" json:"GoVersion,omitempty"` - OS string `protobuf:"bytes,4,opt,name=OS,proto3" json:"OS,omitempty"` - Arch string `protobuf:"bytes,5,opt,name=Arch,proto3" json:"Arch,omitempty"` - GoMaxProcs int32 `protobuf:"varint,6,opt,name=GoMaxProcs,proto3" json:"GoMaxProcs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *VersionReply) Reset() { *m = VersionReply{} } -func (m *VersionReply) String() string { return proto.CompactTextString(m) } -func (*VersionReply) ProtoMessage() {} -func (*VersionReply) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{0} +func (ScanMirrorRequest_Method) Type() protoreflect.EnumType { + return &file_rpc_rpc_proto_enumTypes[0] } -func (m *VersionReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_VersionReply.Unmarshal(m, b) +func (x ScanMirrorRequest_Method) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ScanMirrorRequest_Method.Descriptor instead. +func (ScanMirrorRequest_Method) EnumDescriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{12, 0} } -func (m *VersionReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_VersionReply.Marshal(b, m, deterministic) + +type VersionReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version string `protobuf:"bytes,1,opt,name=Version,proto3" json:"Version,omitempty"` + Build string `protobuf:"bytes,2,opt,name=Build,proto3" json:"Build,omitempty"` + GoVersion string `protobuf:"bytes,3,opt,name=GoVersion,proto3" json:"GoVersion,omitempty"` + OS string `protobuf:"bytes,4,opt,name=OS,proto3" json:"OS,omitempty"` + Arch string `protobuf:"bytes,5,opt,name=Arch,proto3" json:"Arch,omitempty"` + GoMaxProcs int32 `protobuf:"varint,6,opt,name=GoMaxProcs,proto3" json:"GoMaxProcs,omitempty"` } -func (m *VersionReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_VersionReply.Merge(m, src) + +func (x *VersionReply) Reset() { + *x = VersionReply{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *VersionReply) XXX_Size() int { - return xxx_messageInfo_VersionReply.Size(m) + +func (x *VersionReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *VersionReply) XXX_DiscardUnknown() { - xxx_messageInfo_VersionReply.DiscardUnknown(m) + +func (*VersionReply) ProtoMessage() {} + +func (x *VersionReply) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_VersionReply proto.InternalMessageInfo +// Deprecated: Use VersionReply.ProtoReflect.Descriptor instead. +func (*VersionReply) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{0} +} -func (m *VersionReply) GetVersion() string { - if m != nil { - return m.Version +func (x *VersionReply) GetVersion() string { + if x != nil { + return x.Version } return "" } -func (m *VersionReply) GetBuild() string { - if m != nil { - return m.Build +func (x *VersionReply) GetBuild() string { + if x != nil { + return x.Build } return "" } -func (m *VersionReply) GetGoVersion() string { - if m != nil { - return m.GoVersion +func (x *VersionReply) GetGoVersion() string { + if x != nil { + return x.GoVersion } return "" } -func (m *VersionReply) GetOS() string { - if m != nil { - return m.OS +func (x *VersionReply) GetOS() string { + if x != nil { + return x.OS } return "" } -func (m *VersionReply) GetArch() string { - if m != nil { - return m.Arch +func (x *VersionReply) GetArch() string { + if x != nil { + return x.Arch } return "" } -func (m *VersionReply) GetGoMaxProcs() int32 { - if m != nil { - return m.GoMaxProcs +func (x *VersionReply) GetGoMaxProcs() int32 { + if x != nil { + return x.GoMaxProcs } return 0 } type MatchRequest struct { - Pattern string `protobuf:"bytes,1,opt,name=Pattern,proto3" json:"Pattern,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *MatchRequest) Reset() { *m = MatchRequest{} } -func (m *MatchRequest) String() string { return proto.CompactTextString(m) } -func (*MatchRequest) ProtoMessage() {} -func (*MatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{1} + Pattern string `protobuf:"bytes,1,opt,name=Pattern,proto3" json:"Pattern,omitempty"` } -func (m *MatchRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MatchRequest.Unmarshal(m, b) -} -func (m *MatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MatchRequest.Marshal(b, m, deterministic) -} -func (m *MatchRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_MatchRequest.Merge(m, src) +func (x *MatchRequest) Reset() { + *x = MatchRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *MatchRequest) XXX_Size() int { - return xxx_messageInfo_MatchRequest.Size(m) + +func (x *MatchRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *MatchRequest) XXX_DiscardUnknown() { - xxx_messageInfo_MatchRequest.DiscardUnknown(m) + +func (*MatchRequest) ProtoMessage() {} + +func (x *MatchRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_MatchRequest proto.InternalMessageInfo +// Deprecated: Use MatchRequest.ProtoReflect.Descriptor instead. +func (*MatchRequest) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{1} +} -func (m *MatchRequest) GetPattern() string { - if m != nil { - return m.Pattern +func (x *MatchRequest) GetPattern() string { + if x != nil { + return x.Pattern } return "" } type Mirror struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` HttpURL string `protobuf:"bytes,3,opt,name=HttpURL,proto3" json:"HttpURL,omitempty"` @@ -205,1878 +247,1855 @@ type Mirror struct { LastModTime *timestamp.Timestamp `protobuf:"bytes,30,opt,name=LastModTime,proto3" json:"LastModTime,omitempty"` HttpsUp bool `protobuf:"varint,31,opt,name=HttpsUp,proto3" json:"HttpsUp,omitempty"` HttpsDownReason string `protobuf:"bytes,32,opt,name=HttpsDownReason,proto3" json:"HttpsDownReason,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *Mirror) Reset() { *m = Mirror{} } -func (m *Mirror) String() string { return proto.CompactTextString(m) } -func (*Mirror) ProtoMessage() {} -func (*Mirror) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{2} +func (x *Mirror) Reset() { + *x = Mirror{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Mirror) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Mirror.Unmarshal(m, b) -} -func (m *Mirror) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Mirror.Marshal(b, m, deterministic) -} -func (m *Mirror) XXX_Merge(src proto.Message) { - xxx_messageInfo_Mirror.Merge(m, src) +func (x *Mirror) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Mirror) XXX_Size() int { - return xxx_messageInfo_Mirror.Size(m) -} -func (m *Mirror) XXX_DiscardUnknown() { - xxx_messageInfo_Mirror.DiscardUnknown(m) + +func (*Mirror) ProtoMessage() {} + +func (x *Mirror) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_Mirror proto.InternalMessageInfo +// Deprecated: Use Mirror.ProtoReflect.Descriptor instead. +func (*Mirror) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{2} +} -func (m *Mirror) GetID() int32 { - if m != nil { - return m.ID +func (x *Mirror) GetID() int32 { + if x != nil { + return x.ID } return 0 } -func (m *Mirror) GetName() string { - if m != nil { - return m.Name +func (x *Mirror) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *Mirror) GetHttpURL() string { - if m != nil { - return m.HttpURL +func (x *Mirror) GetHttpURL() string { + if x != nil { + return x.HttpURL } return "" } -func (m *Mirror) GetRsyncURL() string { - if m != nil { - return m.RsyncURL +func (x *Mirror) GetRsyncURL() string { + if x != nil { + return x.RsyncURL } return "" } -func (m *Mirror) GetFtpURL() string { - if m != nil { - return m.FtpURL +func (x *Mirror) GetFtpURL() string { + if x != nil { + return x.FtpURL } return "" } -func (m *Mirror) GetSponsorName() string { - if m != nil { - return m.SponsorName +func (x *Mirror) GetSponsorName() string { + if x != nil { + return x.SponsorName } return "" } -func (m *Mirror) GetSponsorURL() string { - if m != nil { - return m.SponsorURL +func (x *Mirror) GetSponsorURL() string { + if x != nil { + return x.SponsorURL } return "" } -func (m *Mirror) GetSponsorLogoURL() string { - if m != nil { - return m.SponsorLogoURL +func (x *Mirror) GetSponsorLogoURL() string { + if x != nil { + return x.SponsorLogoURL } return "" } -func (m *Mirror) GetAdminName() string { - if m != nil { - return m.AdminName +func (x *Mirror) GetAdminName() string { + if x != nil { + return x.AdminName } return "" } -func (m *Mirror) GetAdminEmail() string { - if m != nil { - return m.AdminEmail +func (x *Mirror) GetAdminEmail() string { + if x != nil { + return x.AdminEmail } return "" } -func (m *Mirror) GetCustomData() string { - if m != nil { - return m.CustomData +func (x *Mirror) GetCustomData() string { + if x != nil { + return x.CustomData } return "" } -func (m *Mirror) GetContinentOnly() bool { - if m != nil { - return m.ContinentOnly +func (x *Mirror) GetContinentOnly() bool { + if x != nil { + return x.ContinentOnly } return false } -func (m *Mirror) GetCountryOnly() bool { - if m != nil { - return m.CountryOnly +func (x *Mirror) GetCountryOnly() bool { + if x != nil { + return x.CountryOnly } return false } -func (m *Mirror) GetASOnly() bool { - if m != nil { - return m.ASOnly +func (x *Mirror) GetASOnly() bool { + if x != nil { + return x.ASOnly } return false } -func (m *Mirror) GetScore() int32 { - if m != nil { - return m.Score +func (x *Mirror) GetScore() int32 { + if x != nil { + return x.Score } return 0 } -func (m *Mirror) GetLatitude() float32 { - if m != nil { - return m.Latitude +func (x *Mirror) GetLatitude() float32 { + if x != nil { + return x.Latitude } return 0 } -func (m *Mirror) GetLongitude() float32 { - if m != nil { - return m.Longitude +func (x *Mirror) GetLongitude() float32 { + if x != nil { + return x.Longitude } return 0 } -func (m *Mirror) GetContinentCode() string { - if m != nil { - return m.ContinentCode +func (x *Mirror) GetContinentCode() string { + if x != nil { + return x.ContinentCode } return "" } -func (m *Mirror) GetCountryCodes() string { - if m != nil { - return m.CountryCodes +func (x *Mirror) GetCountryCodes() string { + if x != nil { + return x.CountryCodes } return "" } -func (m *Mirror) GetExcludedCountryCodes() string { - if m != nil { - return m.ExcludedCountryCodes +func (x *Mirror) GetExcludedCountryCodes() string { + if x != nil { + return x.ExcludedCountryCodes } return "" } -func (m *Mirror) GetAsnum() uint32 { - if m != nil { - return m.Asnum +func (x *Mirror) GetAsnum() uint32 { + if x != nil { + return x.Asnum } return 0 } -func (m *Mirror) GetComment() string { - if m != nil { - return m.Comment +func (x *Mirror) GetComment() string { + if x != nil { + return x.Comment } return "" } -func (m *Mirror) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *Mirror) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } -func (m *Mirror) GetHttpUp() bool { - if m != nil { - return m.HttpUp +func (x *Mirror) GetHttpUp() bool { + if x != nil { + return x.HttpUp } return false } -func (m *Mirror) GetHttpDownReason() string { - if m != nil { - return m.HttpDownReason +func (x *Mirror) GetHttpDownReason() string { + if x != nil { + return x.HttpDownReason } return "" } -func (m *Mirror) GetStateSince() *timestamp.Timestamp { - if m != nil { - return m.StateSince +func (x *Mirror) GetStateSince() *timestamp.Timestamp { + if x != nil { + return x.StateSince } return nil } -func (m *Mirror) GetAllowRedirects() int32 { - if m != nil { - return m.AllowRedirects +func (x *Mirror) GetAllowRedirects() int32 { + if x != nil { + return x.AllowRedirects } return 0 } -func (m *Mirror) GetLastSync() *timestamp.Timestamp { - if m != nil { - return m.LastSync +func (x *Mirror) GetLastSync() *timestamp.Timestamp { + if x != nil { + return x.LastSync } return nil } -func (m *Mirror) GetLastSuccessfulSync() *timestamp.Timestamp { - if m != nil { - return m.LastSuccessfulSync +func (x *Mirror) GetLastSuccessfulSync() *timestamp.Timestamp { + if x != nil { + return x.LastSuccessfulSync } return nil } -func (m *Mirror) GetLastModTime() *timestamp.Timestamp { - if m != nil { - return m.LastModTime +func (x *Mirror) GetLastModTime() *timestamp.Timestamp { + if x != nil { + return x.LastModTime } return nil } -func (m *Mirror) GetHttpsUp() bool { - if m != nil { - return m.HttpsUp +func (x *Mirror) GetHttpsUp() bool { + if x != nil { + return x.HttpsUp } return false } -func (m *Mirror) GetHttpsDownReason() string { - if m != nil { - return m.HttpsDownReason +func (x *Mirror) GetHttpsDownReason() string { + if x != nil { + return x.HttpsDownReason } return "" } type MirrorListReply struct { - Mirrors []*Mirror `protobuf:"bytes,1,rep,name=Mirrors,proto3" json:"Mirrors,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *MirrorListReply) Reset() { *m = MirrorListReply{} } -func (m *MirrorListReply) String() string { return proto.CompactTextString(m) } -func (*MirrorListReply) ProtoMessage() {} -func (*MirrorListReply) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{3} + Mirrors []*Mirror `protobuf:"bytes,1,rep,name=Mirrors,proto3" json:"Mirrors,omitempty"` } -func (m *MirrorListReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MirrorListReply.Unmarshal(m, b) -} -func (m *MirrorListReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MirrorListReply.Marshal(b, m, deterministic) -} -func (m *MirrorListReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_MirrorListReply.Merge(m, src) +func (x *MirrorListReply) Reset() { + *x = MirrorListReply{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *MirrorListReply) XXX_Size() int { - return xxx_messageInfo_MirrorListReply.Size(m) + +func (x *MirrorListReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *MirrorListReply) XXX_DiscardUnknown() { - xxx_messageInfo_MirrorListReply.DiscardUnknown(m) + +func (*MirrorListReply) ProtoMessage() {} + +func (x *MirrorListReply) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_MirrorListReply proto.InternalMessageInfo +// Deprecated: Use MirrorListReply.ProtoReflect.Descriptor instead. +func (*MirrorListReply) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{3} +} -func (m *MirrorListReply) GetMirrors() []*Mirror { - if m != nil { - return m.Mirrors +func (x *MirrorListReply) GetMirrors() []*Mirror { + if x != nil { + return x.Mirrors } return nil } type MirrorID struct { - ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *MirrorID) Reset() { *m = MirrorID{} } -func (m *MirrorID) String() string { return proto.CompactTextString(m) } -func (*MirrorID) ProtoMessage() {} -func (*MirrorID) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{4} + ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` } -func (m *MirrorID) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MirrorID.Unmarshal(m, b) -} -func (m *MirrorID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MirrorID.Marshal(b, m, deterministic) -} -func (m *MirrorID) XXX_Merge(src proto.Message) { - xxx_messageInfo_MirrorID.Merge(m, src) +func (x *MirrorID) Reset() { + *x = MirrorID{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *MirrorID) XXX_Size() int { - return xxx_messageInfo_MirrorID.Size(m) + +func (x *MirrorID) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *MirrorID) XXX_DiscardUnknown() { - xxx_messageInfo_MirrorID.DiscardUnknown(m) + +func (*MirrorID) ProtoMessage() {} + +func (x *MirrorID) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_MirrorID proto.InternalMessageInfo +// Deprecated: Use MirrorID.ProtoReflect.Descriptor instead. +func (*MirrorID) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{4} +} -func (m *MirrorID) GetID() int32 { - if m != nil { - return m.ID +func (x *MirrorID) GetID() int32 { + if x != nil { + return x.ID } return 0 } -func (m *MirrorID) GetName() string { - if m != nil { - return m.Name +func (x *MirrorID) GetName() string { + if x != nil { + return x.Name } return "" } type MatchReply struct { - Mirrors []*MirrorID `protobuf:"bytes,1,rep,name=Mirrors,proto3" json:"Mirrors,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *MatchReply) Reset() { *m = MatchReply{} } -func (m *MatchReply) String() string { return proto.CompactTextString(m) } -func (*MatchReply) ProtoMessage() {} -func (*MatchReply) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{5} + Mirrors []*MirrorID `protobuf:"bytes,1,rep,name=Mirrors,proto3" json:"Mirrors,omitempty"` } -func (m *MatchReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MatchReply.Unmarshal(m, b) -} -func (m *MatchReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MatchReply.Marshal(b, m, deterministic) -} -func (m *MatchReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_MatchReply.Merge(m, src) +func (x *MatchReply) Reset() { + *x = MatchReply{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *MatchReply) XXX_Size() int { - return xxx_messageInfo_MatchReply.Size(m) + +func (x *MatchReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *MatchReply) XXX_DiscardUnknown() { - xxx_messageInfo_MatchReply.DiscardUnknown(m) + +func (*MatchReply) ProtoMessage() {} + +func (x *MatchReply) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_MatchReply proto.InternalMessageInfo +// Deprecated: Use MatchReply.ProtoReflect.Descriptor instead. +func (*MatchReply) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{5} +} -func (m *MatchReply) GetMirrors() []*MirrorID { - if m != nil { - return m.Mirrors +func (x *MatchReply) GetMirrors() []*MirrorID { + if x != nil { + return x.Mirrors } return nil } type ChangeStatusRequest struct { - ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Enabled bool `protobuf:"varint,2,opt,name=Enabled,proto3" json:"Enabled,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ChangeStatusRequest) Reset() { *m = ChangeStatusRequest{} } -func (m *ChangeStatusRequest) String() string { return proto.CompactTextString(m) } -func (*ChangeStatusRequest) ProtoMessage() {} -func (*ChangeStatusRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{6} + ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Enabled bool `protobuf:"varint,2,opt,name=Enabled,proto3" json:"Enabled,omitempty"` } -func (m *ChangeStatusRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ChangeStatusRequest.Unmarshal(m, b) -} -func (m *ChangeStatusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ChangeStatusRequest.Marshal(b, m, deterministic) -} -func (m *ChangeStatusRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ChangeStatusRequest.Merge(m, src) +func (x *ChangeStatusRequest) Reset() { + *x = ChangeStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ChangeStatusRequest) XXX_Size() int { - return xxx_messageInfo_ChangeStatusRequest.Size(m) + +func (x *ChangeStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ChangeStatusRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ChangeStatusRequest.DiscardUnknown(m) + +func (*ChangeStatusRequest) ProtoMessage() {} + +func (x *ChangeStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_ChangeStatusRequest proto.InternalMessageInfo +// Deprecated: Use ChangeStatusRequest.ProtoReflect.Descriptor instead. +func (*ChangeStatusRequest) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{6} +} -func (m *ChangeStatusRequest) GetID() int32 { - if m != nil { - return m.ID +func (x *ChangeStatusRequest) GetID() int32 { + if x != nil { + return x.ID } return 0 } -func (m *ChangeStatusRequest) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *ChangeStatusRequest) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } type MirrorIDRequest struct { - ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *MirrorIDRequest) Reset() { *m = MirrorIDRequest{} } -func (m *MirrorIDRequest) String() string { return proto.CompactTextString(m) } -func (*MirrorIDRequest) ProtoMessage() {} -func (*MirrorIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{7} + ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` } -func (m *MirrorIDRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MirrorIDRequest.Unmarshal(m, b) -} -func (m *MirrorIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MirrorIDRequest.Marshal(b, m, deterministic) -} -func (m *MirrorIDRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_MirrorIDRequest.Merge(m, src) +func (x *MirrorIDRequest) Reset() { + *x = MirrorIDRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *MirrorIDRequest) XXX_Size() int { - return xxx_messageInfo_MirrorIDRequest.Size(m) + +func (x *MirrorIDRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *MirrorIDRequest) XXX_DiscardUnknown() { - xxx_messageInfo_MirrorIDRequest.DiscardUnknown(m) + +func (*MirrorIDRequest) ProtoMessage() {} + +func (x *MirrorIDRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_MirrorIDRequest proto.InternalMessageInfo +// Deprecated: Use MirrorIDRequest.ProtoReflect.Descriptor instead. +func (*MirrorIDRequest) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{7} +} -func (m *MirrorIDRequest) GetID() int32 { - if m != nil { - return m.ID +func (x *MirrorIDRequest) GetID() int32 { + if x != nil { + return x.ID } return 0 } type AddMirrorReply struct { - Latitude float32 `protobuf:"fixed32,1,opt,name=Latitude,proto3" json:"Latitude,omitempty"` - Longitude float32 `protobuf:"fixed32,2,opt,name=Longitude,proto3" json:"Longitude,omitempty"` - Country string `protobuf:"bytes,3,opt,name=Country,proto3" json:"Country,omitempty"` - Continent string `protobuf:"bytes,4,opt,name=Continent,proto3" json:"Continent,omitempty"` - ASN string `protobuf:"bytes,5,opt,name=ASN,proto3" json:"ASN,omitempty"` - Warnings []string `protobuf:"bytes,6,rep,name=Warnings,proto3" json:"Warnings,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AddMirrorReply) Reset() { *m = AddMirrorReply{} } -func (m *AddMirrorReply) String() string { return proto.CompactTextString(m) } -func (*AddMirrorReply) ProtoMessage() {} -func (*AddMirrorReply) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{8} -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *AddMirrorReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddMirrorReply.Unmarshal(m, b) + Latitude float32 `protobuf:"fixed32,1,opt,name=Latitude,proto3" json:"Latitude,omitempty"` + Longitude float32 `protobuf:"fixed32,2,opt,name=Longitude,proto3" json:"Longitude,omitempty"` + Country string `protobuf:"bytes,3,opt,name=Country,proto3" json:"Country,omitempty"` + Continent string `protobuf:"bytes,4,opt,name=Continent,proto3" json:"Continent,omitempty"` + ASN string `protobuf:"bytes,5,opt,name=ASN,proto3" json:"ASN,omitempty"` + Warnings []string `protobuf:"bytes,6,rep,name=Warnings,proto3" json:"Warnings,omitempty"` } -func (m *AddMirrorReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddMirrorReply.Marshal(b, m, deterministic) -} -func (m *AddMirrorReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddMirrorReply.Merge(m, src) + +func (x *AddMirrorReply) Reset() { + *x = AddMirrorReply{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *AddMirrorReply) XXX_Size() int { - return xxx_messageInfo_AddMirrorReply.Size(m) + +func (x *AddMirrorReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *AddMirrorReply) XXX_DiscardUnknown() { - xxx_messageInfo_AddMirrorReply.DiscardUnknown(m) + +func (*AddMirrorReply) ProtoMessage() {} + +func (x *AddMirrorReply) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_AddMirrorReply proto.InternalMessageInfo +// Deprecated: Use AddMirrorReply.ProtoReflect.Descriptor instead. +func (*AddMirrorReply) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{8} +} -func (m *AddMirrorReply) GetLatitude() float32 { - if m != nil { - return m.Latitude +func (x *AddMirrorReply) GetLatitude() float32 { + if x != nil { + return x.Latitude } return 0 } -func (m *AddMirrorReply) GetLongitude() float32 { - if m != nil { - return m.Longitude +func (x *AddMirrorReply) GetLongitude() float32 { + if x != nil { + return x.Longitude } return 0 } -func (m *AddMirrorReply) GetCountry() string { - if m != nil { - return m.Country +func (x *AddMirrorReply) GetCountry() string { + if x != nil { + return x.Country } return "" } -func (m *AddMirrorReply) GetContinent() string { - if m != nil { - return m.Continent +func (x *AddMirrorReply) GetContinent() string { + if x != nil { + return x.Continent } return "" } -func (m *AddMirrorReply) GetASN() string { - if m != nil { - return m.ASN +func (x *AddMirrorReply) GetASN() string { + if x != nil { + return x.ASN } return "" } -func (m *AddMirrorReply) GetWarnings() []string { - if m != nil { - return m.Warnings +func (x *AddMirrorReply) GetWarnings() []string { + if x != nil { + return x.Warnings } return nil } type UpdateMirrorReply struct { - Diff string `protobuf:"bytes,1,opt,name=Diff,proto3" json:"Diff,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *UpdateMirrorReply) Reset() { *m = UpdateMirrorReply{} } -func (m *UpdateMirrorReply) String() string { return proto.CompactTextString(m) } -func (*UpdateMirrorReply) ProtoMessage() {} -func (*UpdateMirrorReply) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{9} + Diff string `protobuf:"bytes,1,opt,name=Diff,proto3" json:"Diff,omitempty"` } -func (m *UpdateMirrorReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UpdateMirrorReply.Unmarshal(m, b) -} -func (m *UpdateMirrorReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UpdateMirrorReply.Marshal(b, m, deterministic) -} -func (m *UpdateMirrorReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_UpdateMirrorReply.Merge(m, src) +func (x *UpdateMirrorReply) Reset() { + *x = UpdateMirrorReply{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *UpdateMirrorReply) XXX_Size() int { - return xxx_messageInfo_UpdateMirrorReply.Size(m) + +func (x *UpdateMirrorReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *UpdateMirrorReply) XXX_DiscardUnknown() { - xxx_messageInfo_UpdateMirrorReply.DiscardUnknown(m) + +func (*UpdateMirrorReply) ProtoMessage() {} + +func (x *UpdateMirrorReply) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_UpdateMirrorReply proto.InternalMessageInfo +// Deprecated: Use UpdateMirrorReply.ProtoReflect.Descriptor instead. +func (*UpdateMirrorReply) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{9} +} -func (m *UpdateMirrorReply) GetDiff() string { - if m != nil { - return m.Diff +func (x *UpdateMirrorReply) GetDiff() string { + if x != nil { + return x.Diff } return "" } type GeoUpdateMirrorReply struct { - Mirror *Mirror `protobuf:"bytes,1,opt,name=Mirror,proto3" json:"Mirror,omitempty"` - Diff string `protobuf:"bytes,2,opt,name=Diff,proto3" json:"Diff,omitempty"` - Warnings []string `protobuf:"bytes,3,rep,name=Warnings,proto3" json:"Warnings,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *GeoUpdateMirrorReply) Reset() { *m = GeoUpdateMirrorReply{} } -func (m *GeoUpdateMirrorReply) String() string { return proto.CompactTextString(m) } -func (*GeoUpdateMirrorReply) ProtoMessage() {} -func (*GeoUpdateMirrorReply) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{10} + Mirror *Mirror `protobuf:"bytes,1,opt,name=Mirror,proto3" json:"Mirror,omitempty"` + Diff string `protobuf:"bytes,2,opt,name=Diff,proto3" json:"Diff,omitempty"` + Warnings []string `protobuf:"bytes,3,rep,name=Warnings,proto3" json:"Warnings,omitempty"` } -func (m *GeoUpdateMirrorReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GeoUpdateMirrorReply.Unmarshal(m, b) -} -func (m *GeoUpdateMirrorReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GeoUpdateMirrorReply.Marshal(b, m, deterministic) -} -func (m *GeoUpdateMirrorReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_GeoUpdateMirrorReply.Merge(m, src) +func (x *GeoUpdateMirrorReply) Reset() { + *x = GeoUpdateMirrorReply{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *GeoUpdateMirrorReply) XXX_Size() int { - return xxx_messageInfo_GeoUpdateMirrorReply.Size(m) + +func (x *GeoUpdateMirrorReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GeoUpdateMirrorReply) XXX_DiscardUnknown() { - xxx_messageInfo_GeoUpdateMirrorReply.DiscardUnknown(m) + +func (*GeoUpdateMirrorReply) ProtoMessage() {} + +func (x *GeoUpdateMirrorReply) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_GeoUpdateMirrorReply proto.InternalMessageInfo +// Deprecated: Use GeoUpdateMirrorReply.ProtoReflect.Descriptor instead. +func (*GeoUpdateMirrorReply) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{10} +} -func (m *GeoUpdateMirrorReply) GetMirror() *Mirror { - if m != nil { - return m.Mirror +func (x *GeoUpdateMirrorReply) GetMirror() *Mirror { + if x != nil { + return x.Mirror } return nil } -func (m *GeoUpdateMirrorReply) GetDiff() string { - if m != nil { - return m.Diff +func (x *GeoUpdateMirrorReply) GetDiff() string { + if x != nil { + return x.Diff } return "" } -func (m *GeoUpdateMirrorReply) GetWarnings() []string { - if m != nil { - return m.Warnings +func (x *GeoUpdateMirrorReply) GetWarnings() []string { + if x != nil { + return x.Warnings } return nil } type RefreshRepositoryRequest struct { - Rehash bool `protobuf:"varint,1,opt,name=Rehash,proto3" json:"Rehash,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *RefreshRepositoryRequest) Reset() { *m = RefreshRepositoryRequest{} } -func (m *RefreshRepositoryRequest) String() string { return proto.CompactTextString(m) } -func (*RefreshRepositoryRequest) ProtoMessage() {} -func (*RefreshRepositoryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{11} + Rehash bool `protobuf:"varint,1,opt,name=Rehash,proto3" json:"Rehash,omitempty"` } -func (m *RefreshRepositoryRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RefreshRepositoryRequest.Unmarshal(m, b) -} -func (m *RefreshRepositoryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RefreshRepositoryRequest.Marshal(b, m, deterministic) -} -func (m *RefreshRepositoryRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_RefreshRepositoryRequest.Merge(m, src) +func (x *RefreshRepositoryRequest) Reset() { + *x = RefreshRepositoryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RefreshRepositoryRequest) XXX_Size() int { - return xxx_messageInfo_RefreshRepositoryRequest.Size(m) + +func (x *RefreshRepositoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RefreshRepositoryRequest) XXX_DiscardUnknown() { - xxx_messageInfo_RefreshRepositoryRequest.DiscardUnknown(m) + +func (*RefreshRepositoryRequest) ProtoMessage() {} + +func (x *RefreshRepositoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_RefreshRepositoryRequest proto.InternalMessageInfo +// Deprecated: Use RefreshRepositoryRequest.ProtoReflect.Descriptor instead. +func (*RefreshRepositoryRequest) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{11} +} -func (m *RefreshRepositoryRequest) GetRehash() bool { - if m != nil { - return m.Rehash +func (x *RefreshRepositoryRequest) GetRehash() bool { + if x != nil { + return x.Rehash } return false } type ScanMirrorRequest struct { - ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - AutoEnable bool `protobuf:"varint,2,opt,name=AutoEnable,proto3" json:"AutoEnable,omitempty"` - Protocol ScanMirrorRequest_Method `protobuf:"varint,3,opt,name=Protocol,proto3,enum=ScanMirrorRequest_Method" json:"Protocol,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ScanMirrorRequest) Reset() { *m = ScanMirrorRequest{} } -func (m *ScanMirrorRequest) String() string { return proto.CompactTextString(m) } -func (*ScanMirrorRequest) ProtoMessage() {} -func (*ScanMirrorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{12} + ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + AutoEnable bool `protobuf:"varint,2,opt,name=AutoEnable,proto3" json:"AutoEnable,omitempty"` + Protocol ScanMirrorRequest_Method `protobuf:"varint,3,opt,name=Protocol,proto3,enum=ScanMirrorRequest_Method" json:"Protocol,omitempty"` } -func (m *ScanMirrorRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ScanMirrorRequest.Unmarshal(m, b) -} -func (m *ScanMirrorRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ScanMirrorRequest.Marshal(b, m, deterministic) -} -func (m *ScanMirrorRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ScanMirrorRequest.Merge(m, src) +func (x *ScanMirrorRequest) Reset() { + *x = ScanMirrorRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ScanMirrorRequest) XXX_Size() int { - return xxx_messageInfo_ScanMirrorRequest.Size(m) + +func (x *ScanMirrorRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ScanMirrorRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ScanMirrorRequest.DiscardUnknown(m) + +func (*ScanMirrorRequest) ProtoMessage() {} + +func (x *ScanMirrorRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_ScanMirrorRequest proto.InternalMessageInfo +// Deprecated: Use ScanMirrorRequest.ProtoReflect.Descriptor instead. +func (*ScanMirrorRequest) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{12} +} -func (m *ScanMirrorRequest) GetID() int32 { - if m != nil { - return m.ID +func (x *ScanMirrorRequest) GetID() int32 { + if x != nil { + return x.ID } return 0 } -func (m *ScanMirrorRequest) GetAutoEnable() bool { - if m != nil { - return m.AutoEnable +func (x *ScanMirrorRequest) GetAutoEnable() bool { + if x != nil { + return x.AutoEnable } return false } -func (m *ScanMirrorRequest) GetProtocol() ScanMirrorRequest_Method { - if m != nil { - return m.Protocol +func (x *ScanMirrorRequest) GetProtocol() ScanMirrorRequest_Method { + if x != nil { + return x.Protocol } return ScanMirrorRequest_ALL } type ScanMirrorReply struct { - Enabled bool `protobuf:"varint,1,opt,name=Enabled,proto3" json:"Enabled,omitempty"` - FilesIndexed int64 `protobuf:"varint,2,opt,name=FilesIndexed,proto3" json:"FilesIndexed,omitempty"` - KnownIndexed int64 `protobuf:"varint,3,opt,name=KnownIndexed,proto3" json:"KnownIndexed,omitempty"` - Removed int64 `protobuf:"varint,4,opt,name=Removed,proto3" json:"Removed,omitempty"` - TZOffsetMs int64 `protobuf:"varint,5,opt,name=TZOffsetMs,proto3" json:"TZOffsetMs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ScanMirrorReply) Reset() { *m = ScanMirrorReply{} } -func (m *ScanMirrorReply) String() string { return proto.CompactTextString(m) } -func (*ScanMirrorReply) ProtoMessage() {} -func (*ScanMirrorReply) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{13} -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ScanMirrorReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ScanMirrorReply.Unmarshal(m, b) -} -func (m *ScanMirrorReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ScanMirrorReply.Marshal(b, m, deterministic) + Enabled bool `protobuf:"varint,1,opt,name=Enabled,proto3" json:"Enabled,omitempty"` + FilesIndexed int64 `protobuf:"varint,2,opt,name=FilesIndexed,proto3" json:"FilesIndexed,omitempty"` + KnownIndexed int64 `protobuf:"varint,3,opt,name=KnownIndexed,proto3" json:"KnownIndexed,omitempty"` + Removed int64 `protobuf:"varint,4,opt,name=Removed,proto3" json:"Removed,omitempty"` + TZOffsetMs int64 `protobuf:"varint,5,opt,name=TZOffsetMs,proto3" json:"TZOffsetMs,omitempty"` } -func (m *ScanMirrorReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_ScanMirrorReply.Merge(m, src) + +func (x *ScanMirrorReply) Reset() { + *x = ScanMirrorReply{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ScanMirrorReply) XXX_Size() int { - return xxx_messageInfo_ScanMirrorReply.Size(m) + +func (x *ScanMirrorReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ScanMirrorReply) XXX_DiscardUnknown() { - xxx_messageInfo_ScanMirrorReply.DiscardUnknown(m) + +func (*ScanMirrorReply) ProtoMessage() {} + +func (x *ScanMirrorReply) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -var xxx_messageInfo_ScanMirrorReply proto.InternalMessageInfo +// Deprecated: Use ScanMirrorReply.ProtoReflect.Descriptor instead. +func (*ScanMirrorReply) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{13} +} -func (m *ScanMirrorReply) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *ScanMirrorReply) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } -func (m *ScanMirrorReply) GetFilesIndexed() int64 { - if m != nil { - return m.FilesIndexed +func (x *ScanMirrorReply) GetFilesIndexed() int64 { + if x != nil { + return x.FilesIndexed } return 0 } -func (m *ScanMirrorReply) GetKnownIndexed() int64 { - if m != nil { - return m.KnownIndexed +func (x *ScanMirrorReply) GetKnownIndexed() int64 { + if x != nil { + return x.KnownIndexed } return 0 } -func (m *ScanMirrorReply) GetRemoved() int64 { - if m != nil { - return m.Removed +func (x *ScanMirrorReply) GetRemoved() int64 { + if x != nil { + return x.Removed } return 0 } -func (m *ScanMirrorReply) GetTZOffsetMs() int64 { - if m != nil { - return m.TZOffsetMs +func (x *ScanMirrorReply) GetTZOffsetMs() int64 { + if x != nil { + return x.TZOffsetMs } return 0 } type StatsFileRequest struct { - Pattern string `protobuf:"bytes,1,opt,name=Pattern,proto3" json:"Pattern,omitempty"` - DateStart *timestamp.Timestamp `protobuf:"bytes,2,opt,name=DateStart,proto3" json:"DateStart,omitempty"` - DateEnd *timestamp.Timestamp `protobuf:"bytes,3,opt,name=DateEnd,proto3" json:"DateEnd,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *StatsFileRequest) Reset() { *m = StatsFileRequest{} } -func (m *StatsFileRequest) String() string { return proto.CompactTextString(m) } -func (*StatsFileRequest) ProtoMessage() {} -func (*StatsFileRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{14} -} - -func (m *StatsFileRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StatsFileRequest.Unmarshal(m, b) -} -func (m *StatsFileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StatsFileRequest.Marshal(b, m, deterministic) -} -func (m *StatsFileRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_StatsFileRequest.Merge(m, src) -} -func (m *StatsFileRequest) XXX_Size() int { - return xxx_messageInfo_StatsFileRequest.Size(m) -} -func (m *StatsFileRequest) XXX_DiscardUnknown() { - xxx_messageInfo_StatsFileRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_StatsFileRequest proto.InternalMessageInfo - -func (m *StatsFileRequest) GetPattern() string { - if m != nil { - return m.Pattern - } - return "" -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *StatsFileRequest) GetDateStart() *timestamp.Timestamp { - if m != nil { - return m.DateStart - } - return nil + Pattern string `protobuf:"bytes,1,opt,name=Pattern,proto3" json:"Pattern,omitempty"` + DateStart *timestamp.Timestamp `protobuf:"bytes,2,opt,name=DateStart,proto3" json:"DateStart,omitempty"` + DateEnd *timestamp.Timestamp `protobuf:"bytes,3,opt,name=DateEnd,proto3" json:"DateEnd,omitempty"` } -func (m *StatsFileRequest) GetDateEnd() *timestamp.Timestamp { - if m != nil { - return m.DateEnd +func (x *StatsFileRequest) Reset() { + *x = StatsFileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil -} - -type StatsFileReply struct { - Files map[string]int64 `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *StatsFileReply) Reset() { *m = StatsFileReply{} } -func (m *StatsFileReply) String() string { return proto.CompactTextString(m) } -func (*StatsFileReply) ProtoMessage() {} -func (*StatsFileReply) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{15} } -func (m *StatsFileReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StatsFileReply.Unmarshal(m, b) -} -func (m *StatsFileReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StatsFileReply.Marshal(b, m, deterministic) -} -func (m *StatsFileReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_StatsFileReply.Merge(m, src) -} -func (m *StatsFileReply) XXX_Size() int { - return xxx_messageInfo_StatsFileReply.Size(m) -} -func (m *StatsFileReply) XXX_DiscardUnknown() { - xxx_messageInfo_StatsFileReply.DiscardUnknown(m) +func (x *StatsFileRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_StatsFileReply proto.InternalMessageInfo +func (*StatsFileRequest) ProtoMessage() {} -func (m *StatsFileReply) GetFiles() map[string]int64 { - if m != nil { - return m.Files +func (x *StatsFileRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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 nil -} - -type StatsMirrorRequest struct { - ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - DateStart *timestamp.Timestamp `protobuf:"bytes,2,opt,name=DateStart,proto3" json:"DateStart,omitempty"` - DateEnd *timestamp.Timestamp `protobuf:"bytes,3,opt,name=DateEnd,proto3" json:"DateEnd,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *StatsMirrorRequest) Reset() { *m = StatsMirrorRequest{} } -func (m *StatsMirrorRequest) String() string { return proto.CompactTextString(m) } -func (*StatsMirrorRequest) ProtoMessage() {} -func (*StatsMirrorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{16} + return mi.MessageOf(x) } -func (m *StatsMirrorRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StatsMirrorRequest.Unmarshal(m, b) -} -func (m *StatsMirrorRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StatsMirrorRequest.Marshal(b, m, deterministic) -} -func (m *StatsMirrorRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_StatsMirrorRequest.Merge(m, src) -} -func (m *StatsMirrorRequest) XXX_Size() int { - return xxx_messageInfo_StatsMirrorRequest.Size(m) -} -func (m *StatsMirrorRequest) XXX_DiscardUnknown() { - xxx_messageInfo_StatsMirrorRequest.DiscardUnknown(m) +// Deprecated: Use StatsFileRequest.ProtoReflect.Descriptor instead. +func (*StatsFileRequest) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{14} } -var xxx_messageInfo_StatsMirrorRequest proto.InternalMessageInfo - -func (m *StatsMirrorRequest) GetID() int32 { - if m != nil { - return m.ID +func (x *StatsFileRequest) GetPattern() string { + if x != nil { + return x.Pattern } - return 0 + return "" } -func (m *StatsMirrorRequest) GetDateStart() *timestamp.Timestamp { - if m != nil { - return m.DateStart +func (x *StatsFileRequest) GetDateStart() *timestamp.Timestamp { + if x != nil { + return x.DateStart } return nil } -func (m *StatsMirrorRequest) GetDateEnd() *timestamp.Timestamp { - if m != nil { - return m.DateEnd +func (x *StatsFileRequest) GetDateEnd() *timestamp.Timestamp { + if x != nil { + return x.DateEnd } return nil } -type StatsMirrorReply struct { - Mirror *Mirror `protobuf:"bytes,1,opt,name=Mirror,proto3" json:"Mirror,omitempty"` - Requests int64 `protobuf:"varint,2,opt,name=Requests,proto3" json:"Requests,omitempty"` - Bytes int64 `protobuf:"varint,3,opt,name=Bytes,proto3" json:"Bytes,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *StatsMirrorReply) Reset() { *m = StatsMirrorReply{} } -func (m *StatsMirrorReply) String() string { return proto.CompactTextString(m) } -func (*StatsMirrorReply) ProtoMessage() {} -func (*StatsMirrorReply) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{17} -} - -func (m *StatsMirrorReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StatsMirrorReply.Unmarshal(m, b) -} -func (m *StatsMirrorReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StatsMirrorReply.Marshal(b, m, deterministic) -} -func (m *StatsMirrorReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_StatsMirrorReply.Merge(m, src) -} -func (m *StatsMirrorReply) XXX_Size() int { - return xxx_messageInfo_StatsMirrorReply.Size(m) -} -func (m *StatsMirrorReply) XXX_DiscardUnknown() { - xxx_messageInfo_StatsMirrorReply.DiscardUnknown(m) -} - -var xxx_messageInfo_StatsMirrorReply proto.InternalMessageInfo +type StatsFileReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *StatsMirrorReply) GetMirror() *Mirror { - if m != nil { - return m.Mirror - } - return nil + Files map[string]int64 `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } -func (m *StatsMirrorReply) GetRequests() int64 { - if m != nil { - return m.Requests +func (x *StatsFileReply) Reset() { + *x = StatsFileReply{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *StatsMirrorReply) GetBytes() int64 { - if m != nil { - return m.Bytes - } - return 0 +func (x *StatsFileReply) String() string { + return protoimpl.X.MessageStringOf(x) } -type GetMirrorLogsRequest struct { - ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - MaxResults int32 `protobuf:"varint,2,opt,name=MaxResults,proto3" json:"MaxResults,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} +func (*StatsFileReply) ProtoMessage() {} -func (m *GetMirrorLogsRequest) Reset() { *m = GetMirrorLogsRequest{} } -func (m *GetMirrorLogsRequest) String() string { return proto.CompactTextString(m) } -func (*GetMirrorLogsRequest) ProtoMessage() {} -func (*GetMirrorLogsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{18} +func (x *StatsFileReply) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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) } -func (m *GetMirrorLogsRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetMirrorLogsRequest.Unmarshal(m, b) -} -func (m *GetMirrorLogsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetMirrorLogsRequest.Marshal(b, m, deterministic) -} -func (m *GetMirrorLogsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetMirrorLogsRequest.Merge(m, src) -} -func (m *GetMirrorLogsRequest) XXX_Size() int { - return xxx_messageInfo_GetMirrorLogsRequest.Size(m) -} -func (m *GetMirrorLogsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_GetMirrorLogsRequest.DiscardUnknown(m) +// Deprecated: Use StatsFileReply.ProtoReflect.Descriptor instead. +func (*StatsFileReply) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{15} } -var xxx_messageInfo_GetMirrorLogsRequest proto.InternalMessageInfo - -func (m *GetMirrorLogsRequest) GetID() int32 { - if m != nil { - return m.ID +func (x *StatsFileReply) GetFiles() map[string]int64 { + if x != nil { + return x.Files } - return 0 + return nil } -func (m *GetMirrorLogsRequest) GetMaxResults() int32 { - if m != nil { - return m.MaxResults - } - return 0 -} +type StatsMirrorRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -type GetMirrorLogsReply struct { - Line []string `protobuf:"bytes,1,rep,name=line,proto3" json:"line,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + DateStart *timestamp.Timestamp `protobuf:"bytes,2,opt,name=DateStart,proto3" json:"DateStart,omitempty"` + DateEnd *timestamp.Timestamp `protobuf:"bytes,3,opt,name=DateEnd,proto3" json:"DateEnd,omitempty"` } -func (m *GetMirrorLogsReply) Reset() { *m = GetMirrorLogsReply{} } -func (m *GetMirrorLogsReply) String() string { return proto.CompactTextString(m) } -func (*GetMirrorLogsReply) ProtoMessage() {} -func (*GetMirrorLogsReply) Descriptor() ([]byte, []int) { - return fileDescriptor_77a6da22d6a3feb1, []int{19} +func (x *StatsMirrorRequest) Reset() { + *x = StatsMirrorRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *GetMirrorLogsReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetMirrorLogsReply.Unmarshal(m, b) -} -func (m *GetMirrorLogsReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetMirrorLogsReply.Marshal(b, m, deterministic) -} -func (m *GetMirrorLogsReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetMirrorLogsReply.Merge(m, src) +func (x *StatsMirrorRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetMirrorLogsReply) XXX_Size() int { - return xxx_messageInfo_GetMirrorLogsReply.Size(m) -} -func (m *GetMirrorLogsReply) XXX_DiscardUnknown() { - xxx_messageInfo_GetMirrorLogsReply.DiscardUnknown(m) -} - -var xxx_messageInfo_GetMirrorLogsReply proto.InternalMessageInfo -func (m *GetMirrorLogsReply) GetLine() []string { - if m != nil { - return m.Line - } - return nil -} +func (*StatsMirrorRequest) ProtoMessage() {} -func init() { - proto.RegisterEnum("ScanMirrorRequest_Method", ScanMirrorRequest_Method_name, ScanMirrorRequest_Method_value) - proto.RegisterType((*VersionReply)(nil), "VersionReply") - proto.RegisterType((*MatchRequest)(nil), "MatchRequest") - proto.RegisterType((*Mirror)(nil), "Mirror") - proto.RegisterType((*MirrorListReply)(nil), "MirrorListReply") - proto.RegisterType((*MirrorID)(nil), "MirrorID") - proto.RegisterType((*MatchReply)(nil), "MatchReply") - proto.RegisterType((*ChangeStatusRequest)(nil), "ChangeStatusRequest") - proto.RegisterType((*MirrorIDRequest)(nil), "MirrorIDRequest") - proto.RegisterType((*AddMirrorReply)(nil), "AddMirrorReply") - proto.RegisterType((*UpdateMirrorReply)(nil), "UpdateMirrorReply") - proto.RegisterType((*GeoUpdateMirrorReply)(nil), "GeoUpdateMirrorReply") - proto.RegisterType((*RefreshRepositoryRequest)(nil), "RefreshRepositoryRequest") - proto.RegisterType((*ScanMirrorRequest)(nil), "ScanMirrorRequest") - proto.RegisterType((*ScanMirrorReply)(nil), "ScanMirrorReply") - proto.RegisterType((*StatsFileRequest)(nil), "StatsFileRequest") - proto.RegisterType((*StatsFileReply)(nil), "StatsFileReply") - proto.RegisterMapType((map[string]int64)(nil), "StatsFileReply.FilesEntry") - proto.RegisterType((*StatsMirrorRequest)(nil), "StatsMirrorRequest") - proto.RegisterType((*StatsMirrorReply)(nil), "StatsMirrorReply") - proto.RegisterType((*GetMirrorLogsRequest)(nil), "GetMirrorLogsRequest") - proto.RegisterType((*GetMirrorLogsReply)(nil), "GetMirrorLogsReply") -} - -func init() { - proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) -} - -var fileDescriptor_77a6da22d6a3feb1 = []byte{ - // 1472 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xdd, 0x72, 0x1b, 0xc5, - 0x12, 0xd6, 0x4a, 0xb6, 0x65, 0xb5, 0x64, 0x5b, 0x1e, 0x3b, 0x3e, 0x1b, 0x25, 0x27, 0x51, 0xe6, - 0xfc, 0x44, 0xa7, 0x4e, 0x9d, 0xcd, 0x89, 0x49, 0xc0, 0x15, 0x02, 0x94, 0x90, 0x6c, 0xc7, 0x20, - 0xc7, 0xae, 0x55, 0x0c, 0x05, 0x77, 0x1b, 0xed, 0x48, 0xde, 0x62, 0xb5, 0x23, 0x76, 0x46, 0x89, - 0x55, 0xc5, 0x63, 0x70, 0xc9, 0x05, 0x3c, 0x00, 0x55, 0x5c, 0xf2, 0x40, 0x3c, 0x08, 0xd5, 0x33, - 0xb3, 0xd2, 0x6a, 0xe5, 0x1f, 0xc8, 0x05, 0x77, 0xf3, 0x7d, 0xdd, 0x33, 0xdd, 0xd3, 0xd3, 0x3f, - 0xbb, 0x50, 0x8a, 0x47, 0x3d, 0x67, 0x14, 0x73, 0xc9, 0x6b, 0x77, 0x06, 0x9c, 0x0f, 0x42, 0xf6, - 0x48, 0xa1, 0xd7, 0xe3, 0xfe, 0x23, 0x36, 0x1c, 0xc9, 0x89, 0x11, 0xde, 0xcf, 0x0a, 0x65, 0x30, - 0x64, 0x42, 0x7a, 0xc3, 0x91, 0x56, 0xa0, 0x3f, 0x5a, 0x50, 0xf9, 0x82, 0xc5, 0x22, 0xe0, 0x91, - 0xcb, 0x46, 0xe1, 0x84, 0xd8, 0x50, 0x34, 0xd8, 0xb6, 0xea, 0x56, 0xa3, 0xe4, 0x26, 0x90, 0x6c, - 0xc3, 0xf2, 0xa7, 0xe3, 0x20, 0xf4, 0xed, 0xbc, 0xe2, 0x35, 0x20, 0x77, 0xa1, 0x74, 0xc8, 0x93, - 0x1d, 0x05, 0x25, 0x99, 0x11, 0x64, 0x1d, 0xf2, 0x27, 0x5d, 0x7b, 0x49, 0xd1, 0xf9, 0x93, 0x2e, - 0x21, 0xb0, 0xd4, 0x8c, 0x7b, 0xe7, 0xf6, 0xb2, 0x62, 0xd4, 0x9a, 0xdc, 0x03, 0x38, 0xe4, 0xc7, - 0xde, 0xc5, 0x69, 0xcc, 0x7b, 0xc2, 0x5e, 0xa9, 0x5b, 0x8d, 0x65, 0x37, 0xc5, 0xd0, 0x06, 0x54, - 0x8e, 0x3d, 0xd9, 0x3b, 0x77, 0xd9, 0xb7, 0x63, 0x26, 0x24, 0x7a, 0x78, 0xea, 0x49, 0xc9, 0xe2, - 0xa9, 0x87, 0x06, 0xd2, 0xdf, 0x56, 0x61, 0xe5, 0x38, 0x88, 0x63, 0x1e, 0xa3, 0xe1, 0xa3, 0xb6, - 0x92, 0x2f, 0xbb, 0xf9, 0xa3, 0x36, 0x1a, 0x7e, 0xe9, 0x0d, 0x99, 0xf1, 0x5d, 0xad, 0xf1, 0xa0, - 0x17, 0x52, 0x8e, 0xce, 0xdc, 0x8e, 0x71, 0x3c, 0x81, 0xa4, 0x06, 0xab, 0xae, 0x98, 0x44, 0x3d, - 0x14, 0x69, 0xe7, 0xa7, 0x98, 0xec, 0xc0, 0xca, 0x81, 0xde, 0xa4, 0x2f, 0x61, 0x10, 0xa9, 0x43, - 0xb9, 0x3b, 0xe2, 0x91, 0xe0, 0xb1, 0x32, 0xb4, 0xa2, 0x84, 0x69, 0x0a, 0x2f, 0x6a, 0x20, 0xee, - 0x2e, 0x2a, 0x85, 0x14, 0x43, 0xfe, 0x0d, 0xeb, 0x06, 0x75, 0xf8, 0x80, 0xa3, 0xce, 0xaa, 0xd2, - 0xc9, 0xb0, 0x18, 0xf2, 0xa6, 0x3f, 0x0c, 0x22, 0x65, 0xa7, 0xa4, 0x43, 0x3e, 0x25, 0xd0, 0x8a, - 0x02, 0xfb, 0x43, 0x2f, 0x08, 0x6d, 0xd0, 0x56, 0x66, 0x0c, 0xca, 0x5b, 0x63, 0x21, 0xf9, 0xb0, - 0xed, 0x49, 0xcf, 0x2e, 0x6b, 0xf9, 0x8c, 0x21, 0xff, 0x84, 0xb5, 0x16, 0x8f, 0x64, 0x10, 0xb1, - 0x48, 0x9e, 0x44, 0xe1, 0xc4, 0xae, 0xd4, 0xad, 0xc6, 0xaa, 0x3b, 0x4f, 0xe2, 0x6d, 0x5b, 0x7c, - 0x1c, 0xc9, 0x78, 0xa2, 0x74, 0xd6, 0x94, 0x4e, 0x9a, 0xc2, 0x38, 0x35, 0xbb, 0x4a, 0xb8, 0xae, - 0x84, 0x06, 0x61, 0x1a, 0x75, 0x7b, 0x3c, 0x66, 0xf6, 0x86, 0x7a, 0x1c, 0x0d, 0x30, 0xe2, 0x1d, - 0x4f, 0x06, 0x72, 0xec, 0x33, 0xbb, 0x5a, 0xb7, 0x1a, 0x79, 0x77, 0x8a, 0xf1, 0xbe, 0x1d, 0x1e, - 0x0d, 0xb4, 0x70, 0x53, 0x09, 0x67, 0xc4, 0x9c, 0xbf, 0x2d, 0xee, 0x33, 0x9b, 0xa8, 0x2b, 0xcd, - 0x93, 0x84, 0x42, 0xc5, 0x38, 0x87, 0x50, 0xd8, 0x5b, 0x4a, 0x69, 0x8e, 0x23, 0xbb, 0xb0, 0xbd, - 0x7f, 0xd1, 0x0b, 0xc7, 0x3e, 0xf3, 0xe7, 0x74, 0xb7, 0x95, 0xee, 0xa5, 0x32, 0xbc, 0x4d, 0x53, - 0x44, 0xe3, 0xa1, 0x7d, 0xab, 0x6e, 0x35, 0xd6, 0x5c, 0x0d, 0x30, 0xb3, 0x5a, 0x7c, 0x38, 0x64, - 0x91, 0xb4, 0x77, 0x74, 0x66, 0x19, 0x88, 0x92, 0xfd, 0xc8, 0x7b, 0x1d, 0x32, 0xdf, 0xfe, 0x9b, - 0x0a, 0x4b, 0x02, 0x31, 0x5e, 0x2a, 0xfd, 0x46, 0xb6, 0xad, 0xe3, 0xa5, 0x11, 0x66, 0x05, 0xae, - 0xda, 0xfc, 0x6d, 0xe4, 0x32, 0x4f, 0xf0, 0xc8, 0xbe, 0xad, 0xb3, 0x62, 0x9e, 0x25, 0xcf, 0x00, - 0xba, 0xd2, 0x93, 0xac, 0x1b, 0x44, 0x3d, 0x66, 0xd7, 0xea, 0x56, 0xa3, 0xbc, 0x5b, 0x73, 0x74, - 0xfd, 0x3b, 0x49, 0xfd, 0x3b, 0xaf, 0x92, 0xfa, 0x77, 0x53, 0xda, 0x68, 0xa3, 0x19, 0x86, 0xfc, - 0xad, 0xcb, 0xfc, 0x20, 0x66, 0x3d, 0x29, 0xec, 0x3b, 0xea, 0x71, 0x32, 0x2c, 0x79, 0x1f, 0x5f, - 0x49, 0xc8, 0xee, 0x24, 0xea, 0xd9, 0x77, 0x6f, 0xb4, 0x30, 0xd5, 0x25, 0x9f, 0x01, 0x51, 0xeb, - 0x71, 0xaf, 0xc7, 0x84, 0xe8, 0x8f, 0x43, 0x75, 0xc2, 0xdf, 0x6f, 0x3c, 0xe1, 0x92, 0x5d, 0xe4, - 0x39, 0x94, 0x91, 0x3d, 0xe6, 0x3e, 0xea, 0xd9, 0xf7, 0x6e, 0x3c, 0x24, 0xad, 0x9e, 0xd4, 0xbc, - 0x38, 0x1b, 0xd9, 0xf7, 0x75, 0xfc, 0x0d, 0x24, 0x0d, 0xd8, 0x50, 0xcb, 0x54, 0xa0, 0xeb, 0x2a, - 0xd0, 0x59, 0x9a, 0x3e, 0x81, 0x0d, 0xdd, 0x65, 0x3a, 0x81, 0x90, 0xba, 0x6b, 0x3e, 0x80, 0xa2, - 0xa6, 0x84, 0x6d, 0xd5, 0x0b, 0x8d, 0xf2, 0x6e, 0xd1, 0xd1, 0xd8, 0x4d, 0x78, 0xea, 0xc0, 0xaa, - 0x5e, 0x1e, 0xb5, 0xff, 0x48, 0x77, 0xa2, 0x8f, 0x01, 0x4c, 0xdb, 0x43, 0x03, 0xff, 0xc8, 0x1a, - 0x28, 0x39, 0xc9, 0x69, 0x33, 0x13, 0x9f, 0xc0, 0x56, 0xeb, 0xdc, 0x8b, 0x06, 0x0c, 0x9f, 0x76, - 0x2c, 0x92, 0x86, 0x99, 0xb5, 0x96, 0xca, 0xc1, 0xfc, 0x5c, 0x0e, 0xd2, 0x07, 0xc9, 0xcd, 0x8e, - 0xda, 0x57, 0x6c, 0xa6, 0xbf, 0x58, 0xb0, 0xde, 0xf4, 0x7d, 0x73, 0x3b, 0xe5, 0x5b, 0xba, 0x76, - 0xad, 0xeb, 0x6a, 0x37, 0x9f, 0xad, 0x5d, 0x55, 0x27, 0xaa, 0x9a, 0x92, 0x0e, 0x6c, 0x20, 0xee, - 0x9b, 0x16, 0xb0, 0x69, 0xc1, 0x33, 0x82, 0x54, 0xa1, 0xd0, 0xec, 0xbe, 0x34, 0x0d, 0x18, 0x97, - 0xe8, 0xc3, 0x97, 0x5e, 0x1c, 0x05, 0xd1, 0x00, 0x47, 0x48, 0x01, 0x3b, 0x76, 0x82, 0xe9, 0x43, - 0xd8, 0x3c, 0x1b, 0xf9, 0x9e, 0x64, 0x69, 0xa7, 0x09, 0x2c, 0xb5, 0x83, 0x7e, 0xdf, 0x8c, 0x10, - 0xb5, 0xa6, 0x03, 0xd8, 0x3e, 0x64, 0x7c, 0x51, 0xf7, 0x7e, 0x32, 0x56, 0x94, 0x76, 0xea, 0x71, - 0x93, 0x69, 0x93, 0x1c, 0x96, 0x9f, 0x1d, 0x36, 0xe7, 0x51, 0x21, 0xe3, 0xd1, 0x2e, 0xd8, 0x2e, - 0xeb, 0xc7, 0x4c, 0xe0, 0xeb, 0x72, 0x11, 0x48, 0x1e, 0x4f, 0x92, 0x80, 0xef, 0xc0, 0x8a, 0xcb, - 0xce, 0x3d, 0x71, 0xae, 0x8c, 0xad, 0xba, 0x06, 0xd1, 0x9f, 0x2c, 0xd8, 0xec, 0xf6, 0xbc, 0x28, - 0x71, 0xec, 0xf2, 0xb7, 0xc5, 0xee, 0x3f, 0x96, 0x5c, 0x3f, 0xa8, 0x79, 0xde, 0x14, 0x43, 0x9e, - 0xc2, 0xea, 0x29, 0x96, 0x48, 0x8f, 0x87, 0x2a, 0xe4, 0xeb, 0xbb, 0xb7, 0x9d, 0x85, 0x53, 0x9d, - 0x63, 0x26, 0xcf, 0xb9, 0xef, 0x4e, 0x55, 0xe9, 0xbf, 0x60, 0x45, 0x73, 0xa4, 0x08, 0x85, 0x66, - 0xa7, 0x53, 0xcd, 0xe1, 0xe2, 0xe0, 0xd5, 0x69, 0xd5, 0x22, 0x25, 0x58, 0x76, 0xbb, 0x5f, 0xbd, - 0x6c, 0x55, 0xf3, 0xf4, 0x67, 0x0b, 0x36, 0xd2, 0xa7, 0x99, 0x0f, 0x8a, 0x24, 0xdb, 0xac, 0xf9, - 0x8e, 0x47, 0xa1, 0x72, 0x10, 0x84, 0x4c, 0x1c, 0x45, 0x3e, 0xbb, 0x30, 0xc9, 0x58, 0x70, 0xe7, - 0x38, 0xd4, 0xf9, 0x3c, 0xe2, 0x6f, 0xa3, 0x44, 0xa7, 0xa0, 0x75, 0xd2, 0x1c, 0x5a, 0x70, 0xd9, - 0x90, 0xbf, 0x61, 0xbe, 0xca, 0x94, 0x82, 0x9b, 0x40, 0x8c, 0xc6, 0xab, 0xaf, 0x4f, 0xfa, 0x7d, - 0xc1, 0xe4, 0xb1, 0x50, 0xe9, 0x52, 0x70, 0x53, 0x0c, 0xfd, 0xc1, 0x82, 0x2a, 0xd6, 0x8a, 0x40, - 0x9b, 0x37, 0x7e, 0x5f, 0x90, 0x3d, 0x28, 0xb5, 0xb1, 0x67, 0x4a, 0x2f, 0x96, 0xca, 0xdb, 0xeb, - 0x1b, 0xcf, 0x4c, 0x99, 0x3c, 0x81, 0x22, 0x82, 0xfd, 0x48, 0xdf, 0xe0, 0xfa, 0x7d, 0x89, 0x2a, - 0xfd, 0x0e, 0xd6, 0x53, 0xde, 0x61, 0x30, 0xff, 0x0f, 0xcb, 0x7d, 0x0c, 0x8f, 0x69, 0x02, 0x35, - 0x67, 0x5e, 0xee, 0xa8, 0xd8, 0xed, 0x63, 0x05, 0xb9, 0x5a, 0xb1, 0xb6, 0x07, 0x30, 0x23, 0xb1, - 0x70, 0xbe, 0x61, 0x13, 0x73, 0x2f, 0x5c, 0xe2, 0x00, 0x7b, 0xe3, 0x85, 0x63, 0x66, 0xa2, 0xaf, - 0xc1, 0xb3, 0xfc, 0x9e, 0x45, 0xbf, 0xb7, 0x80, 0xa8, 0xe3, 0xaf, 0xcf, 0xb8, 0xbf, 0x3a, 0x28, - 0xcc, 0x3c, 0xd9, 0x9f, 0x2a, 0x50, 0xfc, 0xa0, 0xd3, 0xfe, 0x0b, 0x73, 0xd1, 0x29, 0x56, 0xdf, - 0xb5, 0x13, 0xc9, 0x84, 0xc9, 0x2d, 0x0d, 0xe8, 0x01, 0xf6, 0x02, 0x69, 0xfa, 0x3c, 0x1f, 0x88, - 0x6b, 0x0a, 0xee, 0xd8, 0xbb, 0x70, 0x99, 0x18, 0x87, 0xe6, 0xec, 0x65, 0x37, 0xc5, 0xd0, 0x06, - 0x90, 0xcc, 0x39, 0xa6, 0xfb, 0x84, 0x41, 0xc4, 0xd4, 0x33, 0x96, 0x5c, 0xb5, 0xde, 0xfd, 0xb5, - 0x08, 0x85, 0x56, 0xe7, 0x88, 0x3c, 0x05, 0x38, 0x64, 0x32, 0xf9, 0x82, 0xde, 0x59, 0x88, 0xc9, - 0x3e, 0x7e, 0xdf, 0xd7, 0xd6, 0x9c, 0xf4, 0x67, 0x3b, 0xcd, 0x91, 0x0f, 0xa1, 0x78, 0x36, 0x1a, - 0xc4, 0x9e, 0xcf, 0xae, 0xdc, 0x73, 0x05, 0x4f, 0x73, 0xe4, 0x19, 0x36, 0x9d, 0x90, 0x7b, 0xfe, - 0x3b, 0xec, 0xfd, 0x18, 0x2a, 0xe9, 0xa9, 0x43, 0xb6, 0x9d, 0x4b, 0x86, 0xd0, 0x35, 0xfb, 0x77, - 0x61, 0x09, 0x07, 0xe9, 0x95, 0x96, 0xab, 0x4e, 0x66, 0xda, 0xd2, 0x1c, 0xf9, 0x0f, 0x80, 0x19, - 0x54, 0x51, 0x9f, 0x93, 0xaa, 0x93, 0x99, 0x5a, 0xb5, 0x24, 0x01, 0x68, 0x8e, 0x3c, 0xc4, 0xaf, - 0x65, 0x33, 0xaf, 0x48, 0xc2, 0xd7, 0x36, 0x9c, 0xf9, 0x21, 0x46, 0x73, 0xe4, 0x7f, 0x50, 0x49, - 0xb7, 0xfe, 0x99, 0x2e, 0x71, 0x16, 0x46, 0x82, 0x0a, 0x59, 0x45, 0xb7, 0x19, 0xa3, 0xbe, 0xe8, - 0xc4, 0xd5, 0x57, 0x7e, 0x0e, 0x1b, 0x99, 0x41, 0x73, 0xc9, 0xf6, 0x5b, 0xce, 0x65, 0xc3, 0x88, - 0xe6, 0xc8, 0x0b, 0xd8, 0x5c, 0x98, 0x1e, 0xe4, 0xb6, 0x73, 0xd5, 0x44, 0xb9, 0xc6, 0x8f, 0x27, - 0x00, 0xb3, 0x76, 0x4d, 0xc8, 0xe2, 0x24, 0xa8, 0x55, 0x9d, 0x4c, 0x3f, 0xa7, 0x39, 0xf2, 0x18, - 0x4a, 0xd3, 0xb6, 0x43, 0x36, 0x9d, 0x6c, 0x03, 0xad, 0x6d, 0x64, 0xba, 0x12, 0xcd, 0x91, 0x0f, - 0xa0, 0x9c, 0x2a, 0x5a, 0xb2, 0xe5, 0x2c, 0x36, 0x96, 0xda, 0xa6, 0x93, 0xad, 0x6b, 0x9a, 0x23, - 0x7b, 0xb0, 0x74, 0x1a, 0x44, 0x83, 0x77, 0x48, 0xcb, 0x8f, 0x60, 0x6d, 0xae, 0xf0, 0x08, 0xc6, - 0x73, 0xb1, 0xa0, 0x6b, 0x5b, 0xce, 0x62, 0x7d, 0xd2, 0x1c, 0xf9, 0x2f, 0x94, 0xd5, 0xe7, 0x97, - 0xf1, 0x78, 0xcd, 0x49, 0xff, 0x83, 0xd6, 0xca, 0xce, 0xec, 0xdb, 0x8c, 0xe6, 0x5e, 0xaf, 0x28, - 0xeb, 0xef, 0xfd, 0x1e, 0x00, 0x00, 0xff, 0xff, 0x8e, 0xac, 0x3b, 0x6f, 0x97, 0x0f, 0x00, 0x00, -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// CLIClient is the client API for CLI service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type CLIClient interface { - GetVersion(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*VersionReply, error) - Upgrade(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) - Reload(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) - ChangeStatus(ctx context.Context, in *ChangeStatusRequest, opts ...grpc.CallOption) (*empty.Empty, error) - List(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*MirrorListReply, error) - MirrorInfo(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*Mirror, error) - AddMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*AddMirrorReply, error) - UpdateMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*UpdateMirrorReply, error) - RemoveMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*empty.Empty, error) - GeoUpdateMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*GeoUpdateMirrorReply, error) - RefreshRepository(ctx context.Context, in *RefreshRepositoryRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ScanMirror(ctx context.Context, in *ScanMirrorRequest, opts ...grpc.CallOption) (*ScanMirrorReply, error) - StatsFile(ctx context.Context, in *StatsFileRequest, opts ...grpc.CallOption) (*StatsFileReply, error) - StatsMirror(ctx context.Context, in *StatsMirrorRequest, opts ...grpc.CallOption) (*StatsMirrorReply, error) - Ping(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) - GetMirrorLogs(ctx context.Context, in *GetMirrorLogsRequest, opts ...grpc.CallOption) (*GetMirrorLogsReply, error) - // Tools - MatchMirror(ctx context.Context, in *MatchRequest, opts ...grpc.CallOption) (*MatchReply, error) -} - -type cLIClient struct { - cc grpc.ClientConnInterface -} - -func NewCLIClient(cc grpc.ClientConnInterface) CLIClient { - return &cLIClient{cc} -} - -func (c *cLIClient) GetVersion(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*VersionReply, error) { - out := new(VersionReply) - err := c.cc.Invoke(ctx, "/CLI/GetVersion", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *cLIClient) Upgrade(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/CLI/Upgrade", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *cLIClient) Reload(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/CLI/Reload", in, out, opts...) - if err != nil { - return nil, err +func (x *StatsMirrorRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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 out, nil + return mi.MessageOf(x) } -func (c *cLIClient) ChangeStatus(ctx context.Context, in *ChangeStatusRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/CLI/ChangeStatus", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +// Deprecated: Use StatsMirrorRequest.ProtoReflect.Descriptor instead. +func (*StatsMirrorRequest) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{16} } -func (c *cLIClient) List(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*MirrorListReply, error) { - out := new(MirrorListReply) - err := c.cc.Invoke(ctx, "/CLI/List", in, out, opts...) - if err != nil { - return nil, err +func (x *StatsMirrorRequest) GetID() int32 { + if x != nil { + return x.ID } - return out, nil + return 0 } -func (c *cLIClient) MirrorInfo(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*Mirror, error) { - out := new(Mirror) - err := c.cc.Invoke(ctx, "/CLI/MirrorInfo", in, out, opts...) - if err != nil { - return nil, err +func (x *StatsMirrorRequest) GetDateStart() *timestamp.Timestamp { + if x != nil { + return x.DateStart } - return out, nil + return nil } -func (c *cLIClient) AddMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*AddMirrorReply, error) { - out := new(AddMirrorReply) - err := c.cc.Invoke(ctx, "/CLI/AddMirror", in, out, opts...) - if err != nil { - return nil, err +func (x *StatsMirrorRequest) GetDateEnd() *timestamp.Timestamp { + if x != nil { + return x.DateEnd } - return out, nil + return nil } -func (c *cLIClient) UpdateMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*UpdateMirrorReply, error) { - out := new(UpdateMirrorReply) - err := c.cc.Invoke(ctx, "/CLI/UpdateMirror", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} +type StatsMirrorReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (c *cLIClient) RemoveMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/CLI/RemoveMirror", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil + Mirror *Mirror `protobuf:"bytes,1,opt,name=Mirror,proto3" json:"Mirror,omitempty"` + Requests int64 `protobuf:"varint,2,opt,name=Requests,proto3" json:"Requests,omitempty"` + Bytes int64 `protobuf:"varint,3,opt,name=Bytes,proto3" json:"Bytes,omitempty"` } -func (c *cLIClient) GeoUpdateMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*GeoUpdateMirrorReply, error) { - out := new(GeoUpdateMirrorReply) - err := c.cc.Invoke(ctx, "/CLI/GeoUpdateMirror", in, out, opts...) - if err != nil { - return nil, err +func (x *StatsMirrorReply) Reset() { + *x = StatsMirrorReply{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return out, nil } -func (c *cLIClient) RefreshRepository(ctx context.Context, in *RefreshRepositoryRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/CLI/RefreshRepository", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (x *StatsMirrorReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (c *cLIClient) ScanMirror(ctx context.Context, in *ScanMirrorRequest, opts ...grpc.CallOption) (*ScanMirrorReply, error) { - out := new(ScanMirrorReply) - err := c.cc.Invoke(ctx, "/CLI/ScanMirror", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} +func (*StatsMirrorReply) ProtoMessage() {} -func (c *cLIClient) StatsFile(ctx context.Context, in *StatsFileRequest, opts ...grpc.CallOption) (*StatsFileReply, error) { - out := new(StatsFileReply) - err := c.cc.Invoke(ctx, "/CLI/StatsFile", in, out, opts...) - if err != nil { - return nil, err +func (x *StatsMirrorReply) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_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 out, nil + return mi.MessageOf(x) } -func (c *cLIClient) StatsMirror(ctx context.Context, in *StatsMirrorRequest, opts ...grpc.CallOption) (*StatsMirrorReply, error) { - out := new(StatsMirrorReply) - err := c.cc.Invoke(ctx, "/CLI/StatsMirror", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +// Deprecated: Use StatsMirrorReply.ProtoReflect.Descriptor instead. +func (*StatsMirrorReply) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{17} } -func (c *cLIClient) Ping(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/CLI/Ping", in, out, opts...) - if err != nil { - return nil, err +func (x *StatsMirrorReply) GetMirror() *Mirror { + if x != nil { + return x.Mirror } - return out, nil + return nil } -func (c *cLIClient) GetMirrorLogs(ctx context.Context, in *GetMirrorLogsRequest, opts ...grpc.CallOption) (*GetMirrorLogsReply, error) { - out := new(GetMirrorLogsReply) - err := c.cc.Invoke(ctx, "/CLI/GetMirrorLogs", in, out, opts...) - if err != nil { - return nil, err +func (x *StatsMirrorReply) GetRequests() int64 { + if x != nil { + return x.Requests } - return out, nil + return 0 } -func (c *cLIClient) MatchMirror(ctx context.Context, in *MatchRequest, opts ...grpc.CallOption) (*MatchReply, error) { - out := new(MatchReply) - err := c.cc.Invoke(ctx, "/CLI/MatchMirror", in, out, opts...) - if err != nil { - return nil, err +func (x *StatsMirrorReply) GetBytes() int64 { + if x != nil { + return x.Bytes } - return out, nil -} - -// CLIServer is the server API for CLI service. -type CLIServer interface { - GetVersion(context.Context, *empty.Empty) (*VersionReply, error) - Upgrade(context.Context, *empty.Empty) (*empty.Empty, error) - Reload(context.Context, *empty.Empty) (*empty.Empty, error) - ChangeStatus(context.Context, *ChangeStatusRequest) (*empty.Empty, error) - List(context.Context, *empty.Empty) (*MirrorListReply, error) - MirrorInfo(context.Context, *MirrorIDRequest) (*Mirror, error) - AddMirror(context.Context, *Mirror) (*AddMirrorReply, error) - UpdateMirror(context.Context, *Mirror) (*UpdateMirrorReply, error) - RemoveMirror(context.Context, *MirrorIDRequest) (*empty.Empty, error) - GeoUpdateMirror(context.Context, *MirrorIDRequest) (*GeoUpdateMirrorReply, error) - RefreshRepository(context.Context, *RefreshRepositoryRequest) (*empty.Empty, error) - ScanMirror(context.Context, *ScanMirrorRequest) (*ScanMirrorReply, error) - StatsFile(context.Context, *StatsFileRequest) (*StatsFileReply, error) - StatsMirror(context.Context, *StatsMirrorRequest) (*StatsMirrorReply, error) - Ping(context.Context, *empty.Empty) (*empty.Empty, error) - GetMirrorLogs(context.Context, *GetMirrorLogsRequest) (*GetMirrorLogsReply, error) - // Tools - MatchMirror(context.Context, *MatchRequest) (*MatchReply, error) -} - -// UnimplementedCLIServer can be embedded to have forward compatible implementations. -type UnimplementedCLIServer struct { -} - -func (*UnimplementedCLIServer) GetVersion(ctx context.Context, req *empty.Empty) (*VersionReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented") -} -func (*UnimplementedCLIServer) Upgrade(ctx context.Context, req *empty.Empty) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Upgrade not implemented") -} -func (*UnimplementedCLIServer) Reload(ctx context.Context, req *empty.Empty) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Reload not implemented") -} -func (*UnimplementedCLIServer) ChangeStatus(ctx context.Context, req *ChangeStatusRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method ChangeStatus not implemented") -} -func (*UnimplementedCLIServer) List(ctx context.Context, req *empty.Empty) (*MirrorListReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method List not implemented") -} -func (*UnimplementedCLIServer) MirrorInfo(ctx context.Context, req *MirrorIDRequest) (*Mirror, error) { - return nil, status.Errorf(codes.Unimplemented, "method MirrorInfo not implemented") -} -func (*UnimplementedCLIServer) AddMirror(ctx context.Context, req *Mirror) (*AddMirrorReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddMirror not implemented") -} -func (*UnimplementedCLIServer) UpdateMirror(ctx context.Context, req *Mirror) (*UpdateMirrorReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateMirror not implemented") -} -func (*UnimplementedCLIServer) RemoveMirror(ctx context.Context, req *MirrorIDRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveMirror not implemented") -} -func (*UnimplementedCLIServer) GeoUpdateMirror(ctx context.Context, req *MirrorIDRequest) (*GeoUpdateMirrorReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GeoUpdateMirror not implemented") -} -func (*UnimplementedCLIServer) RefreshRepository(ctx context.Context, req *RefreshRepositoryRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method RefreshRepository not implemented") -} -func (*UnimplementedCLIServer) ScanMirror(ctx context.Context, req *ScanMirrorRequest) (*ScanMirrorReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method ScanMirror not implemented") -} -func (*UnimplementedCLIServer) StatsFile(ctx context.Context, req *StatsFileRequest) (*StatsFileReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method StatsFile not implemented") -} -func (*UnimplementedCLIServer) StatsMirror(ctx context.Context, req *StatsMirrorRequest) (*StatsMirrorReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method StatsMirror not implemented") -} -func (*UnimplementedCLIServer) Ping(ctx context.Context, req *empty.Empty) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented") -} -func (*UnimplementedCLIServer) GetMirrorLogs(ctx context.Context, req *GetMirrorLogsRequest) (*GetMirrorLogsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMirrorLogs not implemented") -} -func (*UnimplementedCLIServer) MatchMirror(ctx context.Context, req *MatchRequest) (*MatchReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method MatchMirror not implemented") + return 0 } -func RegisterCLIServer(s *grpc.Server, srv CLIServer) { - s.RegisterService(&_CLI_serviceDesc, srv) -} +type GetMirrorLogsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func _CLI_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).GetVersion(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/GetVersion", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).GetVersion(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) + ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + MaxResults int32 `protobuf:"varint,2,opt,name=MaxResults,proto3" json:"MaxResults,omitempty"` } -func _CLI_Upgrade_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err +func (x *GetMirrorLogsRequest) Reset() { + *x = GetMirrorLogsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - if interceptor == nil { - return srv.(CLIServer).Upgrade(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/Upgrade", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).Upgrade(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) } -func _CLI_Reload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).Reload(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/Reload", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).Reload(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) +func (x *GetMirrorLogsRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func _CLI_ChangeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChangeStatusRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).ChangeStatus(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/ChangeStatus", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).ChangeStatus(ctx, req.(*ChangeStatusRequest)) - } - return interceptor(ctx, in, info, handler) -} +func (*GetMirrorLogsRequest) ProtoMessage() {} -func _CLI_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err +func (x *GetMirrorLogsRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - if interceptor == nil { - return srv.(CLIServer).List(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/List", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).List(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) + return mi.MessageOf(x) } -func _CLI_MirrorInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MirrorIDRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).MirrorInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/MirrorInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).MirrorInfo(ctx, req.(*MirrorIDRequest)) - } - return interceptor(ctx, in, info, handler) +// Deprecated: Use GetMirrorLogsRequest.ProtoReflect.Descriptor instead. +func (*GetMirrorLogsRequest) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{18} } -func _CLI_AddMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Mirror) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).AddMirror(ctx, in) +func (x *GetMirrorLogsRequest) GetID() int32 { + if x != nil { + return x.ID } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/AddMirror", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).AddMirror(ctx, req.(*Mirror)) - } - return interceptor(ctx, in, info, handler) + return 0 } -func _CLI_UpdateMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Mirror) - if err := dec(in); err != nil { - return nil, err +func (x *GetMirrorLogsRequest) GetMaxResults() int32 { + if x != nil { + return x.MaxResults } - if interceptor == nil { - return srv.(CLIServer).UpdateMirror(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/UpdateMirror", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).UpdateMirror(ctx, req.(*Mirror)) - } - return interceptor(ctx, in, info, handler) + return 0 } -func _CLI_RemoveMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MirrorIDRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).RemoveMirror(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/RemoveMirror", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).RemoveMirror(ctx, req.(*MirrorIDRequest)) - } - return interceptor(ctx, in, info, handler) -} +type GetMirrorLogsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func _CLI_GeoUpdateMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MirrorIDRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).GeoUpdateMirror(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/GeoUpdateMirror", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).GeoUpdateMirror(ctx, req.(*MirrorIDRequest)) - } - return interceptor(ctx, in, info, handler) + Line []string `protobuf:"bytes,1,rep,name=line,proto3" json:"line,omitempty"` } -func _CLI_RefreshRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RefreshRepositoryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).RefreshRepository(ctx, in) +func (x *GetMirrorLogsReply) Reset() { + *x = GetMirrorLogsReply{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_rpc_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/RefreshRepository", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).RefreshRepository(ctx, req.(*RefreshRepositoryRequest)) - } - return interceptor(ctx, in, info, handler) } -func _CLI_ScanMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ScanMirrorRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).ScanMirror(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/ScanMirror", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).ScanMirror(ctx, req.(*ScanMirrorRequest)) - } - return interceptor(ctx, in, info, handler) +func (x *GetMirrorLogsReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func _CLI_StatsFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StatsFileRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).StatsFile(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/StatsFile", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).StatsFile(ctx, req.(*StatsFileRequest)) - } - return interceptor(ctx, in, info, handler) -} +func (*GetMirrorLogsReply) ProtoMessage() {} -func _CLI_StatsMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StatsMirrorRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).StatsMirror(ctx, in) +func (x *GetMirrorLogsReply) ProtoReflect() protoreflect.Message { + mi := &file_rpc_rpc_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/StatsMirror", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).StatsMirror(ctx, req.(*StatsMirrorRequest)) - } - return interceptor(ctx, in, info, handler) + return mi.MessageOf(x) } -func _CLI_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).Ping(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/Ping", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).Ping(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) +// Deprecated: Use GetMirrorLogsReply.ProtoReflect.Descriptor instead. +func (*GetMirrorLogsReply) Descriptor() ([]byte, []int) { + return file_rpc_rpc_proto_rawDescGZIP(), []int{19} } -func _CLI_GetMirrorLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMirrorLogsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).GetMirrorLogs(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/GetMirrorLogs", +func (x *GetMirrorLogsReply) GetLine() []string { + if x != nil { + return x.Line } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).GetMirrorLogs(ctx, req.(*GetMirrorLogsRequest)) - } - return interceptor(ctx, in, info, handler) + return nil } -func _CLI_MatchMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MatchRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CLIServer).MatchMirror(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/CLI/MatchMirror", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CLIServer).MatchMirror(ctx, req.(*MatchRequest)) - } - return interceptor(ctx, in, info, handler) -} +var File_rpc_rpc_proto protoreflect.FileDescriptor + +var file_rpc_rpc_proto_rawDesc = []byte{ + 0x0a, 0x0d, 0x72, 0x70, 0x63, 0x2f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x01, + 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, + 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x47, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x47, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, + 0x4f, 0x53, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x4f, 0x53, 0x12, 0x12, 0x0a, 0x04, + 0x41, 0x72, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x41, 0x72, 0x63, 0x68, + 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x6f, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x63, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x6f, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x63, 0x73, + 0x22, 0x28, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x22, 0xe4, 0x08, 0x0a, 0x06, 0x4d, + 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x48, 0x74, 0x74, + 0x70, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x48, 0x74, 0x74, 0x70, + 0x55, 0x52, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x73, 0x79, 0x6e, 0x63, 0x55, 0x52, 0x4c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x73, 0x79, 0x6e, 0x63, 0x55, 0x52, 0x4c, 0x12, + 0x16, 0x0a, 0x06, 0x46, 0x74, 0x70, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x46, 0x74, 0x70, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x70, 0x6f, 0x6e, 0x73, + 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x70, + 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x70, 0x6f, + 0x6e, 0x73, 0x6f, 0x72, 0x55, 0x52, 0x4c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, + 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x55, 0x52, 0x4c, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x70, 0x6f, + 0x6e, 0x73, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x55, 0x52, 0x4c, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x53, 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x55, 0x52, + 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x24, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, + 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, + 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x53, 0x4f, 0x6e, 0x6c, + 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x41, 0x53, 0x4f, 0x6e, 0x6c, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, + 0x24, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x45, 0x78, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, + 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x41, 0x73, 0x6e, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x41, 0x73, + 0x6e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x74, 0x74, 0x70, 0x55, + 0x70, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x48, 0x74, 0x74, 0x70, 0x55, 0x70, 0x12, + 0x26, 0x0a, 0x0e, 0x48, 0x74, 0x74, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x48, 0x74, 0x74, 0x70, 0x44, 0x6f, 0x77, + 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x53, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x69, + 0x6e, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x4c, + 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x53, + 0x79, 0x6e, 0x63, 0x12, 0x4a, 0x0a, 0x12, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x66, 0x75, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x4c, 0x61, 0x73, + 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x12, + 0x3c, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x48, 0x74, 0x74, 0x70, 0x73, 0x55, 0x70, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x48, 0x74, 0x74, 0x70, 0x73, 0x55, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x73, + 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x22, 0x34, 0x0a, 0x0f, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x12, 0x21, 0x0a, 0x07, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x07, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x2e, 0x0a, 0x08, 0x4d, 0x69, 0x72, 0x72, 0x6f, + 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x07, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x49, + 0x44, 0x52, 0x07, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x3f, 0x0a, 0x13, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, + 0x44, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x21, 0x0a, 0x0f, 0x4d, + 0x69, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x22, 0xb0, + 0x01, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, + 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x53, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x41, 0x53, 0x4e, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x73, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x69, 0x66, 0x66, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x69, 0x66, 0x66, 0x22, 0x67, 0x0a, 0x14, 0x47, 0x65, + 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x06, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x4d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x69, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x44, 0x69, 0x66, 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x73, 0x22, 0x32, 0x0a, 0x18, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x52, 0x65, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x52, 0x65, 0x68, 0x61, 0x73, 0x68, 0x22, 0xa1, 0x01, 0x0a, 0x11, 0x53, 0x63, 0x61, 0x6e, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1e, 0x0a, + 0x0a, 0x41, 0x75, 0x74, 0x6f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x41, 0x75, 0x74, 0x6f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x35, 0x0a, + 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x19, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x25, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x07, + 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x54, 0x50, 0x10, 0x01, + 0x12, 0x09, 0x0a, 0x05, 0x52, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x02, 0x22, 0xad, 0x01, 0x0a, 0x0f, + 0x53, 0x63, 0x61, 0x6e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x12, 0x22, 0x0a, + 0x0c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x07, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x54, + 0x5a, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x4d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x54, 0x5a, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x4d, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x10, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x44, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x44, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x44, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x07, 0x44, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x22, 0x7c, 0x0a, 0x0e, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x05, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x1a, 0x38, + 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 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, 0x03, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x12, + 0x38, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x44, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x44, 0x61, 0x74, + 0x65, 0x45, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x44, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x22, + 0x65, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x06, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x4d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x46, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1e, + 0x0a, 0x0a, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x28, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x32, 0xb8, 0x07, 0x0a, 0x03, 0x43, 0x4c, 0x49, + 0x12, 0x35, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0d, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x07, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x06, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, + 0x12, 0x3e, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x14, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, + 0x12, 0x32, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x10, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x00, 0x12, 0x29, 0x0a, 0x0a, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x10, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x44, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x00, 0x12, + 0x27, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x07, 0x2e, 0x4d, + 0x69, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x0f, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x69, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x07, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, + 0x72, 0x1a, 0x12, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x10, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, + 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0f, 0x47, 0x65, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x10, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x49, + 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x47, 0x65, 0x6f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x00, 0x12, 0x48, 0x0a, 0x11, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x0a, 0x53, + 0x63, 0x61, 0x6e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x2e, 0x53, 0x63, 0x61, 0x6e, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, + 0x53, 0x63, 0x61, 0x6e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x00, 0x12, 0x31, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x11, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x13, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x69, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x38, 0x0a, + 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x15, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x13, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x2b, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, + 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x0d, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x00, 0x42, 0x07, 0x5a, 0x05, 0x2e, 0x2f, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_rpc_rpc_proto_rawDescOnce sync.Once + file_rpc_rpc_proto_rawDescData = file_rpc_rpc_proto_rawDesc +) -var _CLI_serviceDesc = grpc.ServiceDesc{ - ServiceName: "CLI", - HandlerType: (*CLIServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetVersion", - Handler: _CLI_GetVersion_Handler, - }, - { - MethodName: "Upgrade", - Handler: _CLI_Upgrade_Handler, - }, - { - MethodName: "Reload", - Handler: _CLI_Reload_Handler, - }, - { - MethodName: "ChangeStatus", - Handler: _CLI_ChangeStatus_Handler, - }, - { - MethodName: "List", - Handler: _CLI_List_Handler, - }, - { - MethodName: "MirrorInfo", - Handler: _CLI_MirrorInfo_Handler, - }, - { - MethodName: "AddMirror", - Handler: _CLI_AddMirror_Handler, - }, - { - MethodName: "UpdateMirror", - Handler: _CLI_UpdateMirror_Handler, - }, - { - MethodName: "RemoveMirror", - Handler: _CLI_RemoveMirror_Handler, - }, - { - MethodName: "GeoUpdateMirror", - Handler: _CLI_GeoUpdateMirror_Handler, - }, - { - MethodName: "RefreshRepository", - Handler: _CLI_RefreshRepository_Handler, - }, - { - MethodName: "ScanMirror", - Handler: _CLI_ScanMirror_Handler, - }, - { - MethodName: "StatsFile", - Handler: _CLI_StatsFile_Handler, - }, - { - MethodName: "StatsMirror", - Handler: _CLI_StatsMirror_Handler, - }, - { - MethodName: "Ping", - Handler: _CLI_Ping_Handler, - }, - { - MethodName: "GetMirrorLogs", - Handler: _CLI_GetMirrorLogs_Handler, - }, - { - MethodName: "MatchMirror", - Handler: _CLI_MatchMirror_Handler, +func file_rpc_rpc_proto_rawDescGZIP() []byte { + file_rpc_rpc_proto_rawDescOnce.Do(func() { + file_rpc_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_rpc_proto_rawDescData) + }) + return file_rpc_rpc_proto_rawDescData +} + +var file_rpc_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_rpc_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_rpc_rpc_proto_goTypes = []interface{}{ + (ScanMirrorRequest_Method)(0), // 0: ScanMirrorRequest.Method + (*VersionReply)(nil), // 1: VersionReply + (*MatchRequest)(nil), // 2: MatchRequest + (*Mirror)(nil), // 3: Mirror + (*MirrorListReply)(nil), // 4: MirrorListReply + (*MirrorID)(nil), // 5: MirrorID + (*MatchReply)(nil), // 6: MatchReply + (*ChangeStatusRequest)(nil), // 7: ChangeStatusRequest + (*MirrorIDRequest)(nil), // 8: MirrorIDRequest + (*AddMirrorReply)(nil), // 9: AddMirrorReply + (*UpdateMirrorReply)(nil), // 10: UpdateMirrorReply + (*GeoUpdateMirrorReply)(nil), // 11: GeoUpdateMirrorReply + (*RefreshRepositoryRequest)(nil), // 12: RefreshRepositoryRequest + (*ScanMirrorRequest)(nil), // 13: ScanMirrorRequest + (*ScanMirrorReply)(nil), // 14: ScanMirrorReply + (*StatsFileRequest)(nil), // 15: StatsFileRequest + (*StatsFileReply)(nil), // 16: StatsFileReply + (*StatsMirrorRequest)(nil), // 17: StatsMirrorRequest + (*StatsMirrorReply)(nil), // 18: StatsMirrorReply + (*GetMirrorLogsRequest)(nil), // 19: GetMirrorLogsRequest + (*GetMirrorLogsReply)(nil), // 20: GetMirrorLogsReply + nil, // 21: StatsFileReply.FilesEntry + (*timestamp.Timestamp)(nil), // 22: google.protobuf.Timestamp + (*empty.Empty)(nil), // 23: google.protobuf.Empty +} +var file_rpc_rpc_proto_depIdxs = []int32{ + 22, // 0: Mirror.StateSince:type_name -> google.protobuf.Timestamp + 22, // 1: Mirror.LastSync:type_name -> google.protobuf.Timestamp + 22, // 2: Mirror.LastSuccessfulSync:type_name -> google.protobuf.Timestamp + 22, // 3: Mirror.LastModTime:type_name -> google.protobuf.Timestamp + 3, // 4: MirrorListReply.Mirrors:type_name -> Mirror + 5, // 5: MatchReply.Mirrors:type_name -> MirrorID + 3, // 6: GeoUpdateMirrorReply.Mirror:type_name -> Mirror + 0, // 7: ScanMirrorRequest.Protocol:type_name -> ScanMirrorRequest.Method + 22, // 8: StatsFileRequest.DateStart:type_name -> google.protobuf.Timestamp + 22, // 9: StatsFileRequest.DateEnd:type_name -> google.protobuf.Timestamp + 21, // 10: StatsFileReply.files:type_name -> StatsFileReply.FilesEntry + 22, // 11: StatsMirrorRequest.DateStart:type_name -> google.protobuf.Timestamp + 22, // 12: StatsMirrorRequest.DateEnd:type_name -> google.protobuf.Timestamp + 3, // 13: StatsMirrorReply.Mirror:type_name -> Mirror + 23, // 14: CLI.GetVersion:input_type -> google.protobuf.Empty + 23, // 15: CLI.Upgrade:input_type -> google.protobuf.Empty + 23, // 16: CLI.Reload:input_type -> google.protobuf.Empty + 7, // 17: CLI.ChangeStatus:input_type -> ChangeStatusRequest + 23, // 18: CLI.List:input_type -> google.protobuf.Empty + 8, // 19: CLI.MirrorInfo:input_type -> MirrorIDRequest + 3, // 20: CLI.AddMirror:input_type -> Mirror + 3, // 21: CLI.UpdateMirror:input_type -> Mirror + 8, // 22: CLI.RemoveMirror:input_type -> MirrorIDRequest + 8, // 23: CLI.GeoUpdateMirror:input_type -> MirrorIDRequest + 12, // 24: CLI.RefreshRepository:input_type -> RefreshRepositoryRequest + 13, // 25: CLI.ScanMirror:input_type -> ScanMirrorRequest + 15, // 26: CLI.StatsFile:input_type -> StatsFileRequest + 17, // 27: CLI.StatsMirror:input_type -> StatsMirrorRequest + 23, // 28: CLI.Ping:input_type -> google.protobuf.Empty + 19, // 29: CLI.GetMirrorLogs:input_type -> GetMirrorLogsRequest + 2, // 30: CLI.MatchMirror:input_type -> MatchRequest + 1, // 31: CLI.GetVersion:output_type -> VersionReply + 23, // 32: CLI.Upgrade:output_type -> google.protobuf.Empty + 23, // 33: CLI.Reload:output_type -> google.protobuf.Empty + 23, // 34: CLI.ChangeStatus:output_type -> google.protobuf.Empty + 4, // 35: CLI.List:output_type -> MirrorListReply + 3, // 36: CLI.MirrorInfo:output_type -> Mirror + 9, // 37: CLI.AddMirror:output_type -> AddMirrorReply + 10, // 38: CLI.UpdateMirror:output_type -> UpdateMirrorReply + 23, // 39: CLI.RemoveMirror:output_type -> google.protobuf.Empty + 11, // 40: CLI.GeoUpdateMirror:output_type -> GeoUpdateMirrorReply + 23, // 41: CLI.RefreshRepository:output_type -> google.protobuf.Empty + 14, // 42: CLI.ScanMirror:output_type -> ScanMirrorReply + 16, // 43: CLI.StatsFile:output_type -> StatsFileReply + 18, // 44: CLI.StatsMirror:output_type -> StatsMirrorReply + 23, // 45: CLI.Ping:output_type -> google.protobuf.Empty + 20, // 46: CLI.GetMirrorLogs:output_type -> GetMirrorLogsReply + 6, // 47: CLI.MatchMirror:output_type -> MatchReply + 31, // [31:48] is the sub-list for method output_type + 14, // [14:31] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_rpc_rpc_proto_init() } +func file_rpc_rpc_proto_init() { + if File_rpc_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_rpc_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VersionReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Mirror); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MirrorListReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MirrorID); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChangeStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MirrorIDRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddMirrorReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateMirrorReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GeoUpdateMirrorReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RefreshRepositoryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ScanMirrorRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ScanMirrorReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatsFileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatsFileReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatsMirrorRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatsMirrorReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMirrorLogsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMirrorLogsReply); 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_rpc_rpc_proto_rawDesc, + NumEnums: 1, + NumMessages: 21, + NumExtensions: 0, + NumServices: 1, }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "rpc.proto", + GoTypes: file_rpc_rpc_proto_goTypes, + DependencyIndexes: file_rpc_rpc_proto_depIdxs, + EnumInfos: file_rpc_rpc_proto_enumTypes, + MessageInfos: file_rpc_rpc_proto_msgTypes, + }.Build() + File_rpc_rpc_proto = out.File + file_rpc_rpc_proto_rawDesc = nil + file_rpc_rpc_proto_goTypes = nil + file_rpc_rpc_proto_depIdxs = nil } diff --git a/rpc/rpc_grpc.pb.go b/rpc/rpc_grpc.pb.go new file mode 100644 index 00000000..36830aff --- /dev/null +++ b/rpc/rpc_grpc.pb.go @@ -0,0 +1,676 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package rpc + +import ( + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion7 + +// CLIClient is the client API for CLI service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type CLIClient interface { + GetVersion(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*VersionReply, error) + Upgrade(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) + Reload(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) + ChangeStatus(ctx context.Context, in *ChangeStatusRequest, opts ...grpc.CallOption) (*empty.Empty, error) + List(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*MirrorListReply, error) + MirrorInfo(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*Mirror, error) + AddMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*AddMirrorReply, error) + UpdateMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*UpdateMirrorReply, error) + RemoveMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*empty.Empty, error) + GeoUpdateMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*GeoUpdateMirrorReply, error) + RefreshRepository(ctx context.Context, in *RefreshRepositoryRequest, opts ...grpc.CallOption) (*empty.Empty, error) + ScanMirror(ctx context.Context, in *ScanMirrorRequest, opts ...grpc.CallOption) (*ScanMirrorReply, error) + StatsFile(ctx context.Context, in *StatsFileRequest, opts ...grpc.CallOption) (*StatsFileReply, error) + StatsMirror(ctx context.Context, in *StatsMirrorRequest, opts ...grpc.CallOption) (*StatsMirrorReply, error) + Ping(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) + GetMirrorLogs(ctx context.Context, in *GetMirrorLogsRequest, opts ...grpc.CallOption) (*GetMirrorLogsReply, error) + // Tools + MatchMirror(ctx context.Context, in *MatchRequest, opts ...grpc.CallOption) (*MatchReply, error) +} + +type cLIClient struct { + cc grpc.ClientConnInterface +} + +func NewCLIClient(cc grpc.ClientConnInterface) CLIClient { + return &cLIClient{cc} +} + +func (c *cLIClient) GetVersion(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*VersionReply, error) { + out := new(VersionReply) + err := c.cc.Invoke(ctx, "/CLI/GetVersion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) Upgrade(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/CLI/Upgrade", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) Reload(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/CLI/Reload", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) ChangeStatus(ctx context.Context, in *ChangeStatusRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/CLI/ChangeStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) List(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*MirrorListReply, error) { + out := new(MirrorListReply) + err := c.cc.Invoke(ctx, "/CLI/List", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) MirrorInfo(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*Mirror, error) { + out := new(Mirror) + err := c.cc.Invoke(ctx, "/CLI/MirrorInfo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) AddMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*AddMirrorReply, error) { + out := new(AddMirrorReply) + err := c.cc.Invoke(ctx, "/CLI/AddMirror", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) UpdateMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*UpdateMirrorReply, error) { + out := new(UpdateMirrorReply) + err := c.cc.Invoke(ctx, "/CLI/UpdateMirror", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) RemoveMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/CLI/RemoveMirror", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) GeoUpdateMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*GeoUpdateMirrorReply, error) { + out := new(GeoUpdateMirrorReply) + err := c.cc.Invoke(ctx, "/CLI/GeoUpdateMirror", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) RefreshRepository(ctx context.Context, in *RefreshRepositoryRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/CLI/RefreshRepository", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) ScanMirror(ctx context.Context, in *ScanMirrorRequest, opts ...grpc.CallOption) (*ScanMirrorReply, error) { + out := new(ScanMirrorReply) + err := c.cc.Invoke(ctx, "/CLI/ScanMirror", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) StatsFile(ctx context.Context, in *StatsFileRequest, opts ...grpc.CallOption) (*StatsFileReply, error) { + out := new(StatsFileReply) + err := c.cc.Invoke(ctx, "/CLI/StatsFile", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) StatsMirror(ctx context.Context, in *StatsMirrorRequest, opts ...grpc.CallOption) (*StatsMirrorReply, error) { + out := new(StatsMirrorReply) + err := c.cc.Invoke(ctx, "/CLI/StatsMirror", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) Ping(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/CLI/Ping", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) GetMirrorLogs(ctx context.Context, in *GetMirrorLogsRequest, opts ...grpc.CallOption) (*GetMirrorLogsReply, error) { + out := new(GetMirrorLogsReply) + err := c.cc.Invoke(ctx, "/CLI/GetMirrorLogs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cLIClient) MatchMirror(ctx context.Context, in *MatchRequest, opts ...grpc.CallOption) (*MatchReply, error) { + out := new(MatchReply) + err := c.cc.Invoke(ctx, "/CLI/MatchMirror", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CLIServer is the server API for CLI service. +// All implementations must embed UnimplementedCLIServer +// for forward compatibility +type CLIServer interface { + GetVersion(context.Context, *empty.Empty) (*VersionReply, error) + Upgrade(context.Context, *empty.Empty) (*empty.Empty, error) + Reload(context.Context, *empty.Empty) (*empty.Empty, error) + ChangeStatus(context.Context, *ChangeStatusRequest) (*empty.Empty, error) + List(context.Context, *empty.Empty) (*MirrorListReply, error) + MirrorInfo(context.Context, *MirrorIDRequest) (*Mirror, error) + AddMirror(context.Context, *Mirror) (*AddMirrorReply, error) + UpdateMirror(context.Context, *Mirror) (*UpdateMirrorReply, error) + RemoveMirror(context.Context, *MirrorIDRequest) (*empty.Empty, error) + GeoUpdateMirror(context.Context, *MirrorIDRequest) (*GeoUpdateMirrorReply, error) + RefreshRepository(context.Context, *RefreshRepositoryRequest) (*empty.Empty, error) + ScanMirror(context.Context, *ScanMirrorRequest) (*ScanMirrorReply, error) + StatsFile(context.Context, *StatsFileRequest) (*StatsFileReply, error) + StatsMirror(context.Context, *StatsMirrorRequest) (*StatsMirrorReply, error) + Ping(context.Context, *empty.Empty) (*empty.Empty, error) + GetMirrorLogs(context.Context, *GetMirrorLogsRequest) (*GetMirrorLogsReply, error) + // Tools + MatchMirror(context.Context, *MatchRequest) (*MatchReply, error) + mustEmbedUnimplementedCLIServer() +} + +// UnimplementedCLIServer must be embedded to have forward compatible implementations. +type UnimplementedCLIServer struct { +} + +func (UnimplementedCLIServer) GetVersion(context.Context, *empty.Empty) (*VersionReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented") +} +func (UnimplementedCLIServer) Upgrade(context.Context, *empty.Empty) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Upgrade not implemented") +} +func (UnimplementedCLIServer) Reload(context.Context, *empty.Empty) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Reload not implemented") +} +func (UnimplementedCLIServer) ChangeStatus(context.Context, *ChangeStatusRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ChangeStatus not implemented") +} +func (UnimplementedCLIServer) List(context.Context, *empty.Empty) (*MirrorListReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method List not implemented") +} +func (UnimplementedCLIServer) MirrorInfo(context.Context, *MirrorIDRequest) (*Mirror, error) { + return nil, status.Errorf(codes.Unimplemented, "method MirrorInfo not implemented") +} +func (UnimplementedCLIServer) AddMirror(context.Context, *Mirror) (*AddMirrorReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddMirror not implemented") +} +func (UnimplementedCLIServer) UpdateMirror(context.Context, *Mirror) (*UpdateMirrorReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateMirror not implemented") +} +func (UnimplementedCLIServer) RemoveMirror(context.Context, *MirrorIDRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveMirror not implemented") +} +func (UnimplementedCLIServer) GeoUpdateMirror(context.Context, *MirrorIDRequest) (*GeoUpdateMirrorReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GeoUpdateMirror not implemented") +} +func (UnimplementedCLIServer) RefreshRepository(context.Context, *RefreshRepositoryRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method RefreshRepository not implemented") +} +func (UnimplementedCLIServer) ScanMirror(context.Context, *ScanMirrorRequest) (*ScanMirrorReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method ScanMirror not implemented") +} +func (UnimplementedCLIServer) StatsFile(context.Context, *StatsFileRequest) (*StatsFileReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method StatsFile not implemented") +} +func (UnimplementedCLIServer) StatsMirror(context.Context, *StatsMirrorRequest) (*StatsMirrorReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method StatsMirror not implemented") +} +func (UnimplementedCLIServer) Ping(context.Context, *empty.Empty) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented") +} +func (UnimplementedCLIServer) GetMirrorLogs(context.Context, *GetMirrorLogsRequest) (*GetMirrorLogsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMirrorLogs not implemented") +} +func (UnimplementedCLIServer) MatchMirror(context.Context, *MatchRequest) (*MatchReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchMirror not implemented") +} +func (UnimplementedCLIServer) mustEmbedUnimplementedCLIServer() {} + +// UnsafeCLIServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to CLIServer will +// result in compilation errors. +type UnsafeCLIServer interface { + mustEmbedUnimplementedCLIServer() +} + +func RegisterCLIServer(s grpc.ServiceRegistrar, srv CLIServer) { + s.RegisterService(&_CLI_serviceDesc, srv) +} + +func _CLI_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).GetVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/GetVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).GetVersion(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_Upgrade_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).Upgrade(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/Upgrade", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).Upgrade(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_Reload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).Reload(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/Reload", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).Reload(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_ChangeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChangeStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).ChangeStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/ChangeStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).ChangeStatus(ctx, req.(*ChangeStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).List(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/List", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).List(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_MirrorInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MirrorIDRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).MirrorInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/MirrorInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).MirrorInfo(ctx, req.(*MirrorIDRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_AddMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Mirror) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).AddMirror(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/AddMirror", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).AddMirror(ctx, req.(*Mirror)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_UpdateMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Mirror) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).UpdateMirror(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/UpdateMirror", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).UpdateMirror(ctx, req.(*Mirror)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_RemoveMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MirrorIDRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).RemoveMirror(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/RemoveMirror", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).RemoveMirror(ctx, req.(*MirrorIDRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_GeoUpdateMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MirrorIDRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).GeoUpdateMirror(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/GeoUpdateMirror", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).GeoUpdateMirror(ctx, req.(*MirrorIDRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_RefreshRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RefreshRepositoryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).RefreshRepository(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/RefreshRepository", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).RefreshRepository(ctx, req.(*RefreshRepositoryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_ScanMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ScanMirrorRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).ScanMirror(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/ScanMirror", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).ScanMirror(ctx, req.(*ScanMirrorRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_StatsFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StatsFileRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).StatsFile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/StatsFile", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).StatsFile(ctx, req.(*StatsFileRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_StatsMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StatsMirrorRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).StatsMirror(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/StatsMirror", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).StatsMirror(ctx, req.(*StatsMirrorRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).Ping(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/Ping", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).Ping(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_GetMirrorLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMirrorLogsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).GetMirrorLogs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/GetMirrorLogs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).GetMirrorLogs(ctx, req.(*GetMirrorLogsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CLI_MatchMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MatchRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CLIServer).MatchMirror(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/CLI/MatchMirror", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CLIServer).MatchMirror(ctx, req.(*MatchRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _CLI_serviceDesc = grpc.ServiceDesc{ + ServiceName: "CLI", + HandlerType: (*CLIServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetVersion", + Handler: _CLI_GetVersion_Handler, + }, + { + MethodName: "Upgrade", + Handler: _CLI_Upgrade_Handler, + }, + { + MethodName: "Reload", + Handler: _CLI_Reload_Handler, + }, + { + MethodName: "ChangeStatus", + Handler: _CLI_ChangeStatus_Handler, + }, + { + MethodName: "List", + Handler: _CLI_List_Handler, + }, + { + MethodName: "MirrorInfo", + Handler: _CLI_MirrorInfo_Handler, + }, + { + MethodName: "AddMirror", + Handler: _CLI_AddMirror_Handler, + }, + { + MethodName: "UpdateMirror", + Handler: _CLI_UpdateMirror_Handler, + }, + { + MethodName: "RemoveMirror", + Handler: _CLI_RemoveMirror_Handler, + }, + { + MethodName: "GeoUpdateMirror", + Handler: _CLI_GeoUpdateMirror_Handler, + }, + { + MethodName: "RefreshRepository", + Handler: _CLI_RefreshRepository_Handler, + }, + { + MethodName: "ScanMirror", + Handler: _CLI_ScanMirror_Handler, + }, + { + MethodName: "StatsFile", + Handler: _CLI_StatsFile_Handler, + }, + { + MethodName: "StatsMirror", + Handler: _CLI_StatsMirror_Handler, + }, + { + MethodName: "Ping", + Handler: _CLI_Ping_Handler, + }, + { + MethodName: "GetMirrorLogs", + Handler: _CLI_GetMirrorLogs_Handler, + }, + { + MethodName: "MatchMirror", + Handler: _CLI_MatchMirror_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "rpc/rpc.proto", +}