summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Newdigate <andrew@gitlab.com>2018-12-07 15:16:41 +0200
committerAndrew Newdigate <andrew@gitlab.com>2018-12-07 15:16:41 +0200
commit92b8814483e96980bf70a7d77c311d9cf3b14834 (patch)
tree3fd89c68f41aa88037049d46c9a522045f579f53
parentde20e931fe33fa28b45757177c76fb2716f6af33 (diff)
parent1422613332b8b522bcbba0620ba69e89e6a459d4 (diff)
downloadgitlab-shell-92b8814483e96980bf70a7d77c311d9cf3b14834.tar.gz
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-shell into vendor-update
# Conflicts: # go/vendor/vendor.json
-rw-r--r--go/README.md2
-rw-r--r--go/cmd/gitaly-receive-pack/main.go5
-rw-r--r--go/cmd/gitaly-upload-archive/main.go7
-rw-r--r--go/cmd/gitaly-upload-archive/main_test.go6
-rw-r--r--go/cmd/gitaly-upload-pack/main.go5
-rw-r--r--go/internal/handler/receive_pack.go4
-rw-r--r--go/internal/handler/upload_archive.go4
-rw-r--r--go/internal/handler/upload_pack.go4
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION2
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/blob.pb.go)28
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/commit.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/commit.pb.go)485
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/conflicts.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/conflicts.pb.go)20
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/deprecated-services.pb.go1146
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/diff.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/diff.pb.go)149
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/cleanup.pb.go183
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/objectpool.pb.go374
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/storage.pb.go243
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/helper/inforefs.go32
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/helper/stream.go44
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/namespace.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/namespace.pb.go)2
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/notifications.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/notifications.pb.go)2
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/operations.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/operations.pb.go)660
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ref.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/ref.pb.go)88
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/remote.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/remote.pb.go)188
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/repository-service.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/repository-service.pb.go)481
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/server.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/server.pb.go)12
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/shared.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/shared.pb.go)112
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/smarthttp.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/smarthttp.pb.go)18
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ssh.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/ssh.pb.go)18
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/storage.pb.go135
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/wiki.pb.go (renamed from go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/wiki.pb.go)44
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly/NOTICE64
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly/client/address_parser.go24
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly/client/dial.go55
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly/client/pool-darwin.go58
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly/client/pool.go8
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go10
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly/client/std_stream.go4
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly/client/upload_archive.go10
-rw-r--r--go/vendor/gitlab.com/gitlab-org/gitaly/client/upload_pack.go10
-rw-r--r--go/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/messages/messages.pb.go615
-rw-r--r--go/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/messages/messages.proto155
-rw-r--r--go/vendor/google.golang.org/grpc/transport/bdp_estimator.go140
-rw-r--r--go/vendor/google.golang.org/grpc/transport/control.go334
-rw-r--r--go/vendor/google.golang.org/grpc/transport/go16.go51
-rw-r--r--go/vendor/google.golang.org/grpc/transport/go17.go52
-rw-r--r--go/vendor/google.golang.org/grpc/transport/handler_server.go413
-rw-r--r--go/vendor/google.golang.org/grpc/transport/http2_client.go1376
-rw-r--r--go/vendor/google.golang.org/grpc/transport/http2_server.go1215
-rw-r--r--go/vendor/google.golang.org/grpc/transport/http_util.go489
-rw-r--r--go/vendor/google.golang.org/grpc/transport/log.go50
-rw-r--r--go/vendor/google.golang.org/grpc/transport/transport.go757
-rw-r--r--go/vendor/vendor.json19
53 files changed, 7886 insertions, 2526 deletions
diff --git a/go/README.md b/go/README.md
index b851ce7..6bbc03e 100644
--- a/go/README.md
+++ b/go/README.md
@@ -14,5 +14,5 @@ To update e.g. `gitaly-proto` run the following command in the root
directory of the project.
```
-support/go-update-vendor gitlab.com/gitlab-org/gitaly-proto/go/gitalypb@v1.3.0
+support/go-update-vendor gitlab.com/gitlab-org/gitaly-proto/go@v0.109.0
```
diff --git a/go/cmd/gitaly-receive-pack/main.go b/go/cmd/gitaly-receive-pack/main.go
index 06b8a72..511d584 100644
--- a/go/cmd/gitaly-receive-pack/main.go
+++ b/go/cmd/gitaly-receive-pack/main.go
@@ -5,9 +5,10 @@ import (
"fmt"
"os"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/handler"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/logger"
+
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
)
func init() {
@@ -23,7 +24,7 @@ func main() {
logger.Fatal("wrong number of arguments", fmt.Errorf("expected 2 arguments, got %v", os.Args))
}
- var request gitalypb.SSHReceivePackRequest
+ var request pb.SSHReceivePackRequest
if err := json.Unmarshal([]byte(os.Args[2]), &request); err != nil {
logger.Fatal("unmarshaling request json failed", err)
}
diff --git a/go/cmd/gitaly-upload-archive/main.go b/go/cmd/gitaly-upload-archive/main.go
index 845f8f4..c988baa 100644
--- a/go/cmd/gitaly-upload-archive/main.go
+++ b/go/cmd/gitaly-upload-archive/main.go
@@ -5,16 +5,17 @@ import (
"fmt"
"os"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/handler"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/logger"
+
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
)
func init() {
logger.ProgName = "gitaly-upload-archive"
}
-type uploadArchiveHandler func(gitalyAddress string, request *gitalypb.SSHUploadArchiveRequest) (int32, error)
+type uploadArchiveHandler func(gitalyAddress string, request *pb.SSHUploadArchiveRequest) (int32, error)
func main() {
if err := handler.Prepare(); err != nil {
@@ -35,7 +36,7 @@ func uploadArchive(handler uploadArchiveHandler, args []string) (int32, error) {
return 0, fmt.Errorf("wrong number of arguments: expected 2 arguments, got %v", args)
}
- var request gitalypb.SSHUploadArchiveRequest
+ var request pb.SSHUploadArchiveRequest
if err := json.Unmarshal([]byte(args[2]), &request); err != nil {
return 0, fmt.Errorf("unmarshaling request json failed: %v", err)
}
diff --git a/go/cmd/gitaly-upload-archive/main_test.go b/go/cmd/gitaly-upload-archive/main_test.go
index 7cb9942..b17da7b 100644
--- a/go/cmd/gitaly-upload-archive/main_test.go
+++ b/go/cmd/gitaly-upload-archive/main_test.go
@@ -5,7 +5,7 @@ import (
"strings"
"testing"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
)
var testGitalyAddress = "unix:gitaly.socket"
@@ -13,7 +13,7 @@ var testGitalyAddress = "unix:gitaly.socket"
func TestUploadArchiveSuccess(t *testing.T) {
testRelativePath := "myrepo.git"
requestJSON := fmt.Sprintf(`{"repository":{"relative_path":"%s"}}`, testRelativePath)
- mockHandler := func(gitalyAddress string, request *gitalypb.SSHUploadArchiveRequest) (int32, error) {
+ mockHandler := func(gitalyAddress string, request *pb.SSHUploadArchiveRequest) (int32, error) {
if gitalyAddress != testGitalyAddress {
t.Fatalf("Expected gitaly address %s got %v", testGitalyAddress, gitalyAddress)
}
@@ -35,7 +35,7 @@ func TestUploadArchiveSuccess(t *testing.T) {
}
func TestUploadArchiveFailure(t *testing.T) {
- mockHandler := func(_ string, _ *gitalypb.SSHUploadArchiveRequest) (int32, error) {
+ mockHandler := func(_ string, _ *pb.SSHUploadArchiveRequest) (int32, error) {
t.Fatal("Expected handler not to be called")
return 0, nil
diff --git a/go/cmd/gitaly-upload-pack/main.go b/go/cmd/gitaly-upload-pack/main.go
index a2250b2..282c90f 100644
--- a/go/cmd/gitaly-upload-pack/main.go
+++ b/go/cmd/gitaly-upload-pack/main.go
@@ -5,9 +5,10 @@ import (
"fmt"
"os"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/handler"
"gitlab.com/gitlab-org/gitlab-shell/go/internal/logger"
+
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
)
func init() {
@@ -23,7 +24,7 @@ func main() {
logger.Fatal("wrong number of arguments", fmt.Errorf("expected 2 arguments, got %v", os.Args))
}
- var request gitalypb.SSHUploadPackRequest
+ var request pb.SSHUploadPackRequest
if err := json.Unmarshal([]byte(os.Args[2]), &request); err != nil {
logger.Fatal("unmarshaling request json failed", err)
}
diff --git a/go/internal/handler/receive_pack.go b/go/internal/handler/receive_pack.go
index 096204f..e69486f 100644
--- a/go/internal/handler/receive_pack.go
+++ b/go/internal/handler/receive_pack.go
@@ -5,11 +5,11 @@ import (
"fmt"
"os"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
"gitlab.com/gitlab-org/gitaly/client"
)
-func ReceivePack(gitalyAddress string, request *gitalypb.SSHReceivePackRequest) (int32, error) {
+func ReceivePack(gitalyAddress string, request *pb.SSHReceivePackRequest) (int32, error) {
if gitalyAddress == "" {
return 0, fmt.Errorf("no gitaly_address given")
}
diff --git a/go/internal/handler/upload_archive.go b/go/internal/handler/upload_archive.go
index 8028c5b..4ab1e71 100644
--- a/go/internal/handler/upload_archive.go
+++ b/go/internal/handler/upload_archive.go
@@ -5,11 +5,11 @@ import (
"fmt"
"os"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
"gitlab.com/gitlab-org/gitaly/client"
)
-func UploadArchive(gitalyAddress string, request *gitalypb.SSHUploadArchiveRequest) (int32, error) {
+func UploadArchive(gitalyAddress string, request *pb.SSHUploadArchiveRequest) (int32, error) {
if gitalyAddress == "" {
return 0, fmt.Errorf("no gitaly_address given")
}
diff --git a/go/internal/handler/upload_pack.go b/go/internal/handler/upload_pack.go
index 2aec2eb..51a2f3b 100644
--- a/go/internal/handler/upload_pack.go
+++ b/go/internal/handler/upload_pack.go
@@ -5,11 +5,11 @@ import (
"fmt"
"os"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
"gitlab.com/gitlab-org/gitaly/client"
)
-func UploadPack(gitalyAddress string, request *gitalypb.SSHUploadPackRequest) (int32, error) {
+func UploadPack(gitalyAddress string, request *pb.SSHUploadPackRequest) (int32, error) {
if gitalyAddress == "" {
return 0, fmt.Errorf("no gitaly_address given")
}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION
index f0bb29e..e23e3fd 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION
@@ -1 +1 @@
-1.3.0
+0.112.0
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/blob.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go
index 60b0871..98695ab 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/blob.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go
@@ -2,17 +2,16 @@
// source: blob.proto
/*
-Package gitalypb is a generated protocol buffer package.
+Package gitaly is a generated protocol buffer package.
It is generated from these files:
blob.proto
- cleanup.proto
commit.proto
conflicts.proto
+ deprecated-services.proto
diff.proto
namespace.proto
notifications.proto
- objectpool.proto
operations.proto
ref.proto
remote.proto
@@ -37,8 +36,6 @@ It has these top-level messages:
GetNewLFSPointersResponse
GetAllLFSPointersRequest
GetAllLFSPointersResponse
- ApplyBfgObjectMapRequest
- ApplyBfgObjectMapResponse
CommitStatsRequest
CommitStatsResponse
CommitIsAncestorRequest
@@ -68,8 +65,6 @@ It has these top-level messages:
RawBlameResponse
LastCommitForPathRequest
LastCommitForPathResponse
- ListLastCommitsForTreeRequest
- ListLastCommitsForTreeResponse
CommitsByMessageRequest
CommitsByMessageResponse
FilterShasWithSignaturesRequest
@@ -111,15 +106,6 @@ It has these top-level messages:
RenameNamespaceResponse
PostReceiveRequest
PostReceiveResponse
- ObjectPool
- CreateObjectPoolRequest
- CreateObjectPoolResponse
- DeleteObjectPoolRequest
- DeleteObjectPoolResponse
- LinkRepositoryToObjectPoolRequest
- LinkRepositoryToObjectPoolResponse
- UnlinkRepositoryFromObjectPoolRequest
- UnlinkRepositoryFromObjectPoolResponse
UserCreateBranchRequest
UserCreateBranchResponse
UserUpdateBranchRequest
@@ -148,10 +134,6 @@ It has these top-level messages:
UserRebaseResponse
UserSquashRequest
UserSquashResponse
- UserApplyPatchRequest
- UserApplyPatchResponse
- UserUpdateSubmoduleRequest
- UserUpdateSubmoduleResponse
ListNewBlobsRequest
ListNewBlobsResponse
FindDefaultBranchNameRequest
@@ -200,8 +182,6 @@ It has these top-level messages:
UpdateRemoteMirrorResponse
FindRemoteRepositoryRequest
FindRemoteRepositoryResponse
- FindRemoteRootRefRequest
- FindRemoteRootRefResponse
RepositoryExistsRequest
RepositoryExistsResponse
RepackIncrementalRequest
@@ -291,8 +271,6 @@ It has these top-level messages:
SSHReceivePackResponse
SSHUploadArchiveRequest
SSHUploadArchiveResponse
- ListDirectoriesRequest
- ListDirectoriesResponse
DeleteAllRepositoriesRequest
DeleteAllRepositoriesResponse
WikiCommitDetails
@@ -315,7 +293,7 @@ It has these top-level messages:
WikiGetFormattedDataRequest
WikiGetFormattedDataResponse
*/
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/commit.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/commit.pb.go
index d294124..b9a2596 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/commit.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/commit.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: commit.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -44,7 +44,7 @@ func (x TreeEntryResponse_ObjectType) String() string {
return proto.EnumName(TreeEntryResponse_ObjectType_name, int32(x))
}
func (TreeEntryResponse_ObjectType) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor2, []int{5, 0}
+ return fileDescriptor1, []int{5, 0}
}
type TreeEntry_EntryType int32
@@ -69,7 +69,7 @@ var TreeEntry_EntryType_value = map[string]int32{
func (x TreeEntry_EntryType) String() string {
return proto.EnumName(TreeEntry_EntryType_name, int32(x))
}
-func (TreeEntry_EntryType) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{10, 0} }
+func (TreeEntry_EntryType) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{10, 0} }
type FindAllCommitsRequest_Order int32
@@ -94,7 +94,7 @@ func (x FindAllCommitsRequest_Order) String() string {
return proto.EnumName(FindAllCommitsRequest_Order_name, int32(x))
}
func (FindAllCommitsRequest_Order) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor2, []int{19, 0}
+ return fileDescriptor1, []int{19, 0}
}
type CommitStatsRequest struct {
@@ -105,7 +105,7 @@ type CommitStatsRequest struct {
func (m *CommitStatsRequest) Reset() { *m = CommitStatsRequest{} }
func (m *CommitStatsRequest) String() string { return proto.CompactTextString(m) }
func (*CommitStatsRequest) ProtoMessage() {}
-func (*CommitStatsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*CommitStatsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
func (m *CommitStatsRequest) GetRepository() *Repository {
if m != nil {
@@ -131,7 +131,7 @@ type CommitStatsResponse struct {
func (m *CommitStatsResponse) Reset() { *m = CommitStatsResponse{} }
func (m *CommitStatsResponse) String() string { return proto.CompactTextString(m) }
func (*CommitStatsResponse) ProtoMessage() {}
-func (*CommitStatsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (*CommitStatsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
func (m *CommitStatsResponse) GetOid() string {
if m != nil {
@@ -163,7 +163,7 @@ type CommitIsAncestorRequest struct {
func (m *CommitIsAncestorRequest) Reset() { *m = CommitIsAncestorRequest{} }
func (m *CommitIsAncestorRequest) String() string { return proto.CompactTextString(m) }
func (*CommitIsAncestorRequest) ProtoMessage() {}
-func (*CommitIsAncestorRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+func (*CommitIsAncestorRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
func (m *CommitIsAncestorRequest) GetRepository() *Repository {
if m != nil {
@@ -193,7 +193,7 @@ type CommitIsAncestorResponse struct {
func (m *CommitIsAncestorResponse) Reset() { *m = CommitIsAncestorResponse{} }
func (m *CommitIsAncestorResponse) String() string { return proto.CompactTextString(m) }
func (*CommitIsAncestorResponse) ProtoMessage() {}
-func (*CommitIsAncestorResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
+func (*CommitIsAncestorResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
func (m *CommitIsAncestorResponse) GetValue() bool {
if m != nil {
@@ -214,7 +214,7 @@ type TreeEntryRequest struct {
func (m *TreeEntryRequest) Reset() { *m = TreeEntryRequest{} }
func (m *TreeEntryRequest) String() string { return proto.CompactTextString(m) }
func (*TreeEntryRequest) ProtoMessage() {}
-func (*TreeEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
+func (*TreeEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
func (m *TreeEntryRequest) GetRepository() *Repository {
if m != nil {
@@ -258,7 +258,7 @@ type TreeEntryResponse struct {
func (m *TreeEntryResponse) Reset() { *m = TreeEntryResponse{} }
func (m *TreeEntryResponse) String() string { return proto.CompactTextString(m) }
func (*TreeEntryResponse) ProtoMessage() {}
-func (*TreeEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
+func (*TreeEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
func (m *TreeEntryResponse) GetType() TreeEntryResponse_ObjectType {
if m != nil {
@@ -304,7 +304,7 @@ type CommitsBetweenRequest struct {
func (m *CommitsBetweenRequest) Reset() { *m = CommitsBetweenRequest{} }
func (m *CommitsBetweenRequest) String() string { return proto.CompactTextString(m) }
func (*CommitsBetweenRequest) ProtoMessage() {}
-func (*CommitsBetweenRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
+func (*CommitsBetweenRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
func (m *CommitsBetweenRequest) GetRepository() *Repository {
if m != nil {
@@ -334,7 +334,7 @@ type CommitsBetweenResponse struct {
func (m *CommitsBetweenResponse) Reset() { *m = CommitsBetweenResponse{} }
func (m *CommitsBetweenResponse) String() string { return proto.CompactTextString(m) }
func (*CommitsBetweenResponse) ProtoMessage() {}
-func (*CommitsBetweenResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
+func (*CommitsBetweenResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
func (m *CommitsBetweenResponse) GetCommits() []*GitCommit {
if m != nil {
@@ -357,7 +357,7 @@ type CountCommitsRequest struct {
func (m *CountCommitsRequest) Reset() { *m = CountCommitsRequest{} }
func (m *CountCommitsRequest) String() string { return proto.CompactTextString(m) }
func (*CountCommitsRequest) ProtoMessage() {}
-func (*CountCommitsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} }
+func (*CountCommitsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
func (m *CountCommitsRequest) GetRepository() *Repository {
if m != nil {
@@ -415,7 +415,7 @@ type CountCommitsResponse struct {
func (m *CountCommitsResponse) Reset() { *m = CountCommitsResponse{} }
func (m *CountCommitsResponse) String() string { return proto.CompactTextString(m) }
func (*CountCommitsResponse) ProtoMessage() {}
-func (*CountCommitsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} }
+func (*CountCommitsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
func (m *CountCommitsResponse) GetCount() int32 {
if m != nil {
@@ -443,7 +443,7 @@ type TreeEntry struct {
func (m *TreeEntry) Reset() { *m = TreeEntry{} }
func (m *TreeEntry) String() string { return proto.CompactTextString(m) }
func (*TreeEntry) ProtoMessage() {}
-func (*TreeEntry) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{10} }
+func (*TreeEntry) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
func (m *TreeEntry) GetOid() string {
if m != nil {
@@ -504,7 +504,7 @@ type GetTreeEntriesRequest struct {
func (m *GetTreeEntriesRequest) Reset() { *m = GetTreeEntriesRequest{} }
func (m *GetTreeEntriesRequest) String() string { return proto.CompactTextString(m) }
func (*GetTreeEntriesRequest) ProtoMessage() {}
-func (*GetTreeEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{11} }
+func (*GetTreeEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
func (m *GetTreeEntriesRequest) GetRepository() *Repository {
if m != nil {
@@ -541,7 +541,7 @@ type GetTreeEntriesResponse struct {
func (m *GetTreeEntriesResponse) Reset() { *m = GetTreeEntriesResponse{} }
func (m *GetTreeEntriesResponse) String() string { return proto.CompactTextString(m) }
func (*GetTreeEntriesResponse) ProtoMessage() {}
-func (*GetTreeEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{12} }
+func (*GetTreeEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
func (m *GetTreeEntriesResponse) GetEntries() []*TreeEntry {
if m != nil {
@@ -558,7 +558,7 @@ type ListFilesRequest struct {
func (m *ListFilesRequest) Reset() { *m = ListFilesRequest{} }
func (m *ListFilesRequest) String() string { return proto.CompactTextString(m) }
func (*ListFilesRequest) ProtoMessage() {}
-func (*ListFilesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{13} }
+func (*ListFilesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
func (m *ListFilesRequest) GetRepository() *Repository {
if m != nil {
@@ -583,7 +583,7 @@ type ListFilesResponse struct {
func (m *ListFilesResponse) Reset() { *m = ListFilesResponse{} }
func (m *ListFilesResponse) String() string { return proto.CompactTextString(m) }
func (*ListFilesResponse) ProtoMessage() {}
-func (*ListFilesResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{14} }
+func (*ListFilesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
func (m *ListFilesResponse) GetPaths() [][]byte {
if m != nil {
@@ -600,7 +600,7 @@ type FindCommitRequest struct {
func (m *FindCommitRequest) Reset() { *m = FindCommitRequest{} }
func (m *FindCommitRequest) String() string { return proto.CompactTextString(m) }
func (*FindCommitRequest) ProtoMessage() {}
-func (*FindCommitRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{15} }
+func (*FindCommitRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
func (m *FindCommitRequest) GetRepository() *Repository {
if m != nil {
@@ -624,7 +624,7 @@ type FindCommitResponse struct {
func (m *FindCommitResponse) Reset() { *m = FindCommitResponse{} }
func (m *FindCommitResponse) String() string { return proto.CompactTextString(m) }
func (*FindCommitResponse) ProtoMessage() {}
-func (*FindCommitResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{16} }
+func (*FindCommitResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
func (m *FindCommitResponse) GetCommit() *GitCommit {
if m != nil {
@@ -641,7 +641,7 @@ type ListCommitsByOidRequest struct {
func (m *ListCommitsByOidRequest) Reset() { *m = ListCommitsByOidRequest{} }
func (m *ListCommitsByOidRequest) String() string { return proto.CompactTextString(m) }
func (*ListCommitsByOidRequest) ProtoMessage() {}
-func (*ListCommitsByOidRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{17} }
+func (*ListCommitsByOidRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
func (m *ListCommitsByOidRequest) GetRepository() *Repository {
if m != nil {
@@ -664,7 +664,7 @@ type ListCommitsByOidResponse struct {
func (m *ListCommitsByOidResponse) Reset() { *m = ListCommitsByOidResponse{} }
func (m *ListCommitsByOidResponse) String() string { return proto.CompactTextString(m) }
func (*ListCommitsByOidResponse) ProtoMessage() {}
-func (*ListCommitsByOidResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{18} }
+func (*ListCommitsByOidResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} }
func (m *ListCommitsByOidResponse) GetCommits() []*GitCommit {
if m != nil {
@@ -685,7 +685,7 @@ type FindAllCommitsRequest struct {
func (m *FindAllCommitsRequest) Reset() { *m = FindAllCommitsRequest{} }
func (m *FindAllCommitsRequest) String() string { return proto.CompactTextString(m) }
func (*FindAllCommitsRequest) ProtoMessage() {}
-func (*FindAllCommitsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{19} }
+func (*FindAllCommitsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{19} }
func (m *FindAllCommitsRequest) GetRepository() *Repository {
if m != nil {
@@ -730,7 +730,7 @@ type FindAllCommitsResponse struct {
func (m *FindAllCommitsResponse) Reset() { *m = FindAllCommitsResponse{} }
func (m *FindAllCommitsResponse) String() string { return proto.CompactTextString(m) }
func (*FindAllCommitsResponse) ProtoMessage() {}
-func (*FindAllCommitsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{20} }
+func (*FindAllCommitsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{20} }
func (m *FindAllCommitsResponse) GetCommits() []*GitCommit {
if m != nil {
@@ -757,7 +757,7 @@ type FindCommitsRequest struct {
func (m *FindCommitsRequest) Reset() { *m = FindCommitsRequest{} }
func (m *FindCommitsRequest) String() string { return proto.CompactTextString(m) }
func (*FindCommitsRequest) ProtoMessage() {}
-func (*FindCommitsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{21} }
+func (*FindCommitsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{21} }
func (m *FindCommitsRequest) GetRepository() *Repository {
if m != nil {
@@ -844,7 +844,7 @@ type FindCommitsResponse struct {
func (m *FindCommitsResponse) Reset() { *m = FindCommitsResponse{} }
func (m *FindCommitsResponse) String() string { return proto.CompactTextString(m) }
func (*FindCommitsResponse) ProtoMessage() {}
-func (*FindCommitsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{22} }
+func (*FindCommitsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{22} }
func (m *FindCommitsResponse) GetCommits() []*GitCommit {
if m != nil {
@@ -861,7 +861,7 @@ type CommitLanguagesRequest struct {
func (m *CommitLanguagesRequest) Reset() { *m = CommitLanguagesRequest{} }
func (m *CommitLanguagesRequest) String() string { return proto.CompactTextString(m) }
func (*CommitLanguagesRequest) ProtoMessage() {}
-func (*CommitLanguagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{23} }
+func (*CommitLanguagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{23} }
func (m *CommitLanguagesRequest) GetRepository() *Repository {
if m != nil {
@@ -884,7 +884,7 @@ type CommitLanguagesResponse struct {
func (m *CommitLanguagesResponse) Reset() { *m = CommitLanguagesResponse{} }
func (m *CommitLanguagesResponse) String() string { return proto.CompactTextString(m) }
func (*CommitLanguagesResponse) ProtoMessage() {}
-func (*CommitLanguagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{24} }
+func (*CommitLanguagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{24} }
func (m *CommitLanguagesResponse) GetLanguages() []*CommitLanguagesResponse_Language {
if m != nil {
@@ -903,7 +903,7 @@ func (m *CommitLanguagesResponse_Language) Reset() { *m = CommitLanguage
func (m *CommitLanguagesResponse_Language) String() string { return proto.CompactTextString(m) }
func (*CommitLanguagesResponse_Language) ProtoMessage() {}
func (*CommitLanguagesResponse_Language) Descriptor() ([]byte, []int) {
- return fileDescriptor2, []int{24, 0}
+ return fileDescriptor1, []int{24, 0}
}
func (m *CommitLanguagesResponse_Language) GetName() string {
@@ -936,7 +936,7 @@ type RawBlameRequest struct {
func (m *RawBlameRequest) Reset() { *m = RawBlameRequest{} }
func (m *RawBlameRequest) String() string { return proto.CompactTextString(m) }
func (*RawBlameRequest) ProtoMessage() {}
-func (*RawBlameRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{25} }
+func (*RawBlameRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{25} }
func (m *RawBlameRequest) GetRepository() *Repository {
if m != nil {
@@ -966,7 +966,7 @@ type RawBlameResponse struct {
func (m *RawBlameResponse) Reset() { *m = RawBlameResponse{} }
func (m *RawBlameResponse) String() string { return proto.CompactTextString(m) }
func (*RawBlameResponse) ProtoMessage() {}
-func (*RawBlameResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{26} }
+func (*RawBlameResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{26} }
func (m *RawBlameResponse) GetData() []byte {
if m != nil {
@@ -984,7 +984,7 @@ type LastCommitForPathRequest struct {
func (m *LastCommitForPathRequest) Reset() { *m = LastCommitForPathRequest{} }
func (m *LastCommitForPathRequest) String() string { return proto.CompactTextString(m) }
func (*LastCommitForPathRequest) ProtoMessage() {}
-func (*LastCommitForPathRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{27} }
+func (*LastCommitForPathRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{27} }
func (m *LastCommitForPathRequest) GetRepository() *Repository {
if m != nil {
@@ -1015,7 +1015,7 @@ type LastCommitForPathResponse struct {
func (m *LastCommitForPathResponse) Reset() { *m = LastCommitForPathResponse{} }
func (m *LastCommitForPathResponse) String() string { return proto.CompactTextString(m) }
func (*LastCommitForPathResponse) ProtoMessage() {}
-func (*LastCommitForPathResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{28} }
+func (*LastCommitForPathResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{28} }
func (m *LastCommitForPathResponse) GetCommit() *GitCommit {
if m != nil {
@@ -1024,101 +1024,6 @@ func (m *LastCommitForPathResponse) GetCommit() *GitCommit {
return nil
}
-type ListLastCommitsForTreeRequest struct {
- Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
- Revision string `protobuf:"bytes,2,opt,name=revision" json:"revision,omitempty"`
- Path []byte `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
- // limit == -1 will get the last commit for all paths
- Limit int32 `protobuf:"varint,4,opt,name=limit" json:"limit,omitempty"`
- Offset int32 `protobuf:"varint,5,opt,name=offset" json:"offset,omitempty"`
-}
-
-func (m *ListLastCommitsForTreeRequest) Reset() { *m = ListLastCommitsForTreeRequest{} }
-func (m *ListLastCommitsForTreeRequest) String() string { return proto.CompactTextString(m) }
-func (*ListLastCommitsForTreeRequest) ProtoMessage() {}
-func (*ListLastCommitsForTreeRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{29} }
-
-func (m *ListLastCommitsForTreeRequest) GetRepository() *Repository {
- if m != nil {
- return m.Repository
- }
- return nil
-}
-
-func (m *ListLastCommitsForTreeRequest) GetRevision() string {
- if m != nil {
- return m.Revision
- }
- return ""
-}
-
-func (m *ListLastCommitsForTreeRequest) GetPath() []byte {
- if m != nil {
- return m.Path
- }
- return nil
-}
-
-func (m *ListLastCommitsForTreeRequest) GetLimit() int32 {
- if m != nil {
- return m.Limit
- }
- return 0
-}
-
-func (m *ListLastCommitsForTreeRequest) GetOffset() int32 {
- if m != nil {
- return m.Offset
- }
- return 0
-}
-
-type ListLastCommitsForTreeResponse struct {
- Commits []*ListLastCommitsForTreeResponse_CommitForTree `protobuf:"bytes,1,rep,name=commits" json:"commits,omitempty"`
-}
-
-func (m *ListLastCommitsForTreeResponse) Reset() { *m = ListLastCommitsForTreeResponse{} }
-func (m *ListLastCommitsForTreeResponse) String() string { return proto.CompactTextString(m) }
-func (*ListLastCommitsForTreeResponse) ProtoMessage() {}
-func (*ListLastCommitsForTreeResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{30} }
-
-func (m *ListLastCommitsForTreeResponse) GetCommits() []*ListLastCommitsForTreeResponse_CommitForTree {
- if m != nil {
- return m.Commits
- }
- return nil
-}
-
-type ListLastCommitsForTreeResponse_CommitForTree struct {
- Commit *GitCommit `protobuf:"bytes,2,opt,name=commit" json:"commit,omitempty"`
- Path string `protobuf:"bytes,3,opt,name=path" json:"path,omitempty"`
-}
-
-func (m *ListLastCommitsForTreeResponse_CommitForTree) Reset() {
- *m = ListLastCommitsForTreeResponse_CommitForTree{}
-}
-func (m *ListLastCommitsForTreeResponse_CommitForTree) String() string {
- return proto.CompactTextString(m)
-}
-func (*ListLastCommitsForTreeResponse_CommitForTree) ProtoMessage() {}
-func (*ListLastCommitsForTreeResponse_CommitForTree) Descriptor() ([]byte, []int) {
- return fileDescriptor2, []int{30, 0}
-}
-
-func (m *ListLastCommitsForTreeResponse_CommitForTree) GetCommit() *GitCommit {
- if m != nil {
- return m.Commit
- }
- return nil
-}
-
-func (m *ListLastCommitsForTreeResponse_CommitForTree) GetPath() string {
- if m != nil {
- return m.Path
- }
- return ""
-}
-
type CommitsByMessageRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
Revision []byte `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"`
@@ -1131,7 +1036,7 @@ type CommitsByMessageRequest struct {
func (m *CommitsByMessageRequest) Reset() { *m = CommitsByMessageRequest{} }
func (m *CommitsByMessageRequest) String() string { return proto.CompactTextString(m) }
func (*CommitsByMessageRequest) ProtoMessage() {}
-func (*CommitsByMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{31} }
+func (*CommitsByMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{29} }
func (m *CommitsByMessageRequest) GetRepository() *Repository {
if m != nil {
@@ -1183,7 +1088,7 @@ type CommitsByMessageResponse struct {
func (m *CommitsByMessageResponse) Reset() { *m = CommitsByMessageResponse{} }
func (m *CommitsByMessageResponse) String() string { return proto.CompactTextString(m) }
func (*CommitsByMessageResponse) ProtoMessage() {}
-func (*CommitsByMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{32} }
+func (*CommitsByMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{30} }
func (m *CommitsByMessageResponse) GetCommits() []*GitCommit {
if m != nil {
@@ -1201,7 +1106,7 @@ func (m *FilterShasWithSignaturesRequest) Reset() { *m = FilterShasWithS
func (m *FilterShasWithSignaturesRequest) String() string { return proto.CompactTextString(m) }
func (*FilterShasWithSignaturesRequest) ProtoMessage() {}
func (*FilterShasWithSignaturesRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor2, []int{33}
+ return fileDescriptor1, []int{31}
}
func (m *FilterShasWithSignaturesRequest) GetRepository() *Repository {
@@ -1226,7 +1131,7 @@ func (m *FilterShasWithSignaturesResponse) Reset() { *m = FilterShasWith
func (m *FilterShasWithSignaturesResponse) String() string { return proto.CompactTextString(m) }
func (*FilterShasWithSignaturesResponse) ProtoMessage() {}
func (*FilterShasWithSignaturesResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor2, []int{34}
+ return fileDescriptor1, []int{32}
}
func (m *FilterShasWithSignaturesResponse) GetShas() [][]byte {
@@ -1244,7 +1149,7 @@ type ExtractCommitSignatureRequest struct {
func (m *ExtractCommitSignatureRequest) Reset() { *m = ExtractCommitSignatureRequest{} }
func (m *ExtractCommitSignatureRequest) String() string { return proto.CompactTextString(m) }
func (*ExtractCommitSignatureRequest) ProtoMessage() {}
-func (*ExtractCommitSignatureRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{35} }
+func (*ExtractCommitSignatureRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{33} }
func (m *ExtractCommitSignatureRequest) GetRepository() *Repository {
if m != nil {
@@ -1270,7 +1175,7 @@ type ExtractCommitSignatureResponse struct {
func (m *ExtractCommitSignatureResponse) Reset() { *m = ExtractCommitSignatureResponse{} }
func (m *ExtractCommitSignatureResponse) String() string { return proto.CompactTextString(m) }
func (*ExtractCommitSignatureResponse) ProtoMessage() {}
-func (*ExtractCommitSignatureResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{36} }
+func (*ExtractCommitSignatureResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{34} }
func (m *ExtractCommitSignatureResponse) GetSignature() []byte {
if m != nil {
@@ -1294,7 +1199,7 @@ type GetCommitSignaturesRequest struct {
func (m *GetCommitSignaturesRequest) Reset() { *m = GetCommitSignaturesRequest{} }
func (m *GetCommitSignaturesRequest) String() string { return proto.CompactTextString(m) }
func (*GetCommitSignaturesRequest) ProtoMessage() {}
-func (*GetCommitSignaturesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{37} }
+func (*GetCommitSignaturesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{35} }
func (m *GetCommitSignaturesRequest) GetRepository() *Repository {
if m != nil {
@@ -1321,7 +1226,7 @@ type GetCommitSignaturesResponse struct {
func (m *GetCommitSignaturesResponse) Reset() { *m = GetCommitSignaturesResponse{} }
func (m *GetCommitSignaturesResponse) String() string { return proto.CompactTextString(m) }
func (*GetCommitSignaturesResponse) ProtoMessage() {}
-func (*GetCommitSignaturesResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{38} }
+func (*GetCommitSignaturesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{36} }
func (m *GetCommitSignaturesResponse) GetCommitId() string {
if m != nil {
@@ -1352,7 +1257,7 @@ type GetCommitMessagesRequest struct {
func (m *GetCommitMessagesRequest) Reset() { *m = GetCommitMessagesRequest{} }
func (m *GetCommitMessagesRequest) String() string { return proto.CompactTextString(m) }
func (*GetCommitMessagesRequest) ProtoMessage() {}
-func (*GetCommitMessagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{39} }
+func (*GetCommitMessagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{37} }
func (m *GetCommitMessagesRequest) GetRepository() *Repository {
if m != nil {
@@ -1377,7 +1282,7 @@ type GetCommitMessagesResponse struct {
func (m *GetCommitMessagesResponse) Reset() { *m = GetCommitMessagesResponse{} }
func (m *GetCommitMessagesResponse) String() string { return proto.CompactTextString(m) }
func (*GetCommitMessagesResponse) ProtoMessage() {}
-func (*GetCommitMessagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{40} }
+func (*GetCommitMessagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{38} }
func (m *GetCommitMessagesResponse) GetCommitId() string {
if m != nil {
@@ -1424,9 +1329,6 @@ func init() {
proto.RegisterType((*RawBlameResponse)(nil), "gitaly.RawBlameResponse")
proto.RegisterType((*LastCommitForPathRequest)(nil), "gitaly.LastCommitForPathRequest")
proto.RegisterType((*LastCommitForPathResponse)(nil), "gitaly.LastCommitForPathResponse")
- proto.RegisterType((*ListLastCommitsForTreeRequest)(nil), "gitaly.ListLastCommitsForTreeRequest")
- proto.RegisterType((*ListLastCommitsForTreeResponse)(nil), "gitaly.ListLastCommitsForTreeResponse")
- proto.RegisterType((*ListLastCommitsForTreeResponse_CommitForTree)(nil), "gitaly.ListLastCommitsForTreeResponse.CommitForTree")
proto.RegisterType((*CommitsByMessageRequest)(nil), "gitaly.CommitsByMessageRequest")
proto.RegisterType((*CommitsByMessageResponse)(nil), "gitaly.CommitsByMessageResponse")
proto.RegisterType((*FilterShasWithSignaturesRequest)(nil), "gitaly.FilterShasWithSignaturesRequest")
@@ -1467,7 +1369,6 @@ type CommitServiceClient interface {
CommitLanguages(ctx context.Context, in *CommitLanguagesRequest, opts ...grpc.CallOption) (*CommitLanguagesResponse, error)
RawBlame(ctx context.Context, in *RawBlameRequest, opts ...grpc.CallOption) (CommitService_RawBlameClient, error)
LastCommitForPath(ctx context.Context, in *LastCommitForPathRequest, opts ...grpc.CallOption) (*LastCommitForPathResponse, error)
- ListLastCommitsForTree(ctx context.Context, in *ListLastCommitsForTreeRequest, opts ...grpc.CallOption) (CommitService_ListLastCommitsForTreeClient, error)
CommitsByMessage(ctx context.Context, in *CommitsByMessageRequest, opts ...grpc.CallOption) (CommitService_CommitsByMessageClient, error)
ListCommitsByOid(ctx context.Context, in *ListCommitsByOidRequest, opts ...grpc.CallOption) (CommitService_ListCommitsByOidClient, error)
FilterShasWithSignatures(ctx context.Context, opts ...grpc.CallOption) (CommitService_FilterShasWithSignaturesClient, error)
@@ -1765,40 +1666,8 @@ func (c *commitServiceClient) LastCommitForPath(ctx context.Context, in *LastCom
return out, nil
}
-func (c *commitServiceClient) ListLastCommitsForTree(ctx context.Context, in *ListLastCommitsForTreeRequest, opts ...grpc.CallOption) (CommitService_ListLastCommitsForTreeClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[7], c.cc, "/gitaly.CommitService/ListLastCommitsForTree", opts...)
- if err != nil {
- return nil, err
- }
- x := &commitServiceListLastCommitsForTreeClient{stream}
- if err := x.ClientStream.SendMsg(in); err != nil {
- return nil, err
- }
- if err := x.ClientStream.CloseSend(); err != nil {
- return nil, err
- }
- return x, nil
-}
-
-type CommitService_ListLastCommitsForTreeClient interface {
- Recv() (*ListLastCommitsForTreeResponse, error)
- grpc.ClientStream
-}
-
-type commitServiceListLastCommitsForTreeClient struct {
- grpc.ClientStream
-}
-
-func (x *commitServiceListLastCommitsForTreeClient) Recv() (*ListLastCommitsForTreeResponse, error) {
- m := new(ListLastCommitsForTreeResponse)
- if err := x.ClientStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
-}
-
func (c *commitServiceClient) CommitsByMessage(ctx context.Context, in *CommitsByMessageRequest, opts ...grpc.CallOption) (CommitService_CommitsByMessageClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[8], c.cc, "/gitaly.CommitService/CommitsByMessage", opts...)
+ stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[7], c.cc, "/gitaly.CommitService/CommitsByMessage", opts...)
if err != nil {
return nil, err
}
@@ -1830,7 +1699,7 @@ func (x *commitServiceCommitsByMessageClient) Recv() (*CommitsByMessageResponse,
}
func (c *commitServiceClient) ListCommitsByOid(ctx context.Context, in *ListCommitsByOidRequest, opts ...grpc.CallOption) (CommitService_ListCommitsByOidClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[9], c.cc, "/gitaly.CommitService/ListCommitsByOid", opts...)
+ stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[8], c.cc, "/gitaly.CommitService/ListCommitsByOid", opts...)
if err != nil {
return nil, err
}
@@ -1862,7 +1731,7 @@ func (x *commitServiceListCommitsByOidClient) Recv() (*ListCommitsByOidResponse,
}
func (c *commitServiceClient) FilterShasWithSignatures(ctx context.Context, opts ...grpc.CallOption) (CommitService_FilterShasWithSignaturesClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[10], c.cc, "/gitaly.CommitService/FilterShasWithSignatures", opts...)
+ stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[9], c.cc, "/gitaly.CommitService/FilterShasWithSignatures", opts...)
if err != nil {
return nil, err
}
@@ -1893,7 +1762,7 @@ func (x *commitServiceFilterShasWithSignaturesClient) Recv() (*FilterShasWithSig
}
func (c *commitServiceClient) ExtractCommitSignature(ctx context.Context, in *ExtractCommitSignatureRequest, opts ...grpc.CallOption) (CommitService_ExtractCommitSignatureClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[11], c.cc, "/gitaly.CommitService/ExtractCommitSignature", opts...)
+ stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[10], c.cc, "/gitaly.CommitService/ExtractCommitSignature", opts...)
if err != nil {
return nil, err
}
@@ -1925,7 +1794,7 @@ func (x *commitServiceExtractCommitSignatureClient) Recv() (*ExtractCommitSignat
}
func (c *commitServiceClient) GetCommitSignatures(ctx context.Context, in *GetCommitSignaturesRequest, opts ...grpc.CallOption) (CommitService_GetCommitSignaturesClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[12], c.cc, "/gitaly.CommitService/GetCommitSignatures", opts...)
+ stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[11], c.cc, "/gitaly.CommitService/GetCommitSignatures", opts...)
if err != nil {
return nil, err
}
@@ -1957,7 +1826,7 @@ func (x *commitServiceGetCommitSignaturesClient) Recv() (*GetCommitSignaturesRes
}
func (c *commitServiceClient) GetCommitMessages(ctx context.Context, in *GetCommitMessagesRequest, opts ...grpc.CallOption) (CommitService_GetCommitMessagesClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[13], c.cc, "/gitaly.CommitService/GetCommitMessages", opts...)
+ stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[12], c.cc, "/gitaly.CommitService/GetCommitMessages", opts...)
if err != nil {
return nil, err
}
@@ -2005,7 +1874,6 @@ type CommitServiceServer interface {
CommitLanguages(context.Context, *CommitLanguagesRequest) (*CommitLanguagesResponse, error)
RawBlame(*RawBlameRequest, CommitService_RawBlameServer) error
LastCommitForPath(context.Context, *LastCommitForPathRequest) (*LastCommitForPathResponse, error)
- ListLastCommitsForTree(*ListLastCommitsForTreeRequest, CommitService_ListLastCommitsForTreeServer) error
CommitsByMessage(*CommitsByMessageRequest, CommitService_CommitsByMessageServer) error
ListCommitsByOid(*ListCommitsByOidRequest, CommitService_ListCommitsByOidServer) error
FilterShasWithSignatures(CommitService_FilterShasWithSignaturesServer) error
@@ -2276,27 +2144,6 @@ func _CommitService_LastCommitForPath_Handler(srv interface{}, ctx context.Conte
return interceptor(ctx, in, info, handler)
}
-func _CommitService_ListLastCommitsForTree_Handler(srv interface{}, stream grpc.ServerStream) error {
- m := new(ListLastCommitsForTreeRequest)
- if err := stream.RecvMsg(m); err != nil {
- return err
- }
- return srv.(CommitServiceServer).ListLastCommitsForTree(m, &commitServiceListLastCommitsForTreeServer{stream})
-}
-
-type CommitService_ListLastCommitsForTreeServer interface {
- Send(*ListLastCommitsForTreeResponse) error
- grpc.ServerStream
-}
-
-type commitServiceListLastCommitsForTreeServer struct {
- grpc.ServerStream
-}
-
-func (x *commitServiceListLastCommitsForTreeServer) Send(m *ListLastCommitsForTreeResponse) error {
- return x.ServerStream.SendMsg(m)
-}
-
func _CommitService_CommitsByMessage_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(CommitsByMessageRequest)
if err := stream.RecvMsg(m); err != nil {
@@ -2494,11 +2341,6 @@ var _CommitService_serviceDesc = grpc.ServiceDesc{
ServerStreams: true,
},
{
- StreamName: "ListLastCommitsForTree",
- Handler: _CommitService_ListLastCommitsForTree_Handler,
- ServerStreams: true,
- },
- {
StreamName: "CommitsByMessage",
Handler: _CommitService_CommitsByMessage_Handler,
ServerStreams: true,
@@ -2533,120 +2375,115 @@ var _CommitService_serviceDesc = grpc.ServiceDesc{
Metadata: "commit.proto",
}
-func init() { proto.RegisterFile("commit.proto", fileDescriptor2) }
-
-var fileDescriptor2 = []byte{
- // 1786 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4b, 0x6f, 0xe3, 0xc8,
- 0x11, 0x36, 0xf5, 0xb2, 0x58, 0xd2, 0x7a, 0xe5, 0x9e, 0x17, 0x4d, 0xcf, 0x8c, 0xbd, 0xbd, 0xd9,
- 0x8d, 0x17, 0x1b, 0x68, 0x0c, 0xe5, 0x81, 0xe4, 0x14, 0xd8, 0x3b, 0xb2, 0xe3, 0x89, 0x3d, 0x5a,
- 0xd0, 0x02, 0x06, 0x09, 0x02, 0x08, 0xb4, 0xd8, 0x92, 0x18, 0x53, 0xa2, 0x96, 0x6c, 0xd9, 0x56,
- 0x0e, 0xb9, 0x07, 0x08, 0x72, 0xcf, 0x8f, 0xc8, 0x21, 0x3f, 0x21, 0x97, 0xfc, 0x80, 0xdc, 0xf2,
- 0x57, 0x16, 0x39, 0x04, 0xfd, 0x20, 0x9b, 0x14, 0x29, 0x7b, 0xc6, 0x5e, 0xcd, 0x85, 0x60, 0x57,
- 0x77, 0x57, 0x7d, 0x55, 0x5d, 0xaf, 0x6e, 0xa8, 0xf7, 0xfd, 0xf1, 0xd8, 0xa5, 0xcd, 0x69, 0xe0,
- 0x53, 0x1f, 0x55, 0x86, 0x2e, 0xb5, 0xbd, 0xb9, 0x59, 0x0f, 0x47, 0x76, 0x40, 0x1c, 0x41, 0x35,
- 0x77, 0x86, 0xbe, 0x3f, 0xf4, 0xc8, 0x2b, 0x3e, 0xba, 0x98, 0x0d, 0x5e, 0x51, 0x77, 0x4c, 0x42,
- 0x6a, 0x8f, 0xa7, 0x62, 0x01, 0x76, 0x00, 0x7d, 0xc3, 0xd9, 0x9c, 0x53, 0x9b, 0x86, 0x16, 0xf9,
- 0x6e, 0x46, 0x42, 0x8a, 0x5a, 0x00, 0x01, 0x99, 0xfa, 0xa1, 0x4b, 0xfd, 0x60, 0x6e, 0x68, 0xbb,
- 0xda, 0x5e, 0xad, 0x85, 0x9a, 0x42, 0x42, 0xd3, 0x8a, 0x67, 0xac, 0xc4, 0x2a, 0x64, 0x42, 0x35,
- 0x20, 0x57, 0x6e, 0xe8, 0xfa, 0x13, 0xa3, 0xb0, 0xab, 0xed, 0xd5, 0xad, 0x78, 0x8c, 0xfb, 0xf0,
- 0x28, 0x25, 0x25, 0x9c, 0xfa, 0x93, 0x90, 0xa0, 0x06, 0x14, 0x7d, 0xd7, 0xe1, 0xfc, 0x75, 0x8b,
- 0xfd, 0xa2, 0xe7, 0xa0, 0xdb, 0x8e, 0xe3, 0x52, 0xd7, 0x9f, 0x84, 0x9c, 0x4b, 0xd9, 0x52, 0x04,
- 0x36, 0xeb, 0x10, 0x8f, 0x88, 0xd9, 0xa2, 0x98, 0x8d, 0x09, 0xf8, 0x2f, 0x1a, 0x3c, 0x13, 0x52,
- 0x4e, 0xc2, 0x83, 0x49, 0x9f, 0x84, 0xd4, 0x0f, 0x1e, 0xa2, 0xd0, 0x0e, 0xd4, 0x6c, 0xc9, 0xa6,
- 0xe7, 0x3a, 0x1c, 0x8d, 0x6e, 0x41, 0x44, 0x3a, 0x71, 0xd0, 0x16, 0x54, 0xfb, 0x23, 0xd7, 0x73,
- 0xd8, 0x6c, 0x91, 0xcf, 0xae, 0xf3, 0xf1, 0x89, 0x83, 0xf7, 0xc1, 0xc8, 0x42, 0x91, 0x5a, 0x3f,
- 0x86, 0xf2, 0x95, 0xed, 0xcd, 0x08, 0x87, 0x51, 0xb5, 0xc4, 0x00, 0xff, 0x55, 0x83, 0x46, 0x37,
- 0x20, 0xa4, 0x3d, 0xa1, 0xc1, 0x7c, 0x45, 0xe7, 0x80, 0x10, 0x94, 0xa6, 0x36, 0x1d, 0x71, 0xb4,
- 0x75, 0x8b, 0xff, 0x33, 0x38, 0x9e, 0x3b, 0x76, 0xa9, 0x51, 0xda, 0xd5, 0xf6, 0x8a, 0x96, 0x18,
- 0xe0, 0xff, 0x68, 0xb0, 0x99, 0x80, 0x23, 0xa1, 0xff, 0x12, 0x4a, 0x74, 0x3e, 0x15, 0xc8, 0x37,
- 0x5a, 0x3f, 0x8a, 0x90, 0x64, 0x16, 0x36, 0x3b, 0x17, 0x7f, 0x24, 0x7d, 0xda, 0x9d, 0x4f, 0x89,
- 0xc5, 0x77, 0x44, 0x47, 0x5d, 0x50, 0x47, 0x8d, 0xa0, 0x14, 0xba, 0x7f, 0x22, 0x1c, 0x4b, 0xd1,
- 0xe2, 0xff, 0x8c, 0x36, 0xf6, 0x1d, 0xc2, 0xa1, 0x94, 0x2d, 0xfe, 0xcf, 0x68, 0x8e, 0x4d, 0x6d,
- 0xa3, 0x2c, 0x30, 0xb3, 0x7f, 0xfc, 0x73, 0x00, 0x25, 0x01, 0x01, 0x54, 0xbe, 0xe9, 0x9c, 0x9d,
- 0x9d, 0x74, 0x1b, 0x6b, 0xa8, 0x0a, 0xa5, 0xc3, 0xd3, 0xce, 0x61, 0x43, 0x63, 0x7f, 0x5d, 0xab,
- 0xdd, 0x6e, 0x14, 0xd0, 0x3a, 0x14, 0xbb, 0x07, 0xc7, 0x8d, 0x22, 0xf6, 0xe1, 0x89, 0x38, 0x95,
- 0xf0, 0x90, 0xd0, 0x6b, 0x42, 0x26, 0x0f, 0xb1, 0x33, 0x82, 0xd2, 0x20, 0xf0, 0xc7, 0xd2, 0xc6,
- 0xfc, 0x1f, 0x6d, 0x40, 0x81, 0xfa, 0xd2, 0xba, 0x05, 0xea, 0xe3, 0x36, 0x3c, 0x5d, 0x14, 0x28,
- 0x2d, 0xf9, 0x35, 0xac, 0x8b, 0xf0, 0x0d, 0x0d, 0x6d, 0xb7, 0xb8, 0x57, 0x6b, 0x6d, 0x46, 0xe2,
- 0x8e, 0x5d, 0x2a, 0xf6, 0x58, 0xd1, 0x0a, 0xfc, 0xb7, 0x02, 0x8b, 0x9f, 0xd9, 0x44, 0x4e, 0xac,
- 0x2a, 0x4c, 0xd1, 0x3e, 0x94, 0xed, 0x01, 0x25, 0x01, 0xd7, 0xa0, 0xd6, 0x32, 0x9b, 0x22, 0x7b,
- 0x34, 0xa3, 0xec, 0xd1, 0xec, 0x46, 0xd9, 0xc3, 0x12, 0x0b, 0x51, 0x0b, 0x2a, 0x17, 0x64, 0xe0,
- 0x07, 0xe2, 0xc8, 0x6e, 0xdf, 0x22, 0x57, 0xc6, 0x4e, 0x58, 0x4e, 0x38, 0xe1, 0x36, 0xe8, 0x63,
- 0xfb, 0xa6, 0xd7, 0x67, 0x4a, 0x1a, 0x15, 0x7e, 0xfa, 0xd5, 0xb1, 0x7d, 0xc3, 0x95, 0x66, 0xbe,
- 0x63, 0x7b, 0x9e, 0xb1, 0xce, 0xc3, 0x85, 0xfd, 0xe2, 0x9f, 0xc0, 0xe3, 0xb4, 0x3d, 0x54, 0x68,
- 0x09, 0x16, 0x1a, 0x67, 0x21, 0x06, 0xf8, 0x7b, 0x0d, 0xf4, 0xd8, 0x45, 0x73, 0x92, 0xce, 0x16,
- 0x54, 0x03, 0xdf, 0xa7, 0x3d, 0xe5, 0xa0, 0xeb, 0x6c, 0xdc, 0x11, 0x4e, 0x9a, 0x09, 0x98, 0x57,
- 0x32, 0x08, 0x4a, 0x3c, 0x08, 0xb6, 0x33, 0x41, 0xd0, 0xe4, 0xdf, 0x84, 0xef, 0x47, 0x5e, 0x5d,
- 0x4e, 0x78, 0xf5, 0x0b, 0x00, 0x71, 0xba, 0x5c, 0x6a, 0x85, 0x4b, 0xd5, 0x05, 0x85, 0xc9, 0xdd,
- 0x06, 0x7d, 0xe0, 0xd9, 0xb4, 0xc7, 0x85, 0xaf, 0x8b, 0x63, 0x62, 0x84, 0x6f, 0x6d, 0x3a, 0xc2,
- 0x5f, 0x83, 0x1e, 0x8b, 0x88, 0x1d, 0x7e, 0x2d, 0x76, 0x78, 0x2d, 0x11, 0x10, 0x45, 0xfc, 0x77,
- 0x0d, 0x9e, 0x1c, 0x13, 0x1a, 0xa1, 0x73, 0x49, 0xf8, 0x31, 0x93, 0xcb, 0x73, 0xd0, 0x03, 0xd2,
- 0x9f, 0x05, 0xa1, 0x7b, 0x25, 0x0c, 0x56, 0xb5, 0x14, 0x81, 0x85, 0xc7, 0x22, 0x34, 0x15, 0x1e,
- 0x44, 0x90, 0x16, 0xc3, 0x43, 0xe5, 0x9a, 0x68, 0x05, 0xbe, 0x80, 0xc6, 0xa9, 0x1b, 0xd2, 0x23,
- 0xd7, 0x5b, 0x99, 0x72, 0xf8, 0x2b, 0xd8, 0x4c, 0xc8, 0x50, 0xee, 0xc6, 0xb4, 0x14, 0x18, 0xeb,
- 0x96, 0x18, 0xe0, 0x3e, 0x6c, 0x1e, 0xb9, 0x13, 0x47, 0x06, 0xf1, 0x8a, 0xf0, 0xfc, 0x1a, 0x50,
- 0x52, 0x88, 0x04, 0xf4, 0x15, 0x54, 0x84, 0x0f, 0x49, 0x09, 0x39, 0x49, 0x45, 0x2e, 0xc0, 0x3d,
- 0x78, 0xc6, 0x14, 0x8a, 0xd2, 0xd3, 0xbc, 0xe3, 0x3a, 0x0f, 0xc1, 0x1a, 0xe7, 0xf7, 0xa2, 0x8c,
- 0x2a, 0x7c, 0x0c, 0x46, 0x56, 0xc0, 0x7d, 0xb2, 0xdf, 0xf7, 0x1a, 0x3c, 0x61, 0xba, 0x1e, 0x78,
- 0xde, 0x8a, 0xf3, 0x5f, 0x2a, 0x0b, 0x15, 0x17, 0xb2, 0x10, 0xab, 0x57, 0x97, 0xee, 0x34, 0xaa,
- 0x4d, 0xec, 0x1f, 0xfd, 0x0a, 0xca, 0x7e, 0xe0, 0x90, 0x80, 0x87, 0xf6, 0x46, 0xeb, 0xf3, 0x48,
- 0x76, 0x2e, 0xdc, 0x66, 0x87, 0x2d, 0xb5, 0xc4, 0x0e, 0xfc, 0x05, 0x94, 0xf9, 0x98, 0x85, 0xed,
- 0xdb, 0xce, 0xdb, 0xb6, 0x0c, 0xe0, 0xce, 0xb7, 0x1d, 0x51, 0xbb, 0x5e, 0x1f, 0x74, 0xdb, 0x8d,
- 0x02, 0x0b, 0x91, 0x45, 0x66, 0xf7, 0xb1, 0xe1, 0xff, 0x0a, 0x49, 0x7f, 0x59, 0x99, 0x01, 0xe3,
- 0x5e, 0x42, 0x18, 0x4f, 0x0c, 0xd0, 0x53, 0xa8, 0xf8, 0x83, 0x41, 0x48, 0xa8, 0xb4, 0x9d, 0x1c,
- 0xa9, 0xf0, 0x29, 0x27, 0xc2, 0x87, 0xad, 0x1e, 0xf8, 0x9e, 0xe7, 0x5f, 0xf3, 0xac, 0x58, 0xb5,
- 0xe4, 0x88, 0xb5, 0x63, 0xcc, 0xe6, 0xbd, 0x31, 0x09, 0x86, 0x24, 0x94, 0xd5, 0x00, 0x18, 0xe9,
- 0x8c, 0x53, 0xd0, 0x67, 0x50, 0x77, 0xdc, 0xd0, 0xbe, 0xf0, 0x48, 0xef, 0xda, 0xf6, 0x2e, 0x8d,
- 0x2a, 0x5f, 0x51, 0x93, 0xb4, 0x77, 0xb6, 0x77, 0xa9, 0x0a, 0x9c, 0xfe, 0xe1, 0x05, 0x0e, 0xde,
- 0xbb, 0xc0, 0xc9, 0x7a, 0x55, 0x53, 0xf5, 0xea, 0x10, 0x1e, 0xa5, 0xac, 0x7f, 0x9f, 0x23, 0x1c,
- 0x45, 0xbd, 0xc4, 0xa9, 0x3d, 0x19, 0xce, 0xec, 0xe1, 0xea, 0x72, 0xdd, 0x3f, 0xe2, 0x46, 0x3a,
- 0x21, 0x4a, 0x42, 0x3e, 0x02, 0xdd, 0x8b, 0x88, 0x12, 0xf4, 0x5e, 0x24, 0x6a, 0xc9, 0x9e, 0x66,
- 0x44, 0xb1, 0xd4, 0x56, 0xf3, 0x0d, 0x54, 0x23, 0x32, 0x8b, 0xac, 0x89, 0x3d, 0x26, 0xb2, 0x24,
- 0xf3, 0x7f, 0xe6, 0x1b, 0xfc, 0x22, 0xc3, 0xc1, 0x15, 0x2c, 0x31, 0x10, 0xf5, 0xdd, 0xf3, 0x03,
- 0xd9, 0x6e, 0x8b, 0x01, 0x9e, 0xc1, 0xa7, 0x96, 0x7d, 0x7d, 0xe8, 0xd9, 0x63, 0xf2, 0x11, 0x6b,
- 0x1b, 0xfe, 0x12, 0x1a, 0x4a, 0xac, 0x34, 0x4f, 0xd4, 0xac, 0x6a, 0x89, 0x66, 0xf5, 0xcf, 0x60,
- 0x9c, 0xda, 0x51, 0x22, 0x3c, 0xf2, 0x03, 0x56, 0xc3, 0x3f, 0x26, 0xce, 0x23, 0xd8, 0xca, 0x91,
- 0xff, 0xe1, 0x15, 0xe3, 0x9f, 0x1a, 0xbc, 0x60, 0x19, 0x5d, 0x31, 0x0b, 0x8f, 0xfc, 0x80, 0xd5,
- 0xe3, 0x1f, 0x52, 0x1b, 0xfd, 0x43, 0xae, 0x2b, 0x39, 0x29, 0xa6, 0x9c, 0x4c, 0x31, 0xf8, 0xdf,
- 0x1a, 0xbc, 0x5c, 0x86, 0x59, 0x5a, 0xe0, 0xed, 0x62, 0x10, 0xfe, 0x2c, 0x42, 0x7c, 0xfb, 0xc6,
- 0x66, 0x6c, 0x50, 0x4e, 0x8d, 0x98, 0x98, 0x5d, 0xf8, 0x24, 0x35, 0x93, 0x30, 0x71, 0xe1, 0x0e,
- 0x13, 0xa7, 0x14, 0xd6, 0x85, 0xc2, 0x6f, 0x4a, 0x55, 0xad, 0x51, 0xc0, 0xff, 0x8a, 0x63, 0x32,
- 0x3c, 0x9c, 0x9f, 0x91, 0x30, 0x64, 0xf1, 0xb4, 0x22, 0x27, 0x52, 0xc6, 0x2c, 0x2e, 0xe6, 0xeb,
- 0x1c, 0xd3, 0xe7, 0xb5, 0xf3, 0x8f, 0xa1, 0xfc, 0xdd, 0x8c, 0x04, 0x73, 0xd9, 0xd8, 0x8a, 0x01,
- 0xeb, 0x08, 0xb2, 0x2a, 0xdc, 0x27, 0x15, 0xba, 0xb0, 0x73, 0xe4, 0x7a, 0x94, 0x04, 0xe7, 0x23,
- 0x3b, 0x7c, 0xe7, 0xd2, 0xd1, 0xb9, 0x3b, 0x9c, 0xd8, 0x74, 0x16, 0x3c, 0x2c, 0x27, 0xb2, 0x0a,
- 0x3f, 0xb2, 0x43, 0xde, 0xc4, 0xd4, 0x2d, 0xfe, 0x8f, 0x7f, 0x01, 0xbb, 0xcb, 0x45, 0xa9, 0xa0,
- 0xe7, 0xfb, 0xb4, 0xc4, 0xbe, 0x29, 0xbc, 0x68, 0xdf, 0xd0, 0xc0, 0xee, 0x4b, 0xf0, 0xf1, 0xb6,
- 0x87, 0x00, 0xdc, 0x06, 0x79, 0x45, 0x50, 0xef, 0x11, 0x55, 0x41, 0x38, 0x71, 0x70, 0x0f, 0x5e,
- 0x2e, 0x93, 0x28, 0x71, 0x3e, 0x07, 0x3d, 0x8c, 0x88, 0x32, 0x43, 0x29, 0x02, 0xaf, 0xaf, 0xee,
- 0x70, 0x42, 0x9c, 0x1e, 0x25, 0x37, 0x54, 0x3a, 0x05, 0x08, 0x52, 0x97, 0xdc, 0x50, 0xec, 0x83,
- 0x79, 0x4c, 0x16, 0x99, 0x3f, 0xc8, 0xe0, 0xea, 0x12, 0xe4, 0x3a, 0xa1, 0xec, 0x1d, 0xf5, 0x48,
- 0xa1, 0x10, 0xcf, 0x61, 0x3b, 0x57, 0xa0, 0x54, 0x27, 0x65, 0x0d, 0x2d, 0x6d, 0x8d, 0xb4, 0xae,
- 0x85, 0x3b, 0x74, 0x2d, 0x66, 0x74, 0x1d, 0x83, 0x11, 0x8b, 0x96, 0xae, 0xba, 0x4a, 0x4d, 0x2d,
- 0xd8, 0xca, 0x11, 0xf7, 0x3e, 0x7a, 0x1a, 0xb0, 0x3e, 0x16, 0x1b, 0xa4, 0x96, 0xd1, 0xb0, 0xf5,
- 0xdf, 0x4f, 0xa2, 0x44, 0x74, 0x4e, 0x82, 0x2b, 0xb7, 0x4f, 0xd0, 0x3b, 0x68, 0x2c, 0x3e, 0x4a,
- 0xa1, 0x9d, 0x74, 0xf1, 0xce, 0xbc, 0x9c, 0x99, 0xbb, 0xcb, 0x17, 0x08, 0x7c, 0x78, 0x0d, 0xbd,
- 0x4e, 0xde, 0xaf, 0x8d, 0x9c, 0x57, 0x21, 0xc1, 0x6a, 0x6b, 0xe9, 0x7b, 0x11, 0x5e, 0xdb, 0xd7,
- 0xd0, 0x39, 0x6c, 0xa4, 0x1f, 0x4b, 0xd0, 0x8b, 0xb4, 0xec, 0x85, 0x57, 0x1b, 0xf3, 0xe5, 0xb2,
- 0xe9, 0x04, 0xd3, 0xdf, 0x42, 0x3d, 0xf9, 0x52, 0x80, 0xb6, 0xd5, 0x9e, 0xcc, 0x7b, 0x8a, 0xf9,
- 0x3c, 0x7f, 0x32, 0xd6, 0xf3, 0x1c, 0x36, 0xd2, 0xf7, 0x55, 0x85, 0x30, 0xf7, 0x8a, 0xad, 0x10,
- 0xe6, 0x5f, 0x73, 0x39, 0xc2, 0xd7, 0xa0, 0xc7, 0x37, 0x4b, 0x65, 0xbc, 0xc5, 0x0b, 0xad, 0x32,
- 0x5e, 0xe6, 0x1a, 0xca, 0xb9, 0xb4, 0x01, 0x54, 0x87, 0x89, 0xb6, 0x92, 0x17, 0x91, 0xd4, 0x45,
- 0xd4, 0x34, 0xf3, 0xa6, 0x62, 0x0d, 0x7f, 0x03, 0xb5, 0xc4, 0x43, 0x2d, 0x32, 0xd3, 0x16, 0x4e,
- 0xbe, 0x11, 0x9b, 0xdb, 0xb9, 0x73, 0x49, 0x5b, 0xa5, 0x2f, 0x2e, 0xca, 0x56, 0xb9, 0xb7, 0x23,
- 0x65, 0xab, 0xfc, 0xfb, 0x0e, 0xd7, 0xf2, 0x0d, 0xd4, 0x12, 0x7d, 0x34, 0xca, 0xd1, 0x25, 0x0b,
- 0x2f, 0xa7, 0xf1, 0xe6, 0xbc, 0xba, 0xf0, 0xe9, 0x42, 0xc3, 0x8a, 0x5e, 0x2e, 0xed, 0x64, 0x05,
- 0xcf, 0x9d, 0x3b, 0x3a, 0x5d, 0xbc, 0x86, 0x0e, 0xa0, 0x1a, 0x35, 0x85, 0xe8, 0x59, 0x9c, 0x14,
- 0xd2, 0xdd, 0xa9, 0x69, 0x64, 0x27, 0x12, 0xc0, 0x7e, 0x0f, 0x9b, 0x99, 0x7e, 0x0d, 0xc5, 0x61,
- 0xb8, 0xac, 0x95, 0x34, 0x3f, 0xbb, 0x65, 0x45, 0x0c, 0xef, 0x12, 0x9e, 0xe6, 0x77, 0x35, 0xe8,
- 0x8b, 0xbb, 0xba, 0x1e, 0x21, 0xe5, 0xcb, 0xf7, 0x6b, 0x8e, 0xb8, 0x22, 0xbf, 0x8b, 0xf2, 0x8d,
- 0xaa, 0xf7, 0x8b, 0xf9, 0x26, 0xd3, 0xcc, 0x2c, 0xe6, 0x9b, 0x6c, 0xab, 0x10, 0xb1, 0x5e, 0x7c,
- 0x5c, 0x50, 0xac, 0x97, 0xbc, 0x6b, 0x28, 0xd6, 0xcb, 0xde, 0x25, 0x38, 0xeb, 0x10, 0x8c, 0x65,
- 0x15, 0x1f, 0xfd, 0x58, 0x39, 0xd5, 0xad, 0xed, 0x87, 0xb9, 0x77, 0xf7, 0xc2, 0x48, 0xe4, 0x9e,
- 0xb6, 0xaf, 0xb1, 0x73, 0xc9, 0x2f, 0xde, 0xea, 0x5c, 0x6e, 0x6d, 0x27, 0xd4, 0xb9, 0xdc, 0xde,
- 0x03, 0x70, 0x0d, 0x2f, 0xe0, 0x51, 0x4e, 0x5d, 0x45, 0x38, 0x91, 0xac, 0x96, 0x54, 0x79, 0xf3,
- 0xf3, 0x5b, 0xd7, 0x24, 0x64, 0xfc, 0x01, 0x36, 0x33, 0x15, 0x4d, 0x39, 0xf1, 0xb2, 0xda, 0xaa,
- 0x9c, 0x78, 0x69, 0x39, 0x64, 0xdc, 0x2f, 0x2a, 0xfc, 0xf6, 0xfd, 0xd3, 0xff, 0x07, 0x00, 0x00,
- 0xff, 0xff, 0xd1, 0xee, 0x8b, 0xf5, 0x03, 0x1b, 0x00, 0x00,
+func init() { proto.RegisterFile("commit.proto", fileDescriptor1) }
+
+var fileDescriptor1 = []byte{
+ // 1697 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xdd, 0x6e, 0xdb, 0x46,
+ 0x16, 0x36, 0x25, 0x4b, 0x96, 0x8e, 0xb4, 0x8e, 0x3c, 0xf9, 0xa3, 0x69, 0x27, 0x76, 0x98, 0x4d,
+ 0xd6, 0x41, 0x16, 0x8a, 0xa1, 0xc5, 0x2e, 0x76, 0xaf, 0x16, 0x76, 0x22, 0xbb, 0x4e, 0xed, 0x28,
+ 0xa0, 0x05, 0x04, 0x29, 0x0a, 0x08, 0xb4, 0x38, 0x92, 0xa6, 0xa6, 0x44, 0x85, 0x1c, 0xd9, 0x56,
+ 0x2f, 0x7a, 0x5f, 0xa0, 0xe8, 0x7d, 0x1f, 0xa2, 0x0f, 0xd1, 0x57, 0xe8, 0x73, 0xf4, 0x09, 0x82,
+ 0x5e, 0x14, 0xf3, 0x43, 0x0e, 0x25, 0x52, 0x76, 0x62, 0x43, 0xb9, 0x21, 0x66, 0xce, 0xfc, 0x9c,
+ 0xef, 0x9c, 0x39, 0xbf, 0x84, 0x72, 0xdb, 0xeb, 0xf7, 0x09, 0xad, 0x0e, 0x7d, 0x8f, 0x7a, 0x28,
+ 0xdf, 0x25, 0xd4, 0x76, 0xc7, 0x46, 0x39, 0xe8, 0xd9, 0x3e, 0x76, 0x04, 0xd5, 0xd8, 0xe8, 0x7a,
+ 0x5e, 0xd7, 0xc5, 0x2f, 0xf8, 0xec, 0x64, 0xd4, 0x79, 0x41, 0x49, 0x1f, 0x07, 0xd4, 0xee, 0x0f,
+ 0xc5, 0x06, 0xd3, 0x01, 0xf4, 0x92, 0x5f, 0x73, 0x4c, 0x6d, 0x1a, 0x58, 0xf8, 0xc3, 0x08, 0x07,
+ 0x14, 0xd5, 0x00, 0x7c, 0x3c, 0xf4, 0x02, 0x42, 0x3d, 0x7f, 0xac, 0x6b, 0x9b, 0xda, 0x56, 0xa9,
+ 0x86, 0xaa, 0x82, 0x43, 0xd5, 0x8a, 0x56, 0xac, 0xd8, 0x2e, 0x64, 0x40, 0xc1, 0xc7, 0x67, 0x24,
+ 0x20, 0xde, 0x40, 0xcf, 0x6c, 0x6a, 0x5b, 0x65, 0x2b, 0x9a, 0x9b, 0x6d, 0xb8, 0x3d, 0xc1, 0x25,
+ 0x18, 0x7a, 0x83, 0x00, 0xa3, 0x0a, 0x64, 0x3d, 0xe2, 0xf0, 0xfb, 0x8b, 0x16, 0x1b, 0xa2, 0x75,
+ 0x28, 0xda, 0x8e, 0x43, 0x28, 0xf1, 0x06, 0x01, 0xbf, 0x25, 0x67, 0x29, 0x02, 0x5b, 0x75, 0xb0,
+ 0x8b, 0xc5, 0x6a, 0x56, 0xac, 0x46, 0x04, 0xf3, 0x47, 0x0d, 0xee, 0x0b, 0x2e, 0x07, 0xc1, 0xce,
+ 0xa0, 0x8d, 0x03, 0xea, 0xf9, 0x37, 0x11, 0x68, 0x03, 0x4a, 0xb6, 0xbc, 0xa6, 0x45, 0x1c, 0x8e,
+ 0xa6, 0x68, 0x41, 0x48, 0x3a, 0x70, 0xd0, 0x2a, 0x14, 0xda, 0x3d, 0xe2, 0x3a, 0x6c, 0x35, 0xcb,
+ 0x57, 0x97, 0xf8, 0xfc, 0xc0, 0x31, 0xb7, 0x41, 0x4f, 0x42, 0x91, 0x52, 0xdf, 0x81, 0xdc, 0x99,
+ 0xed, 0x8e, 0x30, 0x87, 0x51, 0xb0, 0xc4, 0xc4, 0xfc, 0x49, 0x83, 0x4a, 0xd3, 0xc7, 0xb8, 0x3e,
+ 0xa0, 0xfe, 0x78, 0x4e, 0xef, 0x80, 0x10, 0x2c, 0x0e, 0x6d, 0xda, 0xe3, 0x68, 0xcb, 0x16, 0x1f,
+ 0x33, 0x38, 0x2e, 0xe9, 0x13, 0xaa, 0x2f, 0x6e, 0x6a, 0x5b, 0x59, 0x4b, 0x4c, 0xcc, 0xdf, 0x35,
+ 0x58, 0x89, 0xc1, 0x91, 0xd0, 0xff, 0x0b, 0x8b, 0x74, 0x3c, 0x14, 0xc8, 0x97, 0x6b, 0x7f, 0x0f,
+ 0x91, 0x24, 0x36, 0x56, 0x1b, 0x27, 0xdf, 0xe1, 0x36, 0x6d, 0x8e, 0x87, 0xd8, 0xe2, 0x27, 0xc2,
+ 0xa7, 0xce, 0xa8, 0xa7, 0x46, 0xb0, 0x18, 0x90, 0xef, 0x31, 0xc7, 0x92, 0xb5, 0xf8, 0x98, 0xd1,
+ 0xfa, 0x9e, 0x83, 0x39, 0x94, 0x9c, 0xc5, 0xc7, 0x8c, 0xe6, 0xd8, 0xd4, 0xd6, 0x73, 0x02, 0x33,
+ 0x1b, 0x9b, 0xff, 0x06, 0x50, 0x1c, 0x10, 0x40, 0xfe, 0x65, 0xe3, 0xe8, 0xe8, 0xa0, 0x59, 0x59,
+ 0x40, 0x05, 0x58, 0xdc, 0x3d, 0x6c, 0xec, 0x56, 0x34, 0x36, 0x6a, 0x5a, 0xf5, 0x7a, 0x25, 0x83,
+ 0x96, 0x20, 0xdb, 0xdc, 0xd9, 0xaf, 0x64, 0x4d, 0x0f, 0xee, 0x8a, 0x57, 0x09, 0x76, 0x31, 0x3d,
+ 0xc7, 0x78, 0x70, 0x13, 0x3d, 0x23, 0x58, 0xec, 0xf8, 0x5e, 0x5f, 0xea, 0x98, 0x8f, 0xd1, 0x32,
+ 0x64, 0xa8, 0x27, 0xb5, 0x9b, 0xa1, 0x9e, 0x59, 0x87, 0x7b, 0xd3, 0x0c, 0xa5, 0x26, 0x9f, 0xc3,
+ 0x92, 0x70, 0xdf, 0x40, 0xd7, 0x36, 0xb3, 0x5b, 0xa5, 0xda, 0x4a, 0xc8, 0x6e, 0x9f, 0x50, 0x71,
+ 0xc6, 0x0a, 0x77, 0x98, 0x3f, 0x67, 0x98, 0xff, 0x8c, 0x06, 0x72, 0x61, 0x5e, 0x6e, 0x8a, 0xb6,
+ 0x21, 0x67, 0x77, 0x28, 0xf6, 0xb9, 0x04, 0xa5, 0x9a, 0x51, 0x15, 0xd1, 0xa3, 0x1a, 0x46, 0x8f,
+ 0x6a, 0x33, 0x8c, 0x1e, 0x96, 0xd8, 0x88, 0x6a, 0x90, 0x3f, 0xc1, 0x1d, 0xcf, 0x17, 0x4f, 0x76,
+ 0xf9, 0x11, 0xb9, 0x33, 0x32, 0xc2, 0x5c, 0xcc, 0x08, 0xd7, 0xa0, 0xd8, 0xb7, 0x2f, 0x5a, 0x6d,
+ 0x26, 0xa4, 0x9e, 0xe7, 0xaf, 0x5f, 0xe8, 0xdb, 0x17, 0x5c, 0x68, 0x66, 0x3b, 0xb6, 0xeb, 0xea,
+ 0x4b, 0xdc, 0x5d, 0xd8, 0xd0, 0xfc, 0x27, 0xdc, 0x99, 0xd4, 0x87, 0x72, 0x2d, 0x71, 0x85, 0xc6,
+ 0xaf, 0x10, 0x13, 0xf3, 0xa3, 0x06, 0xc5, 0xc8, 0x44, 0x53, 0x82, 0xce, 0x2a, 0x14, 0x7c, 0xcf,
+ 0xa3, 0x2d, 0x65, 0xa0, 0x4b, 0x6c, 0xde, 0x10, 0x46, 0x9a, 0x70, 0x98, 0x17, 0xd2, 0x09, 0x16,
+ 0xb9, 0x13, 0xac, 0x25, 0x9c, 0xa0, 0xca, 0xbf, 0x31, 0xdb, 0x0f, 0xad, 0x3a, 0x17, 0xb3, 0xea,
+ 0x07, 0x00, 0xe2, 0x75, 0x39, 0xd7, 0x3c, 0xe7, 0x5a, 0x14, 0x14, 0xc6, 0x77, 0x0d, 0x8a, 0x1d,
+ 0xd7, 0xa6, 0x2d, 0xce, 0x7c, 0x49, 0x3c, 0x13, 0x23, 0xbc, 0xb5, 0x69, 0xcf, 0x7c, 0x0e, 0xc5,
+ 0x88, 0x45, 0x64, 0xf0, 0x0b, 0x91, 0xc1, 0x6b, 0x31, 0x87, 0xc8, 0x9a, 0xbf, 0x68, 0x70, 0x77,
+ 0x1f, 0xd3, 0x10, 0x1d, 0xc1, 0xc1, 0x97, 0x0c, 0x2e, 0xeb, 0x50, 0xf4, 0x71, 0x7b, 0xe4, 0x07,
+ 0xe4, 0x4c, 0x28, 0xac, 0x60, 0x29, 0x02, 0x73, 0x8f, 0x69, 0x68, 0xca, 0x3d, 0xb0, 0x20, 0x4d,
+ 0xbb, 0x87, 0x8a, 0x35, 0xe1, 0x0e, 0xf3, 0x04, 0x2a, 0x87, 0x24, 0xa0, 0x7b, 0xc4, 0x9d, 0x9b,
+ 0x70, 0xe6, 0x33, 0x58, 0x89, 0xf1, 0x50, 0xe6, 0xc6, 0xa4, 0x14, 0x18, 0xcb, 0x96, 0x98, 0x98,
+ 0x6d, 0x58, 0xd9, 0x23, 0x03, 0x47, 0x3a, 0xf1, 0x9c, 0xf0, 0xfc, 0x1f, 0x50, 0x9c, 0x89, 0x04,
+ 0xf4, 0x0c, 0xf2, 0xc2, 0x86, 0x24, 0x87, 0x94, 0xa0, 0x22, 0x37, 0x98, 0x2d, 0xb8, 0xcf, 0x04,
+ 0x0a, 0xc3, 0xd3, 0xb8, 0x41, 0x9c, 0x9b, 0x60, 0x8d, 0xe2, 0x7b, 0x56, 0x7a, 0x95, 0xb9, 0x0f,
+ 0x7a, 0x92, 0xc1, 0x75, 0xa2, 0xdf, 0x47, 0x0d, 0xee, 0x32, 0x59, 0x77, 0x5c, 0x77, 0xce, 0xf1,
+ 0x6f, 0x22, 0x0a, 0x65, 0xa7, 0xa2, 0x10, 0xcb, 0x57, 0xa7, 0x64, 0x18, 0xe6, 0x26, 0x36, 0x46,
+ 0xff, 0x83, 0x9c, 0xe7, 0x3b, 0xd8, 0xe7, 0xae, 0xbd, 0x5c, 0x7b, 0x1c, 0xf2, 0x4e, 0x85, 0x5b,
+ 0x6d, 0xb0, 0xad, 0x96, 0x38, 0x61, 0x3e, 0x81, 0x1c, 0x9f, 0x33, 0xb7, 0x7d, 0xd3, 0x78, 0x53,
+ 0x97, 0x0e, 0xdc, 0x78, 0xdb, 0x10, 0xb9, 0xeb, 0xd5, 0x4e, 0xb3, 0x5e, 0xc9, 0x30, 0x17, 0x99,
+ 0xbe, 0xec, 0x3a, 0x3a, 0xfc, 0x33, 0x13, 0xb7, 0x97, 0xb9, 0x29, 0x30, 0xaa, 0x25, 0x84, 0xf2,
+ 0xc4, 0x04, 0xdd, 0x83, 0xbc, 0xd7, 0xe9, 0x04, 0x98, 0x4a, 0xdd, 0xc9, 0x99, 0x72, 0x9f, 0x5c,
+ 0xcc, 0x7d, 0xd8, 0xee, 0x8e, 0xe7, 0xba, 0xde, 0x39, 0x8f, 0x8a, 0x05, 0x4b, 0xce, 0x58, 0x39,
+ 0xc6, 0x74, 0xde, 0xea, 0x63, 0xbf, 0x8b, 0x03, 0x99, 0x0d, 0x80, 0x91, 0x8e, 0x38, 0x05, 0x3d,
+ 0x82, 0xb2, 0x43, 0x02, 0xfb, 0xc4, 0xc5, 0xad, 0x73, 0xdb, 0x3d, 0xd5, 0x0b, 0x7c, 0x47, 0x49,
+ 0xd2, 0xde, 0xd9, 0xee, 0xa9, 0x4a, 0x70, 0xc5, 0xcf, 0x4f, 0x70, 0xf0, 0xc9, 0x09, 0x4e, 0xe6,
+ 0xab, 0x92, 0xca, 0x57, 0xbb, 0x70, 0x7b, 0x42, 0xfb, 0xd7, 0x79, 0xc2, 0x5e, 0x58, 0x4b, 0x1c,
+ 0xda, 0x83, 0xee, 0xc8, 0xee, 0xce, 0x2f, 0xd6, 0xfd, 0x1a, 0x15, 0xd2, 0x31, 0x56, 0x12, 0xf2,
+ 0x1e, 0x14, 0xdd, 0x90, 0x28, 0x41, 0x6f, 0x85, 0xac, 0x66, 0x9c, 0xa9, 0x86, 0x14, 0x4b, 0x1d,
+ 0x35, 0x5e, 0x43, 0x21, 0x24, 0x33, 0xcf, 0x1a, 0xd8, 0x7d, 0x2c, 0x53, 0x32, 0x1f, 0x33, 0xdb,
+ 0xe0, 0x8d, 0x0c, 0x07, 0x97, 0xb1, 0xc4, 0x44, 0xe4, 0x77, 0xd7, 0xf3, 0x65, 0xb9, 0x2d, 0x26,
+ 0xe6, 0x08, 0x6e, 0x59, 0xf6, 0xf9, 0xae, 0x6b, 0xf7, 0xf1, 0x17, 0xcc, 0x6d, 0xe6, 0x53, 0xa8,
+ 0x28, 0xb6, 0x52, 0x3d, 0x61, 0xb1, 0xaa, 0xc5, 0x8a, 0xd5, 0x1f, 0x40, 0x3f, 0xb4, 0xc3, 0x40,
+ 0xb8, 0xe7, 0xf9, 0x2c, 0x87, 0x7f, 0x49, 0x9c, 0x7b, 0xb0, 0x9a, 0xc2, 0xff, 0xf3, 0x33, 0xc6,
+ 0x6f, 0x91, 0x59, 0x04, 0xbb, 0xe3, 0x23, 0x1c, 0x04, 0xec, 0x49, 0xe7, 0x24, 0x87, 0x0a, 0x19,
+ 0xd9, 0xe9, 0x90, 0xa1, 0x9a, 0x95, 0x28, 0xc0, 0xa4, 0x55, 0x94, 0x77, 0x20, 0xf7, 0x61, 0x84,
+ 0xfd, 0xb1, 0xac, 0xad, 0xc4, 0x84, 0x25, 0xa5, 0xa4, 0x08, 0xd7, 0xf1, 0x46, 0x02, 0x1b, 0x7b,
+ 0xc4, 0xa5, 0xd8, 0x3f, 0xee, 0xd9, 0xc1, 0x3b, 0x42, 0x7b, 0xc7, 0xa4, 0x3b, 0xb0, 0xe9, 0xc8,
+ 0xbf, 0x99, 0x5b, 0xb2, 0x24, 0xd3, 0xb3, 0x03, 0x9e, 0x47, 0xcb, 0x16, 0x1f, 0x9b, 0xff, 0x81,
+ 0xcd, 0xd9, 0xac, 0x94, 0xdd, 0xf1, 0x73, 0x5a, 0xec, 0xdc, 0x10, 0x1e, 0xd4, 0x2f, 0xa8, 0x6f,
+ 0xb7, 0x25, 0xf8, 0xe8, 0xd8, 0x4d, 0x00, 0xae, 0x81, 0xac, 0x52, 0x55, 0x4b, 0x5c, 0x10, 0x84,
+ 0x03, 0xc7, 0x6c, 0xc1, 0xc3, 0x59, 0x1c, 0x25, 0xce, 0x75, 0x28, 0x06, 0x21, 0x51, 0x3a, 0x89,
+ 0x22, 0xf0, 0x10, 0x4f, 0xba, 0x03, 0xec, 0xb4, 0x28, 0xbe, 0xa0, 0xd2, 0x28, 0x40, 0x90, 0x9a,
+ 0xf8, 0x82, 0x9a, 0x1e, 0x18, 0xfb, 0x78, 0xfa, 0xf2, 0x1b, 0x29, 0x5c, 0xd5, 0xe1, 0xc4, 0x09,
+ 0x64, 0xf9, 0x52, 0x0c, 0x05, 0x0a, 0xcc, 0x31, 0xac, 0xa5, 0x32, 0x94, 0xe2, 0x4c, 0x68, 0x43,
+ 0x9b, 0xd4, 0xc6, 0xa4, 0xac, 0x99, 0x2b, 0x64, 0xcd, 0x26, 0x64, 0xed, 0x83, 0x1e, 0xb1, 0x96,
+ 0xa6, 0x3a, 0x4f, 0x49, 0x2d, 0x58, 0x4d, 0x61, 0xf7, 0x29, 0x72, 0xea, 0xb0, 0xd4, 0x17, 0x07,
+ 0xa4, 0x94, 0xe1, 0xb4, 0xf6, 0x47, 0x19, 0xfe, 0x26, 0x75, 0x87, 0xfd, 0x33, 0xd2, 0xc6, 0xe8,
+ 0x1d, 0x54, 0xa6, 0xff, 0x8b, 0xa0, 0x8d, 0xc9, 0xfc, 0x91, 0xf8, 0x79, 0x63, 0x6c, 0xce, 0xde,
+ 0x20, 0xf0, 0x99, 0x0b, 0xe8, 0x55, 0xbc, 0xc5, 0xd3, 0x53, 0x7e, 0x4c, 0x88, 0xab, 0x56, 0x67,
+ 0xfe, 0xb2, 0x30, 0x17, 0xb6, 0x35, 0x74, 0x0c, 0xcb, 0x93, 0xfd, 0x3a, 0x7a, 0x30, 0xc9, 0x7b,
+ 0xea, 0xc7, 0x81, 0xf1, 0x70, 0xd6, 0x72, 0xec, 0xd2, 0xaf, 0xa1, 0x1c, 0x6f, 0x56, 0xd1, 0x9a,
+ 0x3a, 0x93, 0x68, 0xe9, 0x8d, 0xf5, 0xf4, 0xc5, 0x48, 0xce, 0x63, 0x58, 0x9e, 0x6c, 0x99, 0x14,
+ 0xc2, 0xd4, 0x2e, 0x4f, 0x21, 0x4c, 0xef, 0xb4, 0x38, 0xc2, 0x57, 0x50, 0x8c, 0x9a, 0x1b, 0xa5,
+ 0xbc, 0xe9, 0x9e, 0x4a, 0x29, 0x2f, 0xd1, 0x09, 0xf1, 0x5b, 0xea, 0x00, 0xaa, 0xc8, 0x41, 0xab,
+ 0xf1, 0x5a, 0x78, 0xa2, 0x17, 0x32, 0x8c, 0xb4, 0xa5, 0x48, 0xc2, 0xaf, 0xa0, 0x14, 0xfb, 0x57,
+ 0x88, 0x8c, 0x49, 0x0d, 0xc7, 0x7f, 0x53, 0x1a, 0x6b, 0xa9, 0x6b, 0x71, 0x5d, 0x4d, 0xd6, 0xce,
+ 0x4a, 0x57, 0xa9, 0x05, 0xba, 0xd2, 0x55, 0x7a, 0xc9, 0xcd, 0xa5, 0x7c, 0x0d, 0xa5, 0x58, 0x29,
+ 0x87, 0x52, 0x64, 0x49, 0xc2, 0x4b, 0xa9, 0xfd, 0xf8, 0x5d, 0x4d, 0xb8, 0x35, 0x55, 0x33, 0xa1,
+ 0x87, 0x33, 0x8b, 0x29, 0x71, 0xe7, 0xc6, 0x15, 0xc5, 0x96, 0xb9, 0x80, 0x76, 0xa0, 0x10, 0xd6,
+ 0x25, 0xe8, 0x7e, 0x14, 0x14, 0x26, 0x0b, 0x24, 0x43, 0x4f, 0x2e, 0xc4, 0x80, 0x7d, 0x03, 0x2b,
+ 0x89, 0x92, 0x01, 0x45, 0x6e, 0x38, 0xab, 0x9a, 0x31, 0x1e, 0x5d, 0xb2, 0x23, 0x82, 0xf7, 0x3e,
+ 0x0c, 0x01, 0x2a, 0x05, 0x4f, 0x87, 0x80, 0x44, 0x7d, 0x31, 0x1d, 0x02, 0x92, 0xd9, 0x9b, 0xc3,
+ 0x7e, 0x2f, 0x7e, 0x04, 0xc4, 0x5b, 0x4e, 0x75, 0xf5, 0x8c, 0x6e, 0x57, 0x5d, 0x3d, 0xab, 0x5b,
+ 0xe5, 0x57, 0x07, 0xa0, 0xcf, 0x4a, 0xc2, 0xe8, 0x1f, 0xea, 0x9d, 0x2f, 0xad, 0x08, 0x8c, 0xad,
+ 0xab, 0x37, 0x86, 0x2c, 0xb7, 0xb4, 0x6d, 0x0d, 0x9d, 0xc2, 0xbd, 0xf4, 0x7c, 0x8a, 0x9e, 0x84,
+ 0x37, 0x5d, 0x9a, 0xe1, 0x8d, 0xa7, 0x57, 0x6d, 0x8b, 0x49, 0x78, 0x02, 0xb7, 0x53, 0x52, 0x1d,
+ 0x32, 0x63, 0xf1, 0x63, 0x46, 0xe2, 0x35, 0x1e, 0x5f, 0xba, 0x27, 0xc6, 0xe3, 0x5b, 0x58, 0x49,
+ 0x24, 0x19, 0x65, 0x57, 0xb3, 0xd2, 0x9d, 0xb2, 0xab, 0x99, 0x19, 0x8a, 0xdd, 0x7e, 0x92, 0xe7,
+ 0x3d, 0xd9, 0xbf, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0xb7, 0xe0, 0x5d, 0x22, 0x19, 0x19, 0x00,
+ 0x00,
}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/conflicts.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/conflicts.pb.go
index 3963e5f..8fc1470 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/conflicts.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/conflicts.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: conflicts.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -26,7 +26,7 @@ type ListConflictFilesRequest struct {
func (m *ListConflictFilesRequest) Reset() { *m = ListConflictFilesRequest{} }
func (m *ListConflictFilesRequest) String() string { return proto.CompactTextString(m) }
func (*ListConflictFilesRequest) ProtoMessage() {}
-func (*ListConflictFilesRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+func (*ListConflictFilesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
func (m *ListConflictFilesRequest) GetRepository() *Repository {
if m != nil {
@@ -60,7 +60,7 @@ type ConflictFileHeader struct {
func (m *ConflictFileHeader) Reset() { *m = ConflictFileHeader{} }
func (m *ConflictFileHeader) String() string { return proto.CompactTextString(m) }
func (*ConflictFileHeader) ProtoMessage() {}
-func (*ConflictFileHeader) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
+func (*ConflictFileHeader) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
func (m *ConflictFileHeader) GetRepository() *Repository {
if m != nil {
@@ -107,7 +107,7 @@ type ConflictFile struct {
func (m *ConflictFile) Reset() { *m = ConflictFile{} }
func (m *ConflictFile) String() string { return proto.CompactTextString(m) }
func (*ConflictFile) ProtoMessage() {}
-func (*ConflictFile) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }
+func (*ConflictFile) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
type isConflictFile_ConflictFilePayload interface{ isConflictFile_ConflictFilePayload() }
@@ -219,7 +219,7 @@ type ListConflictFilesResponse struct {
func (m *ListConflictFilesResponse) Reset() { *m = ListConflictFilesResponse{} }
func (m *ListConflictFilesResponse) String() string { return proto.CompactTextString(m) }
func (*ListConflictFilesResponse) ProtoMessage() {}
-func (*ListConflictFilesResponse) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }
+func (*ListConflictFilesResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
func (m *ListConflictFilesResponse) GetFiles() []*ConflictFile {
if m != nil {
@@ -242,7 +242,7 @@ type ResolveConflictsRequestHeader struct {
func (m *ResolveConflictsRequestHeader) Reset() { *m = ResolveConflictsRequestHeader{} }
func (m *ResolveConflictsRequestHeader) String() string { return proto.CompactTextString(m) }
func (*ResolveConflictsRequestHeader) ProtoMessage() {}
-func (*ResolveConflictsRequestHeader) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{4} }
+func (*ResolveConflictsRequestHeader) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
func (m *ResolveConflictsRequestHeader) GetRepository() *Repository {
if m != nil {
@@ -310,7 +310,7 @@ type ResolveConflictsRequest struct {
func (m *ResolveConflictsRequest) Reset() { *m = ResolveConflictsRequest{} }
func (m *ResolveConflictsRequest) String() string { return proto.CompactTextString(m) }
func (*ResolveConflictsRequest) ProtoMessage() {}
-func (*ResolveConflictsRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{5} }
+func (*ResolveConflictsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
type isResolveConflictsRequest_ResolveConflictsRequestPayload interface{ isResolveConflictsRequest_ResolveConflictsRequestPayload() }
@@ -422,7 +422,7 @@ type ResolveConflictsResponse struct {
func (m *ResolveConflictsResponse) Reset() { *m = ResolveConflictsResponse{} }
func (m *ResolveConflictsResponse) String() string { return proto.CompactTextString(m) }
func (*ResolveConflictsResponse) ProtoMessage() {}
-func (*ResolveConflictsResponse) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{6} }
+func (*ResolveConflictsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
func (m *ResolveConflictsResponse) GetResolutionError() string {
if m != nil {
@@ -607,9 +607,9 @@ var _ConflictsService_serviceDesc = grpc.ServiceDesc{
Metadata: "conflicts.proto",
}
-func init() { proto.RegisterFile("conflicts.proto", fileDescriptor3) }
+func init() { proto.RegisterFile("conflicts.proto", fileDescriptor2) }
-var fileDescriptor3 = []byte{
+var fileDescriptor2 = []byte{
// 575 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0xd1, 0x6a, 0x13, 0x41,
0x14, 0x86, 0xbb, 0x6d, 0x93, 0x34, 0xa7, 0xdb, 0x34, 0x1d, 0x94, 0x6e, 0x03, 0xa1, 0xdb, 0xad,
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/deprecated-services.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/deprecated-services.pb.go
new file mode 100644
index 0000000..7253e92
--- /dev/null
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/deprecated-services.pb.go
@@ -0,0 +1,1146 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: deprecated-services.proto
+
+package gitaly
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+import (
+ context "golang.org/x/net/context"
+ grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// 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.SupportPackageIsVersion4
+
+// Client API for Commit service
+
+type CommitClient interface {
+ CommitIsAncestor(ctx context.Context, in *CommitIsAncestorRequest, opts ...grpc.CallOption) (*CommitIsAncestorResponse, error)
+ TreeEntry(ctx context.Context, in *TreeEntryRequest, opts ...grpc.CallOption) (Commit_TreeEntryClient, error)
+}
+
+type commitClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewCommitClient(cc *grpc.ClientConn) CommitClient {
+ return &commitClient{cc}
+}
+
+func (c *commitClient) CommitIsAncestor(ctx context.Context, in *CommitIsAncestorRequest, opts ...grpc.CallOption) (*CommitIsAncestorResponse, error) {
+ out := new(CommitIsAncestorResponse)
+ err := grpc.Invoke(ctx, "/gitaly.Commit/CommitIsAncestor", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *commitClient) TreeEntry(ctx context.Context, in *TreeEntryRequest, opts ...grpc.CallOption) (Commit_TreeEntryClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_Commit_serviceDesc.Streams[0], c.cc, "/gitaly.Commit/TreeEntry", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &commitTreeEntryClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type Commit_TreeEntryClient interface {
+ Recv() (*TreeEntryResponse, error)
+ grpc.ClientStream
+}
+
+type commitTreeEntryClient struct {
+ grpc.ClientStream
+}
+
+func (x *commitTreeEntryClient) Recv() (*TreeEntryResponse, error) {
+ m := new(TreeEntryResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// Server API for Commit service
+
+type CommitServer interface {
+ CommitIsAncestor(context.Context, *CommitIsAncestorRequest) (*CommitIsAncestorResponse, error)
+ TreeEntry(*TreeEntryRequest, Commit_TreeEntryServer) error
+}
+
+func RegisterCommitServer(s *grpc.Server, srv CommitServer) {
+ s.RegisterService(&_Commit_serviceDesc, srv)
+}
+
+func _Commit_CommitIsAncestor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CommitIsAncestorRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(CommitServer).CommitIsAncestor(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/gitaly.Commit/CommitIsAncestor",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(CommitServer).CommitIsAncestor(ctx, req.(*CommitIsAncestorRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Commit_TreeEntry_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(TreeEntryRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(CommitServer).TreeEntry(m, &commitTreeEntryServer{stream})
+}
+
+type Commit_TreeEntryServer interface {
+ Send(*TreeEntryResponse) error
+ grpc.ServerStream
+}
+
+type commitTreeEntryServer struct {
+ grpc.ServerStream
+}
+
+func (x *commitTreeEntryServer) Send(m *TreeEntryResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+var _Commit_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "gitaly.Commit",
+ HandlerType: (*CommitServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "CommitIsAncestor",
+ Handler: _Commit_CommitIsAncestor_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "TreeEntry",
+ Handler: _Commit_TreeEntry_Handler,
+ ServerStreams: true,
+ },
+ },
+ Metadata: "deprecated-services.proto",
+}
+
+// Client API for Diff service
+
+type DiffClient interface {
+ // Returns stream of CommitDiffResponse with patches chunked over messages
+ CommitDiff(ctx context.Context, in *CommitDiffRequest, opts ...grpc.CallOption) (Diff_CommitDiffClient, error)
+ // Return a stream so we can divide the response in chunks of deltas
+ CommitDelta(ctx context.Context, in *CommitDeltaRequest, opts ...grpc.CallOption) (Diff_CommitDeltaClient, error)
+}
+
+type diffClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewDiffClient(cc *grpc.ClientConn) DiffClient {
+ return &diffClient{cc}
+}
+
+func (c *diffClient) CommitDiff(ctx context.Context, in *CommitDiffRequest, opts ...grpc.CallOption) (Diff_CommitDiffClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_Diff_serviceDesc.Streams[0], c.cc, "/gitaly.Diff/CommitDiff", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &diffCommitDiffClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type Diff_CommitDiffClient interface {
+ Recv() (*CommitDiffResponse, error)
+ grpc.ClientStream
+}
+
+type diffCommitDiffClient struct {
+ grpc.ClientStream
+}
+
+func (x *diffCommitDiffClient) Recv() (*CommitDiffResponse, error) {
+ m := new(CommitDiffResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *diffClient) CommitDelta(ctx context.Context, in *CommitDeltaRequest, opts ...grpc.CallOption) (Diff_CommitDeltaClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_Diff_serviceDesc.Streams[1], c.cc, "/gitaly.Diff/CommitDelta", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &diffCommitDeltaClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type Diff_CommitDeltaClient interface {
+ Recv() (*CommitDeltaResponse, error)
+ grpc.ClientStream
+}
+
+type diffCommitDeltaClient struct {
+ grpc.ClientStream
+}
+
+func (x *diffCommitDeltaClient) Recv() (*CommitDeltaResponse, error) {
+ m := new(CommitDeltaResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// Server API for Diff service
+
+type DiffServer interface {
+ // Returns stream of CommitDiffResponse with patches chunked over messages
+ CommitDiff(*CommitDiffRequest, Diff_CommitDiffServer) error
+ // Return a stream so we can divide the response in chunks of deltas
+ CommitDelta(*CommitDeltaRequest, Diff_CommitDeltaServer) error
+}
+
+func RegisterDiffServer(s *grpc.Server, srv DiffServer) {
+ s.RegisterService(&_Diff_serviceDesc, srv)
+}
+
+func _Diff_CommitDiff_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(CommitDiffRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(DiffServer).CommitDiff(m, &diffCommitDiffServer{stream})
+}
+
+type Diff_CommitDiffServer interface {
+ Send(*CommitDiffResponse) error
+ grpc.ServerStream
+}
+
+type diffCommitDiffServer struct {
+ grpc.ServerStream
+}
+
+func (x *diffCommitDiffServer) Send(m *CommitDiffResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func _Diff_CommitDelta_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(CommitDeltaRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(DiffServer).CommitDelta(m, &diffCommitDeltaServer{stream})
+}
+
+type Diff_CommitDeltaServer interface {
+ Send(*CommitDeltaResponse) error
+ grpc.ServerStream
+}
+
+type diffCommitDeltaServer struct {
+ grpc.ServerStream
+}
+
+func (x *diffCommitDeltaServer) Send(m *CommitDeltaResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+var _Diff_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "gitaly.Diff",
+ HandlerType: (*DiffServer)(nil),
+ Methods: []grpc.MethodDesc{},
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "CommitDiff",
+ Handler: _Diff_CommitDiff_Handler,
+ ServerStreams: true,
+ },
+ {
+ StreamName: "CommitDelta",
+ Handler: _Diff_CommitDelta_Handler,
+ ServerStreams: true,
+ },
+ },
+ Metadata: "deprecated-services.proto",
+}
+
+// Client API for Notifications service
+
+type NotificationsClient interface {
+ PostReceive(ctx context.Context, in *PostReceiveRequest, opts ...grpc.CallOption) (*PostReceiveResponse, error)
+}
+
+type notificationsClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewNotificationsClient(cc *grpc.ClientConn) NotificationsClient {
+ return &notificationsClient{cc}
+}
+
+func (c *notificationsClient) PostReceive(ctx context.Context, in *PostReceiveRequest, opts ...grpc.CallOption) (*PostReceiveResponse, error) {
+ out := new(PostReceiveResponse)
+ err := grpc.Invoke(ctx, "/gitaly.Notifications/PostReceive", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// Server API for Notifications service
+
+type NotificationsServer interface {
+ PostReceive(context.Context, *PostReceiveRequest) (*PostReceiveResponse, error)
+}
+
+func RegisterNotificationsServer(s *grpc.Server, srv NotificationsServer) {
+ s.RegisterService(&_Notifications_serviceDesc, srv)
+}
+
+func _Notifications_PostReceive_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(PostReceiveRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationsServer).PostReceive(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/gitaly.Notifications/PostReceive",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationsServer).PostReceive(ctx, req.(*PostReceiveRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _Notifications_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "gitaly.Notifications",
+ HandlerType: (*NotificationsServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "PostReceive",
+ Handler: _Notifications_PostReceive_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "deprecated-services.proto",
+}
+
+// Client API for Ref service
+
+type RefClient interface {
+ FindDefaultBranchName(ctx context.Context, in *FindDefaultBranchNameRequest, opts ...grpc.CallOption) (*FindDefaultBranchNameResponse, error)
+ FindAllBranchNames(ctx context.Context, in *FindAllBranchNamesRequest, opts ...grpc.CallOption) (Ref_FindAllBranchNamesClient, error)
+ FindAllTagNames(ctx context.Context, in *FindAllTagNamesRequest, opts ...grpc.CallOption) (Ref_FindAllTagNamesClient, error)
+ // Find a Ref matching the given constraints. Response may be empty.
+ FindRefName(ctx context.Context, in *FindRefNameRequest, opts ...grpc.CallOption) (*FindRefNameResponse, error)
+ // Return a stream so we can divide the response in chunks of branches
+ FindLocalBranches(ctx context.Context, in *FindLocalBranchesRequest, opts ...grpc.CallOption) (Ref_FindLocalBranchesClient, error)
+}
+
+type refClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewRefClient(cc *grpc.ClientConn) RefClient {
+ return &refClient{cc}
+}
+
+func (c *refClient) FindDefaultBranchName(ctx context.Context, in *FindDefaultBranchNameRequest, opts ...grpc.CallOption) (*FindDefaultBranchNameResponse, error) {
+ out := new(FindDefaultBranchNameResponse)
+ err := grpc.Invoke(ctx, "/gitaly.Ref/FindDefaultBranchName", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *refClient) FindAllBranchNames(ctx context.Context, in *FindAllBranchNamesRequest, opts ...grpc.CallOption) (Ref_FindAllBranchNamesClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_Ref_serviceDesc.Streams[0], c.cc, "/gitaly.Ref/FindAllBranchNames", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &refFindAllBranchNamesClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type Ref_FindAllBranchNamesClient interface {
+ Recv() (*FindAllBranchNamesResponse, error)
+ grpc.ClientStream
+}
+
+type refFindAllBranchNamesClient struct {
+ grpc.ClientStream
+}
+
+func (x *refFindAllBranchNamesClient) Recv() (*FindAllBranchNamesResponse, error) {
+ m := new(FindAllBranchNamesResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *refClient) FindAllTagNames(ctx context.Context, in *FindAllTagNamesRequest, opts ...grpc.CallOption) (Ref_FindAllTagNamesClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_Ref_serviceDesc.Streams[1], c.cc, "/gitaly.Ref/FindAllTagNames", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &refFindAllTagNamesClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type Ref_FindAllTagNamesClient interface {
+ Recv() (*FindAllTagNamesResponse, error)
+ grpc.ClientStream
+}
+
+type refFindAllTagNamesClient struct {
+ grpc.ClientStream
+}
+
+func (x *refFindAllTagNamesClient) Recv() (*FindAllTagNamesResponse, error) {
+ m := new(FindAllTagNamesResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *refClient) FindRefName(ctx context.Context, in *FindRefNameRequest, opts ...grpc.CallOption) (*FindRefNameResponse, error) {
+ out := new(FindRefNameResponse)
+ err := grpc.Invoke(ctx, "/gitaly.Ref/FindRefName", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *refClient) FindLocalBranches(ctx context.Context, in *FindLocalBranchesRequest, opts ...grpc.CallOption) (Ref_FindLocalBranchesClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_Ref_serviceDesc.Streams[2], c.cc, "/gitaly.Ref/FindLocalBranches", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &refFindLocalBranchesClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type Ref_FindLocalBranchesClient interface {
+ Recv() (*FindLocalBranchesResponse, error)
+ grpc.ClientStream
+}
+
+type refFindLocalBranchesClient struct {
+ grpc.ClientStream
+}
+
+func (x *refFindLocalBranchesClient) Recv() (*FindLocalBranchesResponse, error) {
+ m := new(FindLocalBranchesResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// Server API for Ref service
+
+type RefServer interface {
+ FindDefaultBranchName(context.Context, *FindDefaultBranchNameRequest) (*FindDefaultBranchNameResponse, error)
+ FindAllBranchNames(*FindAllBranchNamesRequest, Ref_FindAllBranchNamesServer) error
+ FindAllTagNames(*FindAllTagNamesRequest, Ref_FindAllTagNamesServer) error
+ // Find a Ref matching the given constraints. Response may be empty.
+ FindRefName(context.Context, *FindRefNameRequest) (*FindRefNameResponse, error)
+ // Return a stream so we can divide the response in chunks of branches
+ FindLocalBranches(*FindLocalBranchesRequest, Ref_FindLocalBranchesServer) error
+}
+
+func RegisterRefServer(s *grpc.Server, srv RefServer) {
+ s.RegisterService(&_Ref_serviceDesc, srv)
+}
+
+func _Ref_FindDefaultBranchName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(FindDefaultBranchNameRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(RefServer).FindDefaultBranchName(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/gitaly.Ref/FindDefaultBranchName",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(RefServer).FindDefaultBranchName(ctx, req.(*FindDefaultBranchNameRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Ref_FindAllBranchNames_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(FindAllBranchNamesRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(RefServer).FindAllBranchNames(m, &refFindAllBranchNamesServer{stream})
+}
+
+type Ref_FindAllBranchNamesServer interface {
+ Send(*FindAllBranchNamesResponse) error
+ grpc.ServerStream
+}
+
+type refFindAllBranchNamesServer struct {
+ grpc.ServerStream
+}
+
+func (x *refFindAllBranchNamesServer) Send(m *FindAllBranchNamesResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func _Ref_FindAllTagNames_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(FindAllTagNamesRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(RefServer).FindAllTagNames(m, &refFindAllTagNamesServer{stream})
+}
+
+type Ref_FindAllTagNamesServer interface {
+ Send(*FindAllTagNamesResponse) error
+ grpc.ServerStream
+}
+
+type refFindAllTagNamesServer struct {
+ grpc.ServerStream
+}
+
+func (x *refFindAllTagNamesServer) Send(m *FindAllTagNamesResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func _Ref_FindRefName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(FindRefNameRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(RefServer).FindRefName(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/gitaly.Ref/FindRefName",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(RefServer).FindRefName(ctx, req.(*FindRefNameRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Ref_FindLocalBranches_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(FindLocalBranchesRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(RefServer).FindLocalBranches(m, &refFindLocalBranchesServer{stream})
+}
+
+type Ref_FindLocalBranchesServer interface {
+ Send(*FindLocalBranchesResponse) error
+ grpc.ServerStream
+}
+
+type refFindLocalBranchesServer struct {
+ grpc.ServerStream
+}
+
+func (x *refFindLocalBranchesServer) Send(m *FindLocalBranchesResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+var _Ref_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "gitaly.Ref",
+ HandlerType: (*RefServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "FindDefaultBranchName",
+ Handler: _Ref_FindDefaultBranchName_Handler,
+ },
+ {
+ MethodName: "FindRefName",
+ Handler: _Ref_FindRefName_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "FindAllBranchNames",
+ Handler: _Ref_FindAllBranchNames_Handler,
+ ServerStreams: true,
+ },
+ {
+ StreamName: "FindAllTagNames",
+ Handler: _Ref_FindAllTagNames_Handler,
+ ServerStreams: true,
+ },
+ {
+ StreamName: "FindLocalBranches",
+ Handler: _Ref_FindLocalBranches_Handler,
+ ServerStreams: true,
+ },
+ },
+ Metadata: "deprecated-services.proto",
+}
+
+// Client API for SmartHTTP service
+
+type SmartHTTPClient interface {
+ // The response body for GET /info/refs?service=git-upload-pack
+ InfoRefsUploadPack(ctx context.Context, in *InfoRefsRequest, opts ...grpc.CallOption) (SmartHTTP_InfoRefsUploadPackClient, error)
+ // The response body for GET /info/refs?service=git-receive-pack
+ InfoRefsReceivePack(ctx context.Context, in *InfoRefsRequest, opts ...grpc.CallOption) (SmartHTTP_InfoRefsReceivePackClient, error)
+ // Request and response body for POST /upload-pack
+ PostUploadPack(ctx context.Context, opts ...grpc.CallOption) (SmartHTTP_PostUploadPackClient, error)
+ // Request and response body for POST /receive-pack
+ PostReceivePack(ctx context.Context, opts ...grpc.CallOption) (SmartHTTP_PostReceivePackClient, error)
+}
+
+type smartHTTPClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewSmartHTTPClient(cc *grpc.ClientConn) SmartHTTPClient {
+ return &smartHTTPClient{cc}
+}
+
+func (c *smartHTTPClient) InfoRefsUploadPack(ctx context.Context, in *InfoRefsRequest, opts ...grpc.CallOption) (SmartHTTP_InfoRefsUploadPackClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_SmartHTTP_serviceDesc.Streams[0], c.cc, "/gitaly.SmartHTTP/InfoRefsUploadPack", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &smartHTTPInfoRefsUploadPackClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type SmartHTTP_InfoRefsUploadPackClient interface {
+ Recv() (*InfoRefsResponse, error)
+ grpc.ClientStream
+}
+
+type smartHTTPInfoRefsUploadPackClient struct {
+ grpc.ClientStream
+}
+
+func (x *smartHTTPInfoRefsUploadPackClient) Recv() (*InfoRefsResponse, error) {
+ m := new(InfoRefsResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *smartHTTPClient) InfoRefsReceivePack(ctx context.Context, in *InfoRefsRequest, opts ...grpc.CallOption) (SmartHTTP_InfoRefsReceivePackClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_SmartHTTP_serviceDesc.Streams[1], c.cc, "/gitaly.SmartHTTP/InfoRefsReceivePack", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &smartHTTPInfoRefsReceivePackClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type SmartHTTP_InfoRefsReceivePackClient interface {
+ Recv() (*InfoRefsResponse, error)
+ grpc.ClientStream
+}
+
+type smartHTTPInfoRefsReceivePackClient struct {
+ grpc.ClientStream
+}
+
+func (x *smartHTTPInfoRefsReceivePackClient) Recv() (*InfoRefsResponse, error) {
+ m := new(InfoRefsResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *smartHTTPClient) PostUploadPack(ctx context.Context, opts ...grpc.CallOption) (SmartHTTP_PostUploadPackClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_SmartHTTP_serviceDesc.Streams[2], c.cc, "/gitaly.SmartHTTP/PostUploadPack", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &smartHTTPPostUploadPackClient{stream}
+ return x, nil
+}
+
+type SmartHTTP_PostUploadPackClient interface {
+ Send(*PostUploadPackRequest) error
+ Recv() (*PostUploadPackResponse, error)
+ grpc.ClientStream
+}
+
+type smartHTTPPostUploadPackClient struct {
+ grpc.ClientStream
+}
+
+func (x *smartHTTPPostUploadPackClient) Send(m *PostUploadPackRequest) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *smartHTTPPostUploadPackClient) Recv() (*PostUploadPackResponse, error) {
+ m := new(PostUploadPackResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *smartHTTPClient) PostReceivePack(ctx context.Context, opts ...grpc.CallOption) (SmartHTTP_PostReceivePackClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_SmartHTTP_serviceDesc.Streams[3], c.cc, "/gitaly.SmartHTTP/PostReceivePack", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &smartHTTPPostReceivePackClient{stream}
+ return x, nil
+}
+
+type SmartHTTP_PostReceivePackClient interface {
+ Send(*PostReceivePackRequest) error
+ Recv() (*PostReceivePackResponse, error)
+ grpc.ClientStream
+}
+
+type smartHTTPPostReceivePackClient struct {
+ grpc.ClientStream
+}
+
+func (x *smartHTTPPostReceivePackClient) Send(m *PostReceivePackRequest) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *smartHTTPPostReceivePackClient) Recv() (*PostReceivePackResponse, error) {
+ m := new(PostReceivePackResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// Server API for SmartHTTP service
+
+type SmartHTTPServer interface {
+ // The response body for GET /info/refs?service=git-upload-pack
+ InfoRefsUploadPack(*InfoRefsRequest, SmartHTTP_InfoRefsUploadPackServer) error
+ // The response body for GET /info/refs?service=git-receive-pack
+ InfoRefsReceivePack(*InfoRefsRequest, SmartHTTP_InfoRefsReceivePackServer) error
+ // Request and response body for POST /upload-pack
+ PostUploadPack(SmartHTTP_PostUploadPackServer) error
+ // Request and response body for POST /receive-pack
+ PostReceivePack(SmartHTTP_PostReceivePackServer) error
+}
+
+func RegisterSmartHTTPServer(s *grpc.Server, srv SmartHTTPServer) {
+ s.RegisterService(&_SmartHTTP_serviceDesc, srv)
+}
+
+func _SmartHTTP_InfoRefsUploadPack_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(InfoRefsRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(SmartHTTPServer).InfoRefsUploadPack(m, &smartHTTPInfoRefsUploadPackServer{stream})
+}
+
+type SmartHTTP_InfoRefsUploadPackServer interface {
+ Send(*InfoRefsResponse) error
+ grpc.ServerStream
+}
+
+type smartHTTPInfoRefsUploadPackServer struct {
+ grpc.ServerStream
+}
+
+func (x *smartHTTPInfoRefsUploadPackServer) Send(m *InfoRefsResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func _SmartHTTP_InfoRefsReceivePack_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(InfoRefsRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(SmartHTTPServer).InfoRefsReceivePack(m, &smartHTTPInfoRefsReceivePackServer{stream})
+}
+
+type SmartHTTP_InfoRefsReceivePackServer interface {
+ Send(*InfoRefsResponse) error
+ grpc.ServerStream
+}
+
+type smartHTTPInfoRefsReceivePackServer struct {
+ grpc.ServerStream
+}
+
+func (x *smartHTTPInfoRefsReceivePackServer) Send(m *InfoRefsResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func _SmartHTTP_PostUploadPack_Handler(srv interface{}, stream grpc.ServerStream) error {
+ return srv.(SmartHTTPServer).PostUploadPack(&smartHTTPPostUploadPackServer{stream})
+}
+
+type SmartHTTP_PostUploadPackServer interface {
+ Send(*PostUploadPackResponse) error
+ Recv() (*PostUploadPackRequest, error)
+ grpc.ServerStream
+}
+
+type smartHTTPPostUploadPackServer struct {
+ grpc.ServerStream
+}
+
+func (x *smartHTTPPostUploadPackServer) Send(m *PostUploadPackResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *smartHTTPPostUploadPackServer) Recv() (*PostUploadPackRequest, error) {
+ m := new(PostUploadPackRequest)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func _SmartHTTP_PostReceivePack_Handler(srv interface{}, stream grpc.ServerStream) error {
+ return srv.(SmartHTTPServer).PostReceivePack(&smartHTTPPostReceivePackServer{stream})
+}
+
+type SmartHTTP_PostReceivePackServer interface {
+ Send(*PostReceivePackResponse) error
+ Recv() (*PostReceivePackRequest, error)
+ grpc.ServerStream
+}
+
+type smartHTTPPostReceivePackServer struct {
+ grpc.ServerStream
+}
+
+func (x *smartHTTPPostReceivePackServer) Send(m *PostReceivePackResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *smartHTTPPostReceivePackServer) Recv() (*PostReceivePackRequest, error) {
+ m := new(PostReceivePackRequest)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+var _SmartHTTP_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "gitaly.SmartHTTP",
+ HandlerType: (*SmartHTTPServer)(nil),
+ Methods: []grpc.MethodDesc{},
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "InfoRefsUploadPack",
+ Handler: _SmartHTTP_InfoRefsUploadPack_Handler,
+ ServerStreams: true,
+ },
+ {
+ StreamName: "InfoRefsReceivePack",
+ Handler: _SmartHTTP_InfoRefsReceivePack_Handler,
+ ServerStreams: true,
+ },
+ {
+ StreamName: "PostUploadPack",
+ Handler: _SmartHTTP_PostUploadPack_Handler,
+ ServerStreams: true,
+ ClientStreams: true,
+ },
+ {
+ StreamName: "PostReceivePack",
+ Handler: _SmartHTTP_PostReceivePack_Handler,
+ ServerStreams: true,
+ ClientStreams: true,
+ },
+ },
+ Metadata: "deprecated-services.proto",
+}
+
+// Client API for SSH service
+
+type SSHClient interface {
+ // To forward 'git upload-pack' to Gitaly for SSH sessions
+ SSHUploadPack(ctx context.Context, opts ...grpc.CallOption) (SSH_SSHUploadPackClient, error)
+ // To forward 'git receive-pack' to Gitaly for SSH sessions
+ SSHReceivePack(ctx context.Context, opts ...grpc.CallOption) (SSH_SSHReceivePackClient, error)
+}
+
+type sSHClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewSSHClient(cc *grpc.ClientConn) SSHClient {
+ return &sSHClient{cc}
+}
+
+func (c *sSHClient) SSHUploadPack(ctx context.Context, opts ...grpc.CallOption) (SSH_SSHUploadPackClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_SSH_serviceDesc.Streams[0], c.cc, "/gitaly.SSH/SSHUploadPack", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &sSHSSHUploadPackClient{stream}
+ return x, nil
+}
+
+type SSH_SSHUploadPackClient interface {
+ Send(*SSHUploadPackRequest) error
+ Recv() (*SSHUploadPackResponse, error)
+ grpc.ClientStream
+}
+
+type sSHSSHUploadPackClient struct {
+ grpc.ClientStream
+}
+
+func (x *sSHSSHUploadPackClient) Send(m *SSHUploadPackRequest) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *sSHSSHUploadPackClient) Recv() (*SSHUploadPackResponse, error) {
+ m := new(SSHUploadPackResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func (c *sSHClient) SSHReceivePack(ctx context.Context, opts ...grpc.CallOption) (SSH_SSHReceivePackClient, error) {
+ stream, err := grpc.NewClientStream(ctx, &_SSH_serviceDesc.Streams[1], c.cc, "/gitaly.SSH/SSHReceivePack", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &sSHSSHReceivePackClient{stream}
+ return x, nil
+}
+
+type SSH_SSHReceivePackClient interface {
+ Send(*SSHReceivePackRequest) error
+ Recv() (*SSHReceivePackResponse, error)
+ grpc.ClientStream
+}
+
+type sSHSSHReceivePackClient struct {
+ grpc.ClientStream
+}
+
+func (x *sSHSSHReceivePackClient) Send(m *SSHReceivePackRequest) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *sSHSSHReceivePackClient) Recv() (*SSHReceivePackResponse, error) {
+ m := new(SSHReceivePackResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// Server API for SSH service
+
+type SSHServer interface {
+ // To forward 'git upload-pack' to Gitaly for SSH sessions
+ SSHUploadPack(SSH_SSHUploadPackServer) error
+ // To forward 'git receive-pack' to Gitaly for SSH sessions
+ SSHReceivePack(SSH_SSHReceivePackServer) error
+}
+
+func RegisterSSHServer(s *grpc.Server, srv SSHServer) {
+ s.RegisterService(&_SSH_serviceDesc, srv)
+}
+
+func _SSH_SSHUploadPack_Handler(srv interface{}, stream grpc.ServerStream) error {
+ return srv.(SSHServer).SSHUploadPack(&sSHSSHUploadPackServer{stream})
+}
+
+type SSH_SSHUploadPackServer interface {
+ Send(*SSHUploadPackResponse) error
+ Recv() (*SSHUploadPackRequest, error)
+ grpc.ServerStream
+}
+
+type sSHSSHUploadPackServer struct {
+ grpc.ServerStream
+}
+
+func (x *sSHSSHUploadPackServer) Send(m *SSHUploadPackResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *sSHSSHUploadPackServer) Recv() (*SSHUploadPackRequest, error) {
+ m := new(SSHUploadPackRequest)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func _SSH_SSHReceivePack_Handler(srv interface{}, stream grpc.ServerStream) error {
+ return srv.(SSHServer).SSHReceivePack(&sSHSSHReceivePackServer{stream})
+}
+
+type SSH_SSHReceivePackServer interface {
+ Send(*SSHReceivePackResponse) error
+ Recv() (*SSHReceivePackRequest, error)
+ grpc.ServerStream
+}
+
+type sSHSSHReceivePackServer struct {
+ grpc.ServerStream
+}
+
+func (x *sSHSSHReceivePackServer) Send(m *SSHReceivePackResponse) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *sSHSSHReceivePackServer) Recv() (*SSHReceivePackRequest, error) {
+ m := new(SSHReceivePackRequest)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+var _SSH_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "gitaly.SSH",
+ HandlerType: (*SSHServer)(nil),
+ Methods: []grpc.MethodDesc{},
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "SSHUploadPack",
+ Handler: _SSH_SSHUploadPack_Handler,
+ ServerStreams: true,
+ ClientStreams: true,
+ },
+ {
+ StreamName: "SSHReceivePack",
+ Handler: _SSH_SSHReceivePack_Handler,
+ ServerStreams: true,
+ ClientStreams: true,
+ },
+ },
+ Metadata: "deprecated-services.proto",
+}
+
+func init() { proto.RegisterFile("deprecated-services.proto", fileDescriptor3) }
+
+var fileDescriptor3 = []byte{
+ // 534 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0x5d, 0x6e, 0xd3, 0x40,
+ 0x10, 0x80, 0x31, 0x41, 0x91, 0x32, 0xa1, 0x0d, 0x6c, 0x85, 0x68, 0x0c, 0x4d, 0xda, 0x0a, 0x24,
+ 0x5e, 0x88, 0xaa, 0x70, 0x82, 0x42, 0x00, 0x17, 0xaa, 0x2a, 0xb2, 0x13, 0x7e, 0x24, 0x24, 0xb4,
+ 0x38, 0xb3, 0x8d, 0x85, 0xe3, 0x0d, 0xde, 0x6d, 0xa5, 0x9e, 0x85, 0x03, 0xf0, 0xca, 0x49, 0x78,
+ 0xe5, 0x3a, 0xc8, 0x3f, 0x13, 0xaf, 0x13, 0xbb, 0x3c, 0xf4, 0x6d, 0x33, 0xdf, 0xcc, 0xb7, 0x93,
+ 0xf1, 0xd8, 0xd0, 0x9d, 0xe1, 0x32, 0x46, 0x9f, 0x6b, 0x9c, 0x3d, 0x57, 0x18, 0x5f, 0x06, 0x3e,
+ 0xaa, 0xc1, 0x32, 0x96, 0x5a, 0xb2, 0xe6, 0x79, 0xa0, 0x79, 0x78, 0x65, 0xdf, 0xf5, 0xe5, 0x62,
+ 0x11, 0xe8, 0x2c, 0x6a, 0xc3, 0x2c, 0x10, 0x22, 0x3f, 0xef, 0x44, 0x52, 0x07, 0x22, 0xf0, 0xb9,
+ 0x0e, 0x64, 0x94, 0x97, 0xd9, 0xad, 0x18, 0x89, 0x77, 0xd4, 0x82, 0xc7, 0x7a, 0xae, 0xf5, 0x92,
+ 0x98, 0x52, 0xf3, 0xec, 0x38, 0xfc, 0x65, 0x41, 0xf3, 0x55, 0x2a, 0x66, 0x1f, 0xe1, 0x5e, 0x76,
+ 0x3a, 0x51, 0xc7, 0x91, 0x8f, 0x4a, 0xcb, 0x98, 0xf5, 0x07, 0xd9, 0xed, 0x83, 0x75, 0xe2, 0xe2,
+ 0x8f, 0x0b, 0x54, 0xda, 0xde, 0xaf, 0x4f, 0x50, 0x4b, 0x19, 0x29, 0x3c, 0xbc, 0xc5, 0x46, 0xd0,
+ 0x9a, 0xc4, 0x88, 0xaf, 0x23, 0x1d, 0x5f, 0xb1, 0x5d, 0x2a, 0x58, 0x85, 0x48, 0xd5, 0xad, 0x20,
+ 0xe4, 0x38, 0xb2, 0x86, 0x3f, 0x2d, 0xb8, 0x33, 0x0a, 0x84, 0x60, 0x6f, 0x01, 0xb2, 0xcb, 0xd2,
+ 0x5f, 0xdd, 0x72, 0x03, 0x49, 0x8c, 0x84, 0x76, 0x15, 0x2a, 0x8c, 0xec, 0x1d, 0xb4, 0x73, 0x82,
+ 0xa1, 0xe6, 0x6c, 0x3d, 0x3d, 0x09, 0x92, 0xea, 0x51, 0x25, 0x33, 0xba, 0xfb, 0x0c, 0x5b, 0x67,
+ 0xe6, 0x53, 0x60, 0x0e, 0xb4, 0xc7, 0x52, 0x69, 0x17, 0x7d, 0x0c, 0x2e, 0xb1, 0x90, 0x1b, 0xc1,
+ 0x0d, 0x79, 0x89, 0x91, 0x7c, 0xf8, 0xa7, 0x01, 0x0d, 0x17, 0x05, 0x13, 0xf0, 0xe0, 0x4d, 0x10,
+ 0xcd, 0x46, 0x28, 0xf8, 0x45, 0xa8, 0x5f, 0xc6, 0x3c, 0xf2, 0xe7, 0x67, 0x7c, 0x81, 0xec, 0x09,
+ 0xd5, 0x57, 0x62, 0xba, 0xe5, 0xe9, 0x7f, 0xb2, 0x56, 0x8f, 0xeb, 0x2b, 0xb0, 0x24, 0xe5, 0x38,
+ 0x0c, 0x0b, 0xac, 0xd8, 0x81, 0x59, 0x5e, 0x66, 0x74, 0xc3, 0xe1, 0x75, 0x29, 0xc6, 0xdc, 0x3f,
+ 0x40, 0x27, 0xcf, 0x98, 0xf0, 0xf3, 0xcc, 0xde, 0x5b, 0x2b, 0x25, 0x40, 0xea, 0x7e, 0x2d, 0x37,
+ 0xbc, 0x0e, 0xb4, 0x13, 0xec, 0xa2, 0x48, 0xc7, 0x62, 0x9b, 0x35, 0x79, 0x70, 0x63, 0xe4, 0x25,
+ 0xb6, 0x1a, 0xc1, 0x17, 0xb8, 0x9f, 0x80, 0x53, 0xe9, 0xf3, 0xfc, 0x5f, 0xa0, 0x62, 0xfb, 0x66,
+ 0x4d, 0x09, 0x91, 0xf5, 0xe0, 0x9a, 0x0c, 0x63, 0x57, 0xfe, 0xde, 0x86, 0x96, 0x97, 0xbc, 0x92,
+ 0xce, 0x64, 0x32, 0x66, 0xef, 0x81, 0x9d, 0x44, 0x42, 0xba, 0x28, 0xd4, 0x74, 0x19, 0x4a, 0x3e,
+ 0x1b, 0x73, 0xff, 0x3b, 0x7b, 0x48, 0x2a, 0x62, 0x74, 0xc7, 0xee, 0x26, 0x30, 0x46, 0x70, 0x0a,
+ 0x3b, 0x45, 0x3c, 0x5d, 0xa4, 0x9b, 0xd8, 0xa6, 0xb0, 0x9d, 0xac, 0xa4, 0xd1, 0xd6, 0x9e, 0xb9,
+ 0xaa, 0x45, 0x9c, 0x74, 0xbd, 0x3a, 0x4c, 0xd2, 0x67, 0xd6, 0x91, 0xc5, 0x3e, 0x41, 0xc7, 0xd8,
+ 0xf4, 0xd4, 0xdb, 0xab, 0x78, 0x05, 0x4c, 0x71, 0xbf, 0x96, 0x9b, 0xe6, 0xe1, 0x6f, 0x0b, 0x1a,
+ 0x9e, 0xe7, 0x30, 0x17, 0xb6, 0x3c, 0xcf, 0x31, 0xfa, 0x7e, 0x4c, 0xf5, 0xa5, 0x30, 0xd9, 0xf7,
+ 0x6a, 0x68, 0xa9, 0xeb, 0x29, 0x6c, 0x7b, 0x9e, 0x63, 0x36, 0x6d, 0x96, 0x55, 0xf4, 0xdc, 0xab,
+ 0xc3, 0xa6, 0xf6, 0x5b, 0x33, 0xfd, 0x0e, 0xbf, 0xf8, 0x17, 0x00, 0x00, 0xff, 0xff, 0x79, 0x83,
+ 0xb6, 0xb0, 0x02, 0x06, 0x00, 0x00,
+}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/diff.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/diff.pb.go
index a4187de..a9a6231 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/diff.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/diff.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: diff.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -25,18 +25,12 @@ type CommitDiffRequest struct {
Paths [][]byte `protobuf:"bytes,5,rep,name=paths,proto3" json:"paths,omitempty"`
CollapseDiffs bool `protobuf:"varint,6,opt,name=collapse_diffs,json=collapseDiffs" json:"collapse_diffs,omitempty"`
EnforceLimits bool `protobuf:"varint,7,opt,name=enforce_limits,json=enforceLimits" json:"enforce_limits,omitempty"`
- // These limits are only enforced when enforce_limits == true.
- MaxFiles int32 `protobuf:"varint,8,opt,name=max_files,json=maxFiles" json:"max_files,omitempty"`
- MaxLines int32 `protobuf:"varint,9,opt,name=max_lines,json=maxLines" json:"max_lines,omitempty"`
- MaxBytes int32 `protobuf:"varint,10,opt,name=max_bytes,json=maxBytes" json:"max_bytes,omitempty"`
- // Limitation of a single diff patch,
- // patches surpassing this limit are pruned by default.
- // If this is 0 you will get back empty patches.
- MaxPatchBytes int32 `protobuf:"varint,14,opt,name=max_patch_bytes,json=maxPatchBytes" json:"max_patch_bytes,omitempty"`
- // These limits are only enforced if collapse_diffs == true.
- SafeMaxFiles int32 `protobuf:"varint,11,opt,name=safe_max_files,json=safeMaxFiles" json:"safe_max_files,omitempty"`
- SafeMaxLines int32 `protobuf:"varint,12,opt,name=safe_max_lines,json=safeMaxLines" json:"safe_max_lines,omitempty"`
- SafeMaxBytes int32 `protobuf:"varint,13,opt,name=safe_max_bytes,json=safeMaxBytes" json:"safe_max_bytes,omitempty"`
+ MaxFiles int32 `protobuf:"varint,8,opt,name=max_files,json=maxFiles" json:"max_files,omitempty"`
+ MaxLines int32 `protobuf:"varint,9,opt,name=max_lines,json=maxLines" json:"max_lines,omitempty"`
+ MaxBytes int32 `protobuf:"varint,10,opt,name=max_bytes,json=maxBytes" json:"max_bytes,omitempty"`
+ SafeMaxFiles int32 `protobuf:"varint,11,opt,name=safe_max_files,json=safeMaxFiles" json:"safe_max_files,omitempty"`
+ SafeMaxLines int32 `protobuf:"varint,12,opt,name=safe_max_lines,json=safeMaxLines" json:"safe_max_lines,omitempty"`
+ SafeMaxBytes int32 `protobuf:"varint,13,opt,name=safe_max_bytes,json=safeMaxBytes" json:"safe_max_bytes,omitempty"`
}
func (m *CommitDiffRequest) Reset() { *m = CommitDiffRequest{} }
@@ -114,13 +108,6 @@ func (m *CommitDiffRequest) GetMaxBytes() int32 {
return 0
}
-func (m *CommitDiffRequest) GetMaxPatchBytes() int32 {
- if m != nil {
- return m.MaxPatchBytes
- }
- return 0
-}
-
func (m *CommitDiffRequest) GetSafeMaxFiles() int32 {
if m != nil {
return m.SafeMaxFiles
@@ -157,12 +144,7 @@ type CommitDiffResponse struct {
// Indicates the diff file at which we overflow according to the limitations sent,
// in which case only this attribute will be set.
OverflowMarker bool `protobuf:"varint,11,opt,name=overflow_marker,json=overflowMarker" json:"overflow_marker,omitempty"`
- // Indicates the patch surpassed a "safe" limit and was therefore pruned, but
- // the client may still request the full patch on a separate request.
- Collapsed bool `protobuf:"varint,12,opt,name=collapsed" json:"collapsed,omitempty"`
- // Indicates the patch was pruned since it surpassed a hard limit, and can
- // therefore not be expanded.
- TooLarge bool `protobuf:"varint,13,opt,name=too_large,json=tooLarge" json:"too_large,omitempty"`
+ Collapsed bool `protobuf:"varint,12,opt,name=collapsed" json:"collapsed,omitempty"`
}
func (m *CommitDiffResponse) Reset() { *m = CommitDiffResponse{} }
@@ -247,13 +229,6 @@ func (m *CommitDiffResponse) GetCollapsed() bool {
return false
}
-func (m *CommitDiffResponse) GetTooLarge() bool {
- if m != nil {
- return m.TooLarge
- }
- return false
-}
-
type CommitDeltaRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
LeftCommitId string `protobuf:"bytes,2,opt,name=left_commit_id,json=leftCommitId" json:"left_commit_id,omitempty"`
@@ -1006,59 +981,57 @@ var _DiffService_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("diff.proto", fileDescriptor4) }
var fileDescriptor4 = []byte{
- // 864 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcb, 0x6e, 0x23, 0x45,
- 0x14, 0xa5, 0xe3, 0x47, 0xda, 0xd7, 0x1d, 0x27, 0xa9, 0xa0, 0x4c, 0xc7, 0xc3, 0xc2, 0x6a, 0xcd,
- 0xc3, 0x08, 0x29, 0x42, 0x61, 0xc3, 0x02, 0x21, 0x31, 0x13, 0x81, 0x32, 0x4a, 0xc4, 0xa8, 0x59,
- 0xb0, 0x60, 0xd1, 0xaa, 0xb8, 0xaa, 0xdd, 0x25, 0xba, 0xbb, 0x4c, 0x55, 0x11, 0x27, 0xbf, 0x01,
- 0x7c, 0x02, 0x12, 0x1b, 0xf6, 0xfc, 0x1a, 0x4b, 0x54, 0xb7, 0xfa, 0xe5, 0xc4, 0x9a, 0x4d, 0x58,
- 0x64, 0xe7, 0x7b, 0xce, 0xe9, 0x5b, 0xa7, 0xee, 0xa3, 0x12, 0x00, 0x26, 0xd2, 0xf4, 0x74, 0xa5,
- 0xa4, 0x91, 0x64, 0xb8, 0x14, 0x86, 0xe6, 0x77, 0xd3, 0x40, 0x67, 0x54, 0x71, 0xe6, 0xd0, 0xe8,
- 0xcf, 0x3e, 0x1c, 0xbe, 0x95, 0x45, 0x21, 0xcc, 0xb9, 0x48, 0xd3, 0x98, 0xff, 0xf2, 0x2b, 0xd7,
- 0x86, 0x9c, 0x01, 0x28, 0xbe, 0x92, 0x5a, 0x18, 0xa9, 0xee, 0x42, 0x6f, 0xe6, 0xcd, 0xc7, 0x67,
- 0xe4, 0xd4, 0x25, 0x38, 0x8d, 0x1b, 0x26, 0xee, 0xa8, 0xc8, 0x0b, 0x98, 0xe4, 0x3c, 0x35, 0xc9,
- 0x02, 0xb3, 0x25, 0x82, 0x85, 0x3b, 0x33, 0x6f, 0x3e, 0x8a, 0x03, 0x8b, 0xba, 0x23, 0x2e, 0x18,
- 0x79, 0x05, 0xfb, 0x4a, 0x2c, 0xb3, 0xae, 0xac, 0x87, 0xb2, 0x3d, 0x84, 0x1b, 0xdd, 0x97, 0x10,
- 0x8a, 0x65, 0x29, 0x15, 0x4f, 0xd6, 0x99, 0x30, 0x5c, 0xaf, 0xe8, 0x82, 0x27, 0x8b, 0x8c, 0x96,
- 0x4b, 0x1e, 0xf6, 0x67, 0xde, 0xdc, 0x8f, 0x8f, 0x1d, 0xff, 0x63, 0x43, 0xbf, 0x45, 0x96, 0x7c,
- 0x0c, 0x83, 0x15, 0x35, 0x99, 0x0e, 0x07, 0xb3, 0xde, 0x3c, 0x88, 0x5d, 0x40, 0x5e, 0xc2, 0x64,
- 0x21, 0xf3, 0x9c, 0xae, 0x34, 0x4f, 0x6c, 0x51, 0x74, 0x38, 0xc4, 0x2c, 0x7b, 0x35, 0x6a, 0xaf,
- 0x8f, 0x32, 0x5e, 0xa6, 0x52, 0x2d, 0x78, 0x92, 0x8b, 0x42, 0x18, 0x1d, 0xee, 0x3a, 0x59, 0x85,
- 0x5e, 0x22, 0x48, 0x9e, 0xc3, 0xa8, 0xa0, 0xb7, 0x49, 0x2a, 0x72, 0xae, 0x43, 0x7f, 0xe6, 0xcd,
- 0x07, 0xb1, 0x5f, 0xd0, 0xdb, 0x6f, 0x6d, 0x5c, 0x93, 0xb9, 0x28, 0xb9, 0x0e, 0x47, 0x0d, 0x79,
- 0x69, 0xe3, 0x9a, 0xbc, 0xbe, 0x33, 0x5c, 0x87, 0xd0, 0x90, 0x6f, 0x6c, 0x6c, 0x8b, 0x63, 0xc9,
- 0x15, 0x35, 0x8b, 0xac, 0x92, 0x4c, 0x50, 0xb2, 0x57, 0xd0, 0xdb, 0xf7, 0x16, 0x75, 0xba, 0x17,
- 0x30, 0xd1, 0x34, 0xe5, 0x49, 0xeb, 0x61, 0x8c, 0xb2, 0xc0, 0xa2, 0x57, 0xb5, 0x8f, 0xae, 0xca,
- 0x99, 0x09, 0x36, 0x54, 0xce, 0x50, 0x57, 0xe5, 0x8e, 0xdc, 0xdb, 0x50, 0xe1, 0x89, 0xd1, 0xbf,
- 0x3b, 0x40, 0xba, 0x63, 0xa2, 0x57, 0xb2, 0xd4, 0xdc, 0xde, 0x26, 0x55, 0xb2, 0xb0, 0x8e, 0x33,
- 0x1c, 0x93, 0x20, 0xf6, 0x2d, 0xf0, 0x9e, 0x9a, 0x8c, 0x3c, 0x83, 0x5d, 0x23, 0x1d, 0xb5, 0x83,
- 0xd4, 0xd0, 0xc8, 0x9a, 0xc0, 0xaf, 0x9a, 0xde, 0x0f, 0x6d, 0x78, 0xc1, 0xc8, 0x11, 0x0c, 0x8c,
- 0xb4, 0x70, 0x1f, 0xe1, 0xbe, 0x91, 0x17, 0x8c, 0x9c, 0x80, 0x2f, 0x73, 0x96, 0x14, 0x92, 0xf1,
- 0x70, 0x80, 0xd6, 0x76, 0x65, 0xce, 0xae, 0x24, 0xe3, 0x96, 0x2a, 0xf9, 0xda, 0x51, 0x43, 0x47,
- 0x95, 0x7c, 0x8d, 0xd4, 0x31, 0x0c, 0xaf, 0x45, 0x49, 0xd5, 0x5d, 0xd5, 0xc0, 0x2a, 0xb2, 0xd7,
- 0x55, 0x74, 0x5d, 0x95, 0x98, 0x51, 0x43, 0xb1, 0x43, 0x41, 0x1c, 0x28, 0xba, 0xc6, 0x0a, 0x9f,
- 0x53, 0x43, 0xc9, 0x0c, 0x02, 0x5e, 0xb2, 0x44, 0xa6, 0x4e, 0x88, 0x8d, 0xf2, 0x63, 0xe0, 0x25,
- 0xfb, 0x3e, 0x45, 0x15, 0x79, 0x0d, 0xfb, 0xf2, 0x86, 0xab, 0x34, 0x97, 0xeb, 0xa4, 0xa0, 0xea,
- 0x67, 0xae, 0xb0, 0x07, 0x7e, 0x3c, 0xa9, 0xe1, 0x2b, 0x44, 0xc9, 0x27, 0x30, 0xaa, 0x47, 0x8c,
- 0x61, 0x03, 0xfc, 0xb8, 0x05, 0x6c, 0x01, 0x8d, 0x94, 0x49, 0x4e, 0xd5, 0x92, 0x63, 0xe1, 0xfd,
- 0xd8, 0x37, 0x52, 0x5e, 0xda, 0xf8, 0x5d, 0xdf, 0xf7, 0x0f, 0x46, 0xd1, 0xdf, 0x5e, 0x53, 0x7a,
- 0x9e, 0x1b, 0xfa, 0x74, 0x56, 0xb4, 0x59, 0xb4, 0x7e, 0x67, 0xd1, 0xa2, 0xbf, 0x3c, 0x18, 0x77,
- 0xec, 0x3e, 0xdd, 0x11, 0x89, 0xde, 0xc0, 0xd1, 0x46, 0x5d, 0xab, 0x99, 0xfe, 0x0c, 0x86, 0xcc,
- 0x02, 0x3a, 0xf4, 0x66, 0xbd, 0xf9, 0xf8, 0xec, 0xa8, 0x2e, 0x6a, 0x57, 0x5c, 0x49, 0x22, 0x56,
- 0xf7, 0x06, 0xa7, 0xe2, 0x31, 0xbd, 0x99, 0x82, 0xaf, 0xf8, 0x8d, 0xd0, 0x42, 0x96, 0x55, 0x2d,
- 0x9a, 0x38, 0xfa, 0xb4, 0x76, 0x5a, 0x9d, 0x52, 0x39, 0x25, 0xd0, 0xc7, 0x09, 0x76, 0x55, 0xc5,
- 0xdf, 0xd1, 0x6f, 0x1e, 0x4c, 0x62, 0xba, 0x7e, 0x52, 0x8f, 0x79, 0xf4, 0x12, 0xf6, 0x1b, 0x4f,
- 0x1f, 0xf0, 0xfe, 0xbb, 0x87, 0xba, 0x47, 0x97, 0xf2, 0xff, 0x35, 0xff, 0x0a, 0x0e, 0x5a, 0x53,
- 0x1f, 0x70, 0xff, 0x87, 0x07, 0x07, 0xf6, 0x8a, 0x3f, 0x18, 0x6a, 0xf4, 0xd3, 0xb1, 0xff, 0x13,
- 0x8c, 0x1a, 0x57, 0xd6, 0x77, 0x67, 0x0f, 0xf1, 0xb7, 0x7d, 0xa0, 0x28, 0x63, 0xc2, 0x08, 0x59,
- 0x6a, 0x3c, 0x69, 0x10, 0xb7, 0x80, 0x65, 0x19, 0xcf, 0xb9, 0x63, 0x7b, 0x8e, 0x6d, 0x80, 0xe8,
- 0x2b, 0x38, 0xec, 0x5c, 0xb9, 0x2a, 0xce, 0x6b, 0x18, 0x68, 0x0b, 0x54, 0xfb, 0x73, 0x58, 0x5f,
- 0xb7, 0x55, 0x3a, 0xfe, 0xec, 0x9f, 0x1e, 0x8c, 0x11, 0xe4, 0xea, 0x46, 0x2c, 0x38, 0xf9, 0x0e,
- 0xa0, 0xfd, 0x1b, 0x43, 0x4e, 0xee, 0xed, 0x5d, 0x3b, 0xd1, 0xd3, 0xe9, 0x36, 0xca, 0x9d, 0x1e,
- 0x7d, 0xf4, 0xb9, 0x47, 0xde, 0x6d, 0x3e, 0x41, 0xd3, 0x6d, 0x1b, 0x5c, 0xa5, 0x7a, 0xbe, 0x95,
- 0xdb, 0x96, 0xcb, 0xbd, 0xfb, 0xf7, 0x72, 0x75, 0x67, 0xf5, 0x7e, 0xae, 0x8d, 0x91, 0xc1, 0x5c,
- 0x5f, 0xc3, 0x6e, 0xb5, 0x07, 0xe4, 0xb8, 0x19, 0x82, 0x8d, 0x65, 0x9d, 0x3e, 0x7b, 0x80, 0x77,
- 0xbe, 0xff, 0x06, 0xfc, 0x7a, 0x14, 0x49, 0x57, 0xb8, 0xe1, 0x22, 0x7c, 0x48, 0x74, 0x52, 0x9c,
- 0x77, 0xc7, 0x21, 0x7c, 0xd8, 0x9a, 0x2a, 0xc9, 0xc9, 0x16, 0xa6, 0xcd, 0x72, 0x3d, 0xc4, 0x7f,
- 0x1e, 0xbf, 0xf8, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xbb, 0xf5, 0x8b, 0xe3, 0x60, 0x0a, 0x00, 0x00,
+ // 831 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcd, 0x6e, 0x33, 0x35,
+ 0x14, 0x65, 0x9a, 0x64, 0x32, 0xb9, 0x99, 0xa6, 0xad, 0x8b, 0xfa, 0x4d, 0xf3, 0xb1, 0x88, 0x46,
+ 0xb4, 0x0d, 0x42, 0xaa, 0x50, 0xd8, 0xb0, 0x40, 0x48, 0xb4, 0x15, 0xa8, 0x55, 0x2b, 0xaa, 0x61,
+ 0xc1, 0x82, 0xc5, 0xc8, 0x8d, 0x3d, 0x89, 0xc5, 0xcc, 0x38, 0xd8, 0xa6, 0x69, 0x5e, 0x03, 0x78,
+ 0x07, 0x36, 0xec, 0x79, 0x18, 0x5e, 0x85, 0x05, 0xb2, 0x3d, 0x7f, 0x69, 0xa3, 0x6e, 0xfa, 0x2d,
+ 0xb2, 0x8b, 0xcf, 0x39, 0x73, 0xef, 0xf1, 0xfd, 0x71, 0x0b, 0x40, 0x58, 0x92, 0x9c, 0x2f, 0x04,
+ 0x57, 0x1c, 0xb9, 0x33, 0xa6, 0x70, 0xba, 0x1a, 0xfa, 0x72, 0x8e, 0x05, 0x25, 0x16, 0x0d, 0xff,
+ 0x6b, 0xc1, 0xc1, 0x25, 0xcf, 0x32, 0xa6, 0xae, 0x58, 0x92, 0x44, 0xf4, 0xd7, 0xdf, 0xa8, 0x54,
+ 0x68, 0x02, 0x20, 0xe8, 0x82, 0x4b, 0xa6, 0xb8, 0x58, 0x05, 0xce, 0xc8, 0x19, 0xf7, 0x27, 0xe8,
+ 0xdc, 0x06, 0x38, 0x8f, 0x2a, 0x26, 0x6a, 0xa8, 0xd0, 0xa7, 0x30, 0x48, 0x69, 0xa2, 0xe2, 0xa9,
+ 0x89, 0x16, 0x33, 0x12, 0xec, 0x8c, 0x9c, 0x71, 0x2f, 0xf2, 0x35, 0x6a, 0x53, 0x5c, 0x13, 0x74,
+ 0x0a, 0x7b, 0x82, 0xcd, 0xe6, 0x4d, 0x59, 0xcb, 0xc8, 0x76, 0x0d, 0x5c, 0xe9, 0xbe, 0x82, 0x80,
+ 0xcd, 0x72, 0x2e, 0x68, 0xbc, 0x9c, 0x33, 0x45, 0xe5, 0x02, 0x4f, 0x69, 0x3c, 0x9d, 0xe3, 0x7c,
+ 0x46, 0x83, 0xf6, 0xc8, 0x19, 0x7b, 0xd1, 0x91, 0xe5, 0x7f, 0xaa, 0xe8, 0x4b, 0xc3, 0xa2, 0x8f,
+ 0xa1, 0xb3, 0xc0, 0x6a, 0x2e, 0x83, 0xce, 0xa8, 0x35, 0xf6, 0x23, 0x7b, 0x40, 0x27, 0x30, 0x98,
+ 0xf2, 0x34, 0xc5, 0x0b, 0x49, 0x63, 0x5d, 0x14, 0x19, 0xb8, 0x26, 0xca, 0x6e, 0x89, 0xea, 0xeb,
+ 0x1b, 0x19, 0xcd, 0x13, 0x2e, 0xa6, 0x34, 0x4e, 0x59, 0xc6, 0x94, 0x0c, 0xba, 0x56, 0x56, 0xa0,
+ 0xb7, 0x06, 0x44, 0xef, 0xa1, 0x97, 0xe1, 0xa7, 0x38, 0x61, 0x29, 0x95, 0x81, 0x37, 0x72, 0xc6,
+ 0x9d, 0xc8, 0xcb, 0xf0, 0xd3, 0x77, 0xfa, 0x5c, 0x92, 0x29, 0xcb, 0xa9, 0x0c, 0x7a, 0x15, 0x79,
+ 0xab, 0xcf, 0x25, 0xf9, 0xb0, 0x52, 0x54, 0x06, 0x50, 0x91, 0x17, 0xfa, 0xac, 0x4b, 0x28, 0x71,
+ 0x42, 0xe3, 0x3a, 0x76, 0xdf, 0x28, 0x7c, 0x8d, 0xde, 0x95, 0xf1, 0x9b, 0x2a, 0x9b, 0xc4, 0x5f,
+ 0x53, 0xd9, 0x44, 0x4d, 0x95, 0xcd, 0xb6, 0xbb, 0xa6, 0x32, 0x19, 0xc3, 0x7f, 0x77, 0x00, 0x35,
+ 0xdb, 0x2f, 0x17, 0x3c, 0x97, 0x54, 0xbb, 0x4c, 0x04, 0xcf, 0x62, 0x5d, 0x3b, 0xd3, 0x7e, 0x3f,
+ 0xf2, 0x34, 0x70, 0x8f, 0xd5, 0x1c, 0xbd, 0x83, 0xae, 0xe2, 0x96, 0xda, 0x31, 0x94, 0xab, 0x78,
+ 0x49, 0x98, 0xaf, 0xaa, 0x9e, 0xba, 0xfa, 0x78, 0x4d, 0xd0, 0x21, 0x74, 0x14, 0xd7, 0x70, 0xdb,
+ 0xc0, 0x6d, 0xc5, 0xaf, 0x09, 0x3a, 0x06, 0x8f, 0xa7, 0x24, 0xce, 0x38, 0xa1, 0x41, 0xc7, 0x58,
+ 0xeb, 0xf2, 0x94, 0xdc, 0x71, 0x42, 0x35, 0x95, 0xd3, 0xa5, 0xa5, 0x5c, 0x4b, 0xe5, 0x74, 0x69,
+ 0xa8, 0x23, 0x70, 0x1f, 0x58, 0x8e, 0xc5, 0xaa, 0x68, 0x4c, 0x71, 0xd2, 0xd7, 0x15, 0x78, 0xa9,
+ 0x5d, 0x4d, 0xe7, 0x31, 0xc1, 0x0a, 0x9b, 0xca, 0xfb, 0x91, 0x2f, 0xf0, 0xf2, 0x5e, 0x83, 0x57,
+ 0x58, 0x61, 0x34, 0x02, 0x9f, 0xe6, 0x24, 0xe6, 0x89, 0x15, 0x9a, 0x06, 0x78, 0x11, 0xd0, 0x9c,
+ 0xfc, 0x90, 0x18, 0x15, 0x3a, 0x83, 0x3d, 0xfe, 0x48, 0x45, 0x92, 0xf2, 0x65, 0x9c, 0x61, 0xf1,
+ 0x0b, 0x15, 0xa6, 0x07, 0x5e, 0x34, 0x28, 0xe1, 0x3b, 0x83, 0xa2, 0x4f, 0xa0, 0x57, 0x8e, 0x0e,
+ 0x31, 0x0d, 0xf0, 0xa2, 0x1a, 0xb8, 0x69, 0x7b, 0xde, 0x7e, 0x2f, 0xfc, 0xdb, 0xa9, 0xaa, 0x4b,
+ 0x53, 0x85, 0xb7, 0x67, 0xbb, 0xaa, 0x1d, 0x69, 0x37, 0x76, 0x24, 0xfc, 0xcb, 0x81, 0x7e, 0xc3,
+ 0xee, 0xf6, 0x4e, 0x41, 0x78, 0x01, 0x87, 0x6b, 0x75, 0x2d, 0xc6, 0xf6, 0x73, 0x70, 0x89, 0x06,
+ 0x64, 0xe0, 0x8c, 0x5a, 0xe3, 0xfe, 0xe4, 0xb0, 0x2c, 0x6a, 0x53, 0x5c, 0x48, 0x42, 0x52, 0xf6,
+ 0xc6, 0x34, 0xfe, 0x2d, 0xbd, 0x19, 0x82, 0x27, 0xe8, 0x23, 0x93, 0x8c, 0xe7, 0x45, 0x2d, 0xaa,
+ 0x73, 0xf8, 0x59, 0xe9, 0xb4, 0xc8, 0x52, 0x38, 0x45, 0xd0, 0x36, 0x43, 0x6a, 0xab, 0x6a, 0x7e,
+ 0x87, 0xbf, 0x3b, 0x30, 0x88, 0xf0, 0x72, 0xab, 0xde, 0xe1, 0xf0, 0x04, 0xf6, 0x2a, 0x4f, 0xaf,
+ 0x78, 0xff, 0xc3, 0x31, 0xba, 0x37, 0x97, 0xf2, 0xc3, 0x9a, 0x3f, 0x85, 0xfd, 0xda, 0xd4, 0x2b,
+ 0xee, 0xff, 0x74, 0x60, 0x5f, 0x5f, 0xf1, 0x47, 0x85, 0x95, 0xdc, 0x1e, 0xfb, 0x3f, 0x43, 0xaf,
+ 0x72, 0xa5, 0x7d, 0x37, 0xf6, 0xd0, 0xfc, 0xd6, 0x6f, 0x10, 0x26, 0x84, 0x29, 0xc6, 0x73, 0x69,
+ 0x32, 0x75, 0xa2, 0x1a, 0xd0, 0x2c, 0xa1, 0x29, 0xb5, 0x6c, 0xcb, 0xb2, 0x15, 0x10, 0x7e, 0x0d,
+ 0x07, 0x8d, 0x2b, 0x17, 0xc5, 0x39, 0x83, 0x8e, 0xd4, 0x40, 0xb1, 0x3f, 0x07, 0xe5, 0x75, 0x6b,
+ 0xa5, 0xe5, 0x27, 0xff, 0xb4, 0xa0, 0x6f, 0x40, 0x2a, 0x1e, 0xd9, 0x94, 0xa2, 0xef, 0x01, 0xea,
+ 0x3f, 0x23, 0xe8, 0xf8, 0xd9, 0xde, 0xd5, 0x13, 0x3d, 0x1c, 0x6e, 0xa2, 0x6c, 0xf6, 0xf0, 0xa3,
+ 0x2f, 0x1c, 0x74, 0xb3, 0xfe, 0x04, 0x0d, 0x37, 0x6d, 0x70, 0x11, 0xea, 0xfd, 0x46, 0x6e, 0x53,
+ 0x2c, 0xfb, 0xb4, 0x3f, 0x8b, 0xd5, 0x9c, 0xd5, 0xe7, 0xb1, 0xd6, 0x46, 0xc6, 0xc4, 0xfa, 0x06,
+ 0xba, 0xc5, 0x1e, 0xa0, 0xa3, 0x6a, 0x08, 0xd6, 0x96, 0x75, 0xf8, 0xee, 0x05, 0xde, 0xf8, 0xfe,
+ 0x5b, 0xf0, 0xca, 0x51, 0x44, 0x4d, 0xe1, 0x9a, 0x8b, 0xe0, 0x25, 0xd1, 0x08, 0x71, 0xd5, 0x1c,
+ 0x87, 0xe0, 0x65, 0x6b, 0x8a, 0x20, 0xc7, 0x1b, 0x98, 0x3a, 0xca, 0x83, 0x6b, 0xfe, 0xef, 0xfb,
+ 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5d, 0xc8, 0xdc, 0x4e, 0x1b, 0x0a, 0x00, 0x00,
}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/cleanup.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/cleanup.pb.go
deleted file mode 100644
index 1a6de95..0000000
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/cleanup.pb.go
+++ /dev/null
@@ -1,183 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: cleanup.proto
-
-package gitalypb
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
-import (
- context "golang.org/x/net/context"
- grpc "google.golang.org/grpc"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-type ApplyBfgObjectMapRequest struct {
- Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
- // A raw object-map file as generated by BFG: https://rtyley.github.io/bfg-repo-cleaner
- // Each line in the file has two object SHAs, space-separated - the original
- // SHA of the object, and the SHA after BFG has rewritten the object.
- ObjectMap []byte `protobuf:"bytes,2,opt,name=object_map,json=objectMap,proto3" json:"object_map,omitempty"`
-}
-
-func (m *ApplyBfgObjectMapRequest) Reset() { *m = ApplyBfgObjectMapRequest{} }
-func (m *ApplyBfgObjectMapRequest) String() string { return proto.CompactTextString(m) }
-func (*ApplyBfgObjectMapRequest) ProtoMessage() {}
-func (*ApplyBfgObjectMapRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
-
-func (m *ApplyBfgObjectMapRequest) GetRepository() *Repository {
- if m != nil {
- return m.Repository
- }
- return nil
-}
-
-func (m *ApplyBfgObjectMapRequest) GetObjectMap() []byte {
- if m != nil {
- return m.ObjectMap
- }
- return nil
-}
-
-type ApplyBfgObjectMapResponse struct {
-}
-
-func (m *ApplyBfgObjectMapResponse) Reset() { *m = ApplyBfgObjectMapResponse{} }
-func (m *ApplyBfgObjectMapResponse) String() string { return proto.CompactTextString(m) }
-func (*ApplyBfgObjectMapResponse) ProtoMessage() {}
-func (*ApplyBfgObjectMapResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
-
-func init() {
- proto.RegisterType((*ApplyBfgObjectMapRequest)(nil), "gitaly.ApplyBfgObjectMapRequest")
- proto.RegisterType((*ApplyBfgObjectMapResponse)(nil), "gitaly.ApplyBfgObjectMapResponse")
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// 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.SupportPackageIsVersion4
-
-// Client API for CleanupService service
-
-type CleanupServiceClient interface {
- ApplyBfgObjectMap(ctx context.Context, opts ...grpc.CallOption) (CleanupService_ApplyBfgObjectMapClient, error)
-}
-
-type cleanupServiceClient struct {
- cc *grpc.ClientConn
-}
-
-func NewCleanupServiceClient(cc *grpc.ClientConn) CleanupServiceClient {
- return &cleanupServiceClient{cc}
-}
-
-func (c *cleanupServiceClient) ApplyBfgObjectMap(ctx context.Context, opts ...grpc.CallOption) (CleanupService_ApplyBfgObjectMapClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_CleanupService_serviceDesc.Streams[0], c.cc, "/gitaly.CleanupService/ApplyBfgObjectMap", opts...)
- if err != nil {
- return nil, err
- }
- x := &cleanupServiceApplyBfgObjectMapClient{stream}
- return x, nil
-}
-
-type CleanupService_ApplyBfgObjectMapClient interface {
- Send(*ApplyBfgObjectMapRequest) error
- CloseAndRecv() (*ApplyBfgObjectMapResponse, error)
- grpc.ClientStream
-}
-
-type cleanupServiceApplyBfgObjectMapClient struct {
- grpc.ClientStream
-}
-
-func (x *cleanupServiceApplyBfgObjectMapClient) Send(m *ApplyBfgObjectMapRequest) error {
- return x.ClientStream.SendMsg(m)
-}
-
-func (x *cleanupServiceApplyBfgObjectMapClient) CloseAndRecv() (*ApplyBfgObjectMapResponse, error) {
- if err := x.ClientStream.CloseSend(); err != nil {
- return nil, err
- }
- m := new(ApplyBfgObjectMapResponse)
- if err := x.ClientStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
-}
-
-// Server API for CleanupService service
-
-type CleanupServiceServer interface {
- ApplyBfgObjectMap(CleanupService_ApplyBfgObjectMapServer) error
-}
-
-func RegisterCleanupServiceServer(s *grpc.Server, srv CleanupServiceServer) {
- s.RegisterService(&_CleanupService_serviceDesc, srv)
-}
-
-func _CleanupService_ApplyBfgObjectMap_Handler(srv interface{}, stream grpc.ServerStream) error {
- return srv.(CleanupServiceServer).ApplyBfgObjectMap(&cleanupServiceApplyBfgObjectMapServer{stream})
-}
-
-type CleanupService_ApplyBfgObjectMapServer interface {
- SendAndClose(*ApplyBfgObjectMapResponse) error
- Recv() (*ApplyBfgObjectMapRequest, error)
- grpc.ServerStream
-}
-
-type cleanupServiceApplyBfgObjectMapServer struct {
- grpc.ServerStream
-}
-
-func (x *cleanupServiceApplyBfgObjectMapServer) SendAndClose(m *ApplyBfgObjectMapResponse) error {
- return x.ServerStream.SendMsg(m)
-}
-
-func (x *cleanupServiceApplyBfgObjectMapServer) Recv() (*ApplyBfgObjectMapRequest, error) {
- m := new(ApplyBfgObjectMapRequest)
- if err := x.ServerStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
-}
-
-var _CleanupService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "gitaly.CleanupService",
- HandlerType: (*CleanupServiceServer)(nil),
- Methods: []grpc.MethodDesc{},
- Streams: []grpc.StreamDesc{
- {
- StreamName: "ApplyBfgObjectMap",
- Handler: _CleanupService_ApplyBfgObjectMap_Handler,
- ClientStreams: true,
- },
- },
- Metadata: "cleanup.proto",
-}
-
-func init() { proto.RegisterFile("cleanup.proto", fileDescriptor1) }
-
-var fileDescriptor1 = []byte{
- // 195 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4d, 0xce, 0x49, 0x4d,
- 0xcc, 0x2b, 0x2d, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x4b, 0xcf, 0x2c, 0x49, 0xcc,
- 0xa9, 0x94, 0xe2, 0x29, 0xce, 0x48, 0x2c, 0x4a, 0x4d, 0x81, 0x88, 0x2a, 0xe5, 0x72, 0x49, 0x38,
- 0x16, 0x14, 0xe4, 0x54, 0x3a, 0xa5, 0xa5, 0xfb, 0x27, 0x65, 0xa5, 0x26, 0x97, 0xf8, 0x26, 0x16,
- 0x04, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, 0x08, 0x19, 0x71, 0x71, 0x15, 0xa5, 0x16, 0xe4, 0x17,
- 0x67, 0x96, 0xe4, 0x17, 0x55, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x1b, 0x09, 0xe9, 0x41, 0x8c,
- 0xd1, 0x0b, 0x82, 0xcb, 0x04, 0x21, 0xa9, 0x12, 0x92, 0xe5, 0xe2, 0xca, 0x07, 0x9b, 0x13, 0x9f,
- 0x9b, 0x58, 0x20, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x13, 0xc4, 0x99, 0x0f, 0x33, 0x59, 0x49, 0x9a,
- 0x4b, 0x12, 0x8b, 0x75, 0xc5, 0x05, 0xf9, 0x79, 0xc5, 0xa9, 0x46, 0x79, 0x5c, 0x7c, 0xce, 0x10,
- 0x27, 0x07, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x0a, 0xc5, 0x70, 0x09, 0x62, 0x28, 0x17, 0x52,
- 0x80, 0x39, 0x01, 0x97, 0xc3, 0xa5, 0x14, 0xf1, 0xa8, 0x80, 0xd8, 0xa5, 0xc4, 0xa0, 0xc1, 0x98,
- 0xc4, 0x06, 0x0e, 0x02, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9b, 0x2a, 0x94, 0xb4, 0x29,
- 0x01, 0x00, 0x00,
-}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/objectpool.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/objectpool.pb.go
deleted file mode 100644
index e48d315..0000000
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/objectpool.pb.go
+++ /dev/null
@@ -1,374 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: objectpool.proto
-
-package gitalypb
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
-import (
- context "golang.org/x/net/context"
- grpc "google.golang.org/grpc"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-type ObjectPool struct {
- Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
-}
-
-func (m *ObjectPool) Reset() { *m = ObjectPool{} }
-func (m *ObjectPool) String() string { return proto.CompactTextString(m) }
-func (*ObjectPool) ProtoMessage() {}
-func (*ObjectPool) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }
-
-func (m *ObjectPool) GetRepository() *Repository {
- if m != nil {
- return m.Repository
- }
- return nil
-}
-
-// Creates an object pool from the repository. The client is responsible for
-// joining this pool later with this repository.
-type CreateObjectPoolRequest struct {
- ObjectPool *ObjectPool `protobuf:"bytes,1,opt,name=object_pool,json=objectPool" json:"object_pool,omitempty"`
- Origin *Repository `protobuf:"bytes,2,opt,name=origin" json:"origin,omitempty"`
-}
-
-func (m *CreateObjectPoolRequest) Reset() { *m = CreateObjectPoolRequest{} }
-func (m *CreateObjectPoolRequest) String() string { return proto.CompactTextString(m) }
-func (*CreateObjectPoolRequest) ProtoMessage() {}
-func (*CreateObjectPoolRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{1} }
-
-func (m *CreateObjectPoolRequest) GetObjectPool() *ObjectPool {
- if m != nil {
- return m.ObjectPool
- }
- return nil
-}
-
-func (m *CreateObjectPoolRequest) GetOrigin() *Repository {
- if m != nil {
- return m.Origin
- }
- return nil
-}
-
-type CreateObjectPoolResponse struct {
-}
-
-func (m *CreateObjectPoolResponse) Reset() { *m = CreateObjectPoolResponse{} }
-func (m *CreateObjectPoolResponse) String() string { return proto.CompactTextString(m) }
-func (*CreateObjectPoolResponse) ProtoMessage() {}
-func (*CreateObjectPoolResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{2} }
-
-// Removes the directory from disk, caller is responsible for leaving the object
-// pool before calling this RPC
-type DeleteObjectPoolRequest struct {
- ObjectPool *ObjectPool `protobuf:"bytes,1,opt,name=object_pool,json=objectPool" json:"object_pool,omitempty"`
-}
-
-func (m *DeleteObjectPoolRequest) Reset() { *m = DeleteObjectPoolRequest{} }
-func (m *DeleteObjectPoolRequest) String() string { return proto.CompactTextString(m) }
-func (*DeleteObjectPoolRequest) ProtoMessage() {}
-func (*DeleteObjectPoolRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{3} }
-
-func (m *DeleteObjectPoolRequest) GetObjectPool() *ObjectPool {
- if m != nil {
- return m.ObjectPool
- }
- return nil
-}
-
-type DeleteObjectPoolResponse struct {
-}
-
-func (m *DeleteObjectPoolResponse) Reset() { *m = DeleteObjectPoolResponse{} }
-func (m *DeleteObjectPoolResponse) String() string { return proto.CompactTextString(m) }
-func (*DeleteObjectPoolResponse) ProtoMessage() {}
-func (*DeleteObjectPoolResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{4} }
-
-type LinkRepositoryToObjectPoolRequest struct {
- ObjectPool *ObjectPool `protobuf:"bytes,1,opt,name=object_pool,json=objectPool" json:"object_pool,omitempty"`
- Repository *Repository `protobuf:"bytes,2,opt,name=repository" json:"repository,omitempty"`
-}
-
-func (m *LinkRepositoryToObjectPoolRequest) Reset() { *m = LinkRepositoryToObjectPoolRequest{} }
-func (m *LinkRepositoryToObjectPoolRequest) String() string { return proto.CompactTextString(m) }
-func (*LinkRepositoryToObjectPoolRequest) ProtoMessage() {}
-func (*LinkRepositoryToObjectPoolRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor7, []int{5}
-}
-
-func (m *LinkRepositoryToObjectPoolRequest) GetObjectPool() *ObjectPool {
- if m != nil {
- return m.ObjectPool
- }
- return nil
-}
-
-func (m *LinkRepositoryToObjectPoolRequest) GetRepository() *Repository {
- if m != nil {
- return m.Repository
- }
- return nil
-}
-
-type LinkRepositoryToObjectPoolResponse struct {
-}
-
-func (m *LinkRepositoryToObjectPoolResponse) Reset() { *m = LinkRepositoryToObjectPoolResponse{} }
-func (m *LinkRepositoryToObjectPoolResponse) String() string { return proto.CompactTextString(m) }
-func (*LinkRepositoryToObjectPoolResponse) ProtoMessage() {}
-func (*LinkRepositoryToObjectPoolResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor7, []int{6}
-}
-
-// This RPC doesn't require the ObjectPool as it will remove the alternates file
-// from the pool participant. The caller is responsible no data loss occurs.
-type UnlinkRepositoryFromObjectPoolRequest struct {
- Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
-}
-
-func (m *UnlinkRepositoryFromObjectPoolRequest) Reset() { *m = UnlinkRepositoryFromObjectPoolRequest{} }
-func (m *UnlinkRepositoryFromObjectPoolRequest) String() string { return proto.CompactTextString(m) }
-func (*UnlinkRepositoryFromObjectPoolRequest) ProtoMessage() {}
-func (*UnlinkRepositoryFromObjectPoolRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor7, []int{7}
-}
-
-func (m *UnlinkRepositoryFromObjectPoolRequest) GetRepository() *Repository {
- if m != nil {
- return m.Repository
- }
- return nil
-}
-
-type UnlinkRepositoryFromObjectPoolResponse struct {
-}
-
-func (m *UnlinkRepositoryFromObjectPoolResponse) Reset() {
- *m = UnlinkRepositoryFromObjectPoolResponse{}
-}
-func (m *UnlinkRepositoryFromObjectPoolResponse) String() string { return proto.CompactTextString(m) }
-func (*UnlinkRepositoryFromObjectPoolResponse) ProtoMessage() {}
-func (*UnlinkRepositoryFromObjectPoolResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor7, []int{8}
-}
-
-func init() {
- proto.RegisterType((*ObjectPool)(nil), "gitaly.ObjectPool")
- proto.RegisterType((*CreateObjectPoolRequest)(nil), "gitaly.CreateObjectPoolRequest")
- proto.RegisterType((*CreateObjectPoolResponse)(nil), "gitaly.CreateObjectPoolResponse")
- proto.RegisterType((*DeleteObjectPoolRequest)(nil), "gitaly.DeleteObjectPoolRequest")
- proto.RegisterType((*DeleteObjectPoolResponse)(nil), "gitaly.DeleteObjectPoolResponse")
- proto.RegisterType((*LinkRepositoryToObjectPoolRequest)(nil), "gitaly.LinkRepositoryToObjectPoolRequest")
- proto.RegisterType((*LinkRepositoryToObjectPoolResponse)(nil), "gitaly.LinkRepositoryToObjectPoolResponse")
- proto.RegisterType((*UnlinkRepositoryFromObjectPoolRequest)(nil), "gitaly.UnlinkRepositoryFromObjectPoolRequest")
- proto.RegisterType((*UnlinkRepositoryFromObjectPoolResponse)(nil), "gitaly.UnlinkRepositoryFromObjectPoolResponse")
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// 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.SupportPackageIsVersion4
-
-// Client API for ObjectPoolService service
-
-type ObjectPoolServiceClient interface {
- CreateObjectPool(ctx context.Context, in *CreateObjectPoolRequest, opts ...grpc.CallOption) (*CreateObjectPoolResponse, error)
- DeleteObjectPool(ctx context.Context, in *DeleteObjectPoolRequest, opts ...grpc.CallOption) (*DeleteObjectPoolResponse, error)
- // Repositories are assumed to be stored on the same disk
- LinkRepositoryToObjectPool(ctx context.Context, in *LinkRepositoryToObjectPoolRequest, opts ...grpc.CallOption) (*LinkRepositoryToObjectPoolResponse, error)
- UnlinkRepositoryFromObjectPool(ctx context.Context, in *UnlinkRepositoryFromObjectPoolRequest, opts ...grpc.CallOption) (*UnlinkRepositoryFromObjectPoolResponse, error)
-}
-
-type objectPoolServiceClient struct {
- cc *grpc.ClientConn
-}
-
-func NewObjectPoolServiceClient(cc *grpc.ClientConn) ObjectPoolServiceClient {
- return &objectPoolServiceClient{cc}
-}
-
-func (c *objectPoolServiceClient) CreateObjectPool(ctx context.Context, in *CreateObjectPoolRequest, opts ...grpc.CallOption) (*CreateObjectPoolResponse, error) {
- out := new(CreateObjectPoolResponse)
- err := grpc.Invoke(ctx, "/gitaly.ObjectPoolService/CreateObjectPool", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *objectPoolServiceClient) DeleteObjectPool(ctx context.Context, in *DeleteObjectPoolRequest, opts ...grpc.CallOption) (*DeleteObjectPoolResponse, error) {
- out := new(DeleteObjectPoolResponse)
- err := grpc.Invoke(ctx, "/gitaly.ObjectPoolService/DeleteObjectPool", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *objectPoolServiceClient) LinkRepositoryToObjectPool(ctx context.Context, in *LinkRepositoryToObjectPoolRequest, opts ...grpc.CallOption) (*LinkRepositoryToObjectPoolResponse, error) {
- out := new(LinkRepositoryToObjectPoolResponse)
- err := grpc.Invoke(ctx, "/gitaly.ObjectPoolService/LinkRepositoryToObjectPool", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *objectPoolServiceClient) UnlinkRepositoryFromObjectPool(ctx context.Context, in *UnlinkRepositoryFromObjectPoolRequest, opts ...grpc.CallOption) (*UnlinkRepositoryFromObjectPoolResponse, error) {
- out := new(UnlinkRepositoryFromObjectPoolResponse)
- err := grpc.Invoke(ctx, "/gitaly.ObjectPoolService/UnlinkRepositoryFromObjectPool", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// Server API for ObjectPoolService service
-
-type ObjectPoolServiceServer interface {
- CreateObjectPool(context.Context, *CreateObjectPoolRequest) (*CreateObjectPoolResponse, error)
- DeleteObjectPool(context.Context, *DeleteObjectPoolRequest) (*DeleteObjectPoolResponse, error)
- // Repositories are assumed to be stored on the same disk
- LinkRepositoryToObjectPool(context.Context, *LinkRepositoryToObjectPoolRequest) (*LinkRepositoryToObjectPoolResponse, error)
- UnlinkRepositoryFromObjectPool(context.Context, *UnlinkRepositoryFromObjectPoolRequest) (*UnlinkRepositoryFromObjectPoolResponse, error)
-}
-
-func RegisterObjectPoolServiceServer(s *grpc.Server, srv ObjectPoolServiceServer) {
- s.RegisterService(&_ObjectPoolService_serviceDesc, srv)
-}
-
-func _ObjectPoolService_CreateObjectPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateObjectPoolRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ObjectPoolServiceServer).CreateObjectPool(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/gitaly.ObjectPoolService/CreateObjectPool",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ObjectPoolServiceServer).CreateObjectPool(ctx, req.(*CreateObjectPoolRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ObjectPoolService_DeleteObjectPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteObjectPoolRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ObjectPoolServiceServer).DeleteObjectPool(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/gitaly.ObjectPoolService/DeleteObjectPool",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ObjectPoolServiceServer).DeleteObjectPool(ctx, req.(*DeleteObjectPoolRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ObjectPoolService_LinkRepositoryToObjectPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(LinkRepositoryToObjectPoolRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ObjectPoolServiceServer).LinkRepositoryToObjectPool(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/gitaly.ObjectPoolService/LinkRepositoryToObjectPool",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ObjectPoolServiceServer).LinkRepositoryToObjectPool(ctx, req.(*LinkRepositoryToObjectPoolRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ObjectPoolService_UnlinkRepositoryFromObjectPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UnlinkRepositoryFromObjectPoolRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ObjectPoolServiceServer).UnlinkRepositoryFromObjectPool(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/gitaly.ObjectPoolService/UnlinkRepositoryFromObjectPool",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ObjectPoolServiceServer).UnlinkRepositoryFromObjectPool(ctx, req.(*UnlinkRepositoryFromObjectPoolRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _ObjectPoolService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "gitaly.ObjectPoolService",
- HandlerType: (*ObjectPoolServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "CreateObjectPool",
- Handler: _ObjectPoolService_CreateObjectPool_Handler,
- },
- {
- MethodName: "DeleteObjectPool",
- Handler: _ObjectPoolService_DeleteObjectPool_Handler,
- },
- {
- MethodName: "LinkRepositoryToObjectPool",
- Handler: _ObjectPoolService_LinkRepositoryToObjectPool_Handler,
- },
- {
- MethodName: "UnlinkRepositoryFromObjectPool",
- Handler: _ObjectPoolService_UnlinkRepositoryFromObjectPool_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "objectpool.proto",
-}
-
-func init() { proto.RegisterFile("objectpool.proto", fileDescriptor7) }
-
-var fileDescriptor7 = []byte{
- // 331 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0xc1, 0x4e, 0xc2, 0x40,
- 0x18, 0x84, 0x29, 0x26, 0x1c, 0x7e, 0x3c, 0xe0, 0x5e, 0x20, 0x7b, 0x50, 0x6c, 0xd4, 0x20, 0x89,
- 0x3d, 0x94, 0x17, 0x30, 0xd1, 0x78, 0x32, 0x6a, 0xaa, 0xc6, 0x83, 0x07, 0x53, 0xf0, 0x0f, 0xae,
- 0xd6, 0xfe, 0x75, 0xbb, 0x98, 0xe0, 0xcd, 0xbb, 0x0f, 0xe5, 0xa3, 0x99, 0xd2, 0x96, 0x85, 0x36,
- 0x0b, 0x8d, 0xe1, 0xba, 0x9d, 0xce, 0x7c, 0xdd, 0x99, 0x14, 0x5a, 0x34, 0x7c, 0xc5, 0x91, 0x8a,
- 0x88, 0x02, 0x27, 0x92, 0xa4, 0x88, 0x35, 0xc6, 0x42, 0xf9, 0xc1, 0x94, 0x6f, 0xc7, 0x2f, 0xbe,
- 0xc4, 0xe7, 0xf4, 0xd4, 0x3e, 0x05, 0xb8, 0x9e, 0x29, 0x6f, 0x88, 0x02, 0xe6, 0x02, 0x48, 0x8c,
- 0x28, 0x16, 0x8a, 0xe4, 0xb4, 0x63, 0x75, 0xad, 0x5e, 0xd3, 0x65, 0x4e, 0xfa, 0xa2, 0xe3, 0xcd,
- 0x9f, 0x78, 0x0b, 0x2a, 0xfb, 0x0b, 0xda, 0x67, 0x12, 0x7d, 0x85, 0xda, 0xc7, 0xc3, 0x8f, 0x09,
- 0xc6, 0x8a, 0x0d, 0xa0, 0x99, 0x62, 0x3c, 0x25, 0x1c, 0x45, 0xbf, 0x05, 0x3d, 0x90, 0x66, 0xe8,
- 0x43, 0x83, 0xa4, 0x18, 0x8b, 0xb0, 0x53, 0x37, 0xe6, 0x67, 0x0a, 0x9b, 0x43, 0xa7, 0x9c, 0x1d,
- 0x47, 0x14, 0xc6, 0x68, 0x5f, 0x41, 0xfb, 0x1c, 0x03, 0xdc, 0x14, 0x57, 0x92, 0x55, 0xf6, 0xcb,
- 0xb2, 0x7e, 0x2c, 0xd8, 0xbf, 0x14, 0xe1, 0x9b, 0x46, 0xbc, 0xa3, 0x0d, 0x5d, 0xc7, 0x72, 0x25,
- 0xf5, 0x4a, 0x95, 0x1c, 0x80, 0xbd, 0x8a, 0x26, 0x83, 0x7e, 0x84, 0xc3, 0xfb, 0x30, 0x58, 0xd2,
- 0x5d, 0x48, 0x7a, 0x2f, 0x73, 0xff, 0x67, 0x15, 0x3d, 0x38, 0x5a, 0x67, 0x9e, 0x62, 0xb8, 0xbf,
- 0x5b, 0xb0, 0xa3, 0x8f, 0x6f, 0x51, 0x7e, 0x8a, 0x11, 0xb2, 0x07, 0x68, 0x15, 0x9b, 0x65, 0x7b,
- 0x79, 0xa6, 0x61, 0x6f, 0xbc, 0x6b, 0x16, 0x64, 0xdf, 0x5c, 0x4b, 0x8c, 0x8b, 0x35, 0x6a, 0x63,
- 0xc3, 0x60, 0xb4, 0xb1, 0x71, 0x01, 0x35, 0x36, 0x01, 0x6e, 0xbe, 0x74, 0x76, 0x9c, 0x3b, 0xac,
- 0x9d, 0x09, 0xef, 0x57, 0x91, 0xce, 0x63, 0xbf, 0x2d, 0xd8, 0x5d, 0x7d, 0xd3, 0xec, 0x24, 0x37,
- 0xac, 0x54, 0x37, 0x77, 0xaa, 0xca, 0x73, 0x86, 0x61, 0x63, 0xf6, 0x2f, 0x19, 0xfc, 0x05, 0x00,
- 0x00, 0xff, 0xff, 0x17, 0xc1, 0x10, 0xd9, 0x75, 0x04, 0x00, 0x00,
-}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/storage.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/storage.pb.go
deleted file mode 100644
index 1b5122d..0000000
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/storage.pb.go
+++ /dev/null
@@ -1,243 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: storage.proto
-
-package gitalypb
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
-import (
- context "golang.org/x/net/context"
- grpc "google.golang.org/grpc"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-type ListDirectoriesRequest struct {
- StorageName string `protobuf:"bytes,1,opt,name=storage_name,json=storageName" json:"storage_name,omitempty"`
- Depth uint32 `protobuf:"varint,2,opt,name=depth" json:"depth,omitempty"`
-}
-
-func (m *ListDirectoriesRequest) Reset() { *m = ListDirectoriesRequest{} }
-func (m *ListDirectoriesRequest) String() string { return proto.CompactTextString(m) }
-func (*ListDirectoriesRequest) ProtoMessage() {}
-func (*ListDirectoriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{0} }
-
-func (m *ListDirectoriesRequest) GetStorageName() string {
- if m != nil {
- return m.StorageName
- }
- return ""
-}
-
-func (m *ListDirectoriesRequest) GetDepth() uint32 {
- if m != nil {
- return m.Depth
- }
- return 0
-}
-
-type ListDirectoriesResponse struct {
- Paths []string `protobuf:"bytes,1,rep,name=paths" json:"paths,omitempty"`
-}
-
-func (m *ListDirectoriesResponse) Reset() { *m = ListDirectoriesResponse{} }
-func (m *ListDirectoriesResponse) String() string { return proto.CompactTextString(m) }
-func (*ListDirectoriesResponse) ProtoMessage() {}
-func (*ListDirectoriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{1} }
-
-func (m *ListDirectoriesResponse) GetPaths() []string {
- if m != nil {
- return m.Paths
- }
- return nil
-}
-
-type DeleteAllRepositoriesRequest struct {
- StorageName string `protobuf:"bytes,1,opt,name=storage_name,json=storageName" json:"storage_name,omitempty"`
-}
-
-func (m *DeleteAllRepositoriesRequest) Reset() { *m = DeleteAllRepositoriesRequest{} }
-func (m *DeleteAllRepositoriesRequest) String() string { return proto.CompactTextString(m) }
-func (*DeleteAllRepositoriesRequest) ProtoMessage() {}
-func (*DeleteAllRepositoriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{2} }
-
-func (m *DeleteAllRepositoriesRequest) GetStorageName() string {
- if m != nil {
- return m.StorageName
- }
- return ""
-}
-
-type DeleteAllRepositoriesResponse struct {
-}
-
-func (m *DeleteAllRepositoriesResponse) Reset() { *m = DeleteAllRepositoriesResponse{} }
-func (m *DeleteAllRepositoriesResponse) String() string { return proto.CompactTextString(m) }
-func (*DeleteAllRepositoriesResponse) ProtoMessage() {}
-func (*DeleteAllRepositoriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{3} }
-
-func init() {
- proto.RegisterType((*ListDirectoriesRequest)(nil), "gitaly.ListDirectoriesRequest")
- proto.RegisterType((*ListDirectoriesResponse)(nil), "gitaly.ListDirectoriesResponse")
- proto.RegisterType((*DeleteAllRepositoriesRequest)(nil), "gitaly.DeleteAllRepositoriesRequest")
- proto.RegisterType((*DeleteAllRepositoriesResponse)(nil), "gitaly.DeleteAllRepositoriesResponse")
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// 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.SupportPackageIsVersion4
-
-// Client API for StorageService service
-
-type StorageServiceClient interface {
- ListDirectories(ctx context.Context, in *ListDirectoriesRequest, opts ...grpc.CallOption) (StorageService_ListDirectoriesClient, error)
- DeleteAllRepositories(ctx context.Context, in *DeleteAllRepositoriesRequest, opts ...grpc.CallOption) (*DeleteAllRepositoriesResponse, error)
-}
-
-type storageServiceClient struct {
- cc *grpc.ClientConn
-}
-
-func NewStorageServiceClient(cc *grpc.ClientConn) StorageServiceClient {
- return &storageServiceClient{cc}
-}
-
-func (c *storageServiceClient) ListDirectories(ctx context.Context, in *ListDirectoriesRequest, opts ...grpc.CallOption) (StorageService_ListDirectoriesClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_StorageService_serviceDesc.Streams[0], c.cc, "/gitaly.StorageService/ListDirectories", opts...)
- if err != nil {
- return nil, err
- }
- x := &storageServiceListDirectoriesClient{stream}
- if err := x.ClientStream.SendMsg(in); err != nil {
- return nil, err
- }
- if err := x.ClientStream.CloseSend(); err != nil {
- return nil, err
- }
- return x, nil
-}
-
-type StorageService_ListDirectoriesClient interface {
- Recv() (*ListDirectoriesResponse, error)
- grpc.ClientStream
-}
-
-type storageServiceListDirectoriesClient struct {
- grpc.ClientStream
-}
-
-func (x *storageServiceListDirectoriesClient) Recv() (*ListDirectoriesResponse, error) {
- m := new(ListDirectoriesResponse)
- if err := x.ClientStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
-}
-
-func (c *storageServiceClient) DeleteAllRepositories(ctx context.Context, in *DeleteAllRepositoriesRequest, opts ...grpc.CallOption) (*DeleteAllRepositoriesResponse, error) {
- out := new(DeleteAllRepositoriesResponse)
- err := grpc.Invoke(ctx, "/gitaly.StorageService/DeleteAllRepositories", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// Server API for StorageService service
-
-type StorageServiceServer interface {
- ListDirectories(*ListDirectoriesRequest, StorageService_ListDirectoriesServer) error
- DeleteAllRepositories(context.Context, *DeleteAllRepositoriesRequest) (*DeleteAllRepositoriesResponse, error)
-}
-
-func RegisterStorageServiceServer(s *grpc.Server, srv StorageServiceServer) {
- s.RegisterService(&_StorageService_serviceDesc, srv)
-}
-
-func _StorageService_ListDirectories_Handler(srv interface{}, stream grpc.ServerStream) error {
- m := new(ListDirectoriesRequest)
- if err := stream.RecvMsg(m); err != nil {
- return err
- }
- return srv.(StorageServiceServer).ListDirectories(m, &storageServiceListDirectoriesServer{stream})
-}
-
-type StorageService_ListDirectoriesServer interface {
- Send(*ListDirectoriesResponse) error
- grpc.ServerStream
-}
-
-type storageServiceListDirectoriesServer struct {
- grpc.ServerStream
-}
-
-func (x *storageServiceListDirectoriesServer) Send(m *ListDirectoriesResponse) error {
- return x.ServerStream.SendMsg(m)
-}
-
-func _StorageService_DeleteAllRepositories_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteAllRepositoriesRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(StorageServiceServer).DeleteAllRepositories(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/gitaly.StorageService/DeleteAllRepositories",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(StorageServiceServer).DeleteAllRepositories(ctx, req.(*DeleteAllRepositoriesRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _StorageService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "gitaly.StorageService",
- HandlerType: (*StorageServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "DeleteAllRepositories",
- Handler: _StorageService_DeleteAllRepositories_Handler,
- },
- },
- Streams: []grpc.StreamDesc{
- {
- StreamName: "ListDirectories",
- Handler: _StorageService_ListDirectories_Handler,
- ServerStreams: true,
- },
- },
- Metadata: "storage.proto",
-}
-
-func init() { proto.RegisterFile("storage.proto", fileDescriptor16) }
-
-var fileDescriptor16 = []byte{
- // 238 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2d, 0x2e, 0xc9, 0x2f,
- 0x4a, 0x4c, 0x4f, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x4b, 0xcf, 0x2c, 0x49, 0xcc,
- 0xa9, 0x54, 0x0a, 0xe4, 0x12, 0xf3, 0xc9, 0x2c, 0x2e, 0x71, 0xc9, 0x2c, 0x4a, 0x4d, 0x2e, 0xc9,
- 0x2f, 0xca, 0x4c, 0x2d, 0x0e, 0x4a, 0x2d, 0x2c, 0x4d, 0x2d, 0x2e, 0x11, 0x52, 0xe4, 0xe2, 0x81,
- 0x6a, 0x89, 0xcf, 0x4b, 0xcc, 0x4d, 0x95, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0xe2, 0x86, 0x8a,
- 0xf9, 0x25, 0xe6, 0xa6, 0x0a, 0x89, 0x70, 0xb1, 0xa6, 0xa4, 0x16, 0x94, 0x64, 0x48, 0x30, 0x29,
- 0x30, 0x6a, 0xf0, 0x06, 0x41, 0x38, 0x4a, 0xfa, 0x5c, 0xe2, 0x18, 0x46, 0x16, 0x17, 0xe4, 0xe7,
- 0x15, 0x83, 0x35, 0x14, 0x24, 0x96, 0x64, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x41,
- 0x38, 0x4a, 0x8e, 0x5c, 0x32, 0x2e, 0xa9, 0x39, 0xa9, 0x25, 0xa9, 0x8e, 0x39, 0x39, 0x41, 0xa9,
- 0x05, 0xf9, 0xc5, 0x99, 0xa4, 0xba, 0x44, 0x49, 0x9e, 0x4b, 0x16, 0x87, 0x11, 0x10, 0x9b, 0x8d,
- 0x2e, 0x30, 0x72, 0xf1, 0x05, 0x43, 0x34, 0x04, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x0a, 0x85,
- 0x71, 0xf1, 0xa3, 0xb9, 0x53, 0x48, 0x4e, 0x0f, 0x12, 0x2c, 0x7a, 0xd8, 0xc3, 0x44, 0x4a, 0x1e,
- 0xa7, 0x3c, 0xc4, 0x1a, 0x25, 0x06, 0x03, 0x46, 0xa1, 0x34, 0x2e, 0x51, 0xac, 0x6e, 0x11, 0x52,
- 0x81, 0xe9, 0xc6, 0xe7, 0x5b, 0x29, 0x55, 0x02, 0xaa, 0x60, 0x36, 0x25, 0xb1, 0x81, 0x63, 0xd2,
- 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xb8, 0xfc, 0x6c, 0x48, 0xda, 0x01, 0x00, 0x00,
-}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/helper/inforefs.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/helper/inforefs.go
new file mode 100644
index 0000000..5ddfbc2
--- /dev/null
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/helper/inforefs.go
@@ -0,0 +1,32 @@
+package helper
+
+import (
+ "io"
+
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
+)
+
+type InfoRefsClient interface {
+ Recv() (*pb.InfoRefsResponse, error)
+}
+
+type InfoRefsClientWriterTo struct {
+ InfoRefsClient
+}
+
+func (clientReader *InfoRefsClientWriterTo) WriteTo(w io.Writer) (total int64, err error) {
+ for {
+ response, err := clientReader.Recv()
+ if err == io.EOF {
+ return total, nil
+ } else if err != nil {
+ return total, err
+ }
+
+ n, err := w.Write(response.GetData())
+ total += int64(n)
+ if err != nil {
+ return total, err
+ }
+ }
+}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/helper/stream.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/helper/stream.go
new file mode 100644
index 0000000..77cd157
--- /dev/null
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/helper/stream.go
@@ -0,0 +1,44 @@
+package helper
+
+import (
+ "io"
+)
+
+// NewReceiveReader turns receiver into an io.Reader. Errors from the
+// receiver function are passed on unmodified. This means receiver should
+// emit io.EOF when done.
+func NewReceiveReader(receiver func() ([]byte, error)) io.Reader {
+ return &receiveReader{receiver: receiver}
+}
+
+type receiveReader struct {
+ receiver func() ([]byte, error)
+ data []byte
+ err error
+}
+
+func (rr *receiveReader) Read(p []byte) (int, error) {
+ if len(rr.data) == 0 {
+ rr.data, rr.err = rr.receiver()
+ }
+ n := copy(p, rr.data)
+ rr.data = rr.data[n:]
+ if len(rr.data) == 0 {
+ return n, rr.err
+ }
+ return n, nil
+}
+
+// NewSendWriter turns sender into an io.Writer. The number of 'bytes
+// written' reported back is always len(p).
+func NewSendWriter(sender func(p []byte) error) io.Writer {
+ return &sendWriter{sender: sender}
+}
+
+type sendWriter struct {
+ sender func([]byte) error
+}
+
+func (sw *sendWriter) Write(p []byte) (int, error) {
+ return len(p), sw.sender(p)
+}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/namespace.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/namespace.pb.go
index 3976a4c..bc9c575 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/namespace.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/namespace.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: namespace.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/notifications.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/notifications.pb.go
index 56918cd..de7eac2 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/notifications.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/notifications.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: notifications.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/operations.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/operations.pb.go
index cdfbba8..793e319 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/operations.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/operations.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: operations.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -25,7 +25,6 @@ const (
UserCommitFilesActionHeader_UPDATE UserCommitFilesActionHeader_ActionType = 2
UserCommitFilesActionHeader_MOVE UserCommitFilesActionHeader_ActionType = 3
UserCommitFilesActionHeader_DELETE UserCommitFilesActionHeader_ActionType = 4
- UserCommitFilesActionHeader_CHMOD UserCommitFilesActionHeader_ActionType = 5
)
var UserCommitFilesActionHeader_ActionType_name = map[int32]string{
@@ -34,7 +33,6 @@ var UserCommitFilesActionHeader_ActionType_name = map[int32]string{
2: "UPDATE",
3: "MOVE",
4: "DELETE",
- 5: "CHMOD",
}
var UserCommitFilesActionHeader_ActionType_value = map[string]int32{
"CREATE": 0,
@@ -42,14 +40,13 @@ var UserCommitFilesActionHeader_ActionType_value = map[string]int32{
"UPDATE": 2,
"MOVE": 3,
"DELETE": 4,
- "CHMOD": 5,
}
func (x UserCommitFilesActionHeader_ActionType) String() string {
return proto.EnumName(UserCommitFilesActionHeader_ActionType_name, int32(x))
}
func (UserCommitFilesActionHeader_ActionType) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor8, []int{19, 0}
+ return fileDescriptor7, []int{19, 0}
}
type UserCreateBranchRequest struct {
@@ -62,7 +59,7 @@ type UserCreateBranchRequest struct {
func (m *UserCreateBranchRequest) Reset() { *m = UserCreateBranchRequest{} }
func (m *UserCreateBranchRequest) String() string { return proto.CompactTextString(m) }
func (*UserCreateBranchRequest) ProtoMessage() {}
-func (*UserCreateBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{0} }
+func (*UserCreateBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }
func (m *UserCreateBranchRequest) GetRepository() *Repository {
if m != nil {
@@ -102,7 +99,7 @@ type UserCreateBranchResponse struct {
func (m *UserCreateBranchResponse) Reset() { *m = UserCreateBranchResponse{} }
func (m *UserCreateBranchResponse) String() string { return proto.CompactTextString(m) }
func (*UserCreateBranchResponse) ProtoMessage() {}
-func (*UserCreateBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{1} }
+func (*UserCreateBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{1} }
func (m *UserCreateBranchResponse) GetBranch() *Branch {
if m != nil {
@@ -129,7 +126,7 @@ type UserUpdateBranchRequest struct {
func (m *UserUpdateBranchRequest) Reset() { *m = UserUpdateBranchRequest{} }
func (m *UserUpdateBranchRequest) String() string { return proto.CompactTextString(m) }
func (*UserUpdateBranchRequest) ProtoMessage() {}
-func (*UserUpdateBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{2} }
+func (*UserUpdateBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{2} }
func (m *UserUpdateBranchRequest) GetRepository() *Repository {
if m != nil {
@@ -173,7 +170,7 @@ type UserUpdateBranchResponse struct {
func (m *UserUpdateBranchResponse) Reset() { *m = UserUpdateBranchResponse{} }
func (m *UserUpdateBranchResponse) String() string { return proto.CompactTextString(m) }
func (*UserUpdateBranchResponse) ProtoMessage() {}
-func (*UserUpdateBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{3} }
+func (*UserUpdateBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{3} }
func (m *UserUpdateBranchResponse) GetPreReceiveError() string {
if m != nil {
@@ -191,7 +188,7 @@ type UserDeleteBranchRequest struct {
func (m *UserDeleteBranchRequest) Reset() { *m = UserDeleteBranchRequest{} }
func (m *UserDeleteBranchRequest) String() string { return proto.CompactTextString(m) }
func (*UserDeleteBranchRequest) ProtoMessage() {}
-func (*UserDeleteBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{4} }
+func (*UserDeleteBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{4} }
func (m *UserDeleteBranchRequest) GetRepository() *Repository {
if m != nil {
@@ -221,7 +218,7 @@ type UserDeleteBranchResponse struct {
func (m *UserDeleteBranchResponse) Reset() { *m = UserDeleteBranchResponse{} }
func (m *UserDeleteBranchResponse) String() string { return proto.CompactTextString(m) }
func (*UserDeleteBranchResponse) ProtoMessage() {}
-func (*UserDeleteBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{5} }
+func (*UserDeleteBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{5} }
func (m *UserDeleteBranchResponse) GetPreReceiveError() string {
if m != nil {
@@ -239,7 +236,7 @@ type UserDeleteTagRequest struct {
func (m *UserDeleteTagRequest) Reset() { *m = UserDeleteTagRequest{} }
func (m *UserDeleteTagRequest) String() string { return proto.CompactTextString(m) }
func (*UserDeleteTagRequest) ProtoMessage() {}
-func (*UserDeleteTagRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{6} }
+func (*UserDeleteTagRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{6} }
func (m *UserDeleteTagRequest) GetRepository() *Repository {
if m != nil {
@@ -269,7 +266,7 @@ type UserDeleteTagResponse struct {
func (m *UserDeleteTagResponse) Reset() { *m = UserDeleteTagResponse{} }
func (m *UserDeleteTagResponse) String() string { return proto.CompactTextString(m) }
func (*UserDeleteTagResponse) ProtoMessage() {}
-func (*UserDeleteTagResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{7} }
+func (*UserDeleteTagResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{7} }
func (m *UserDeleteTagResponse) GetPreReceiveError() string {
if m != nil {
@@ -289,7 +286,7 @@ type UserCreateTagRequest struct {
func (m *UserCreateTagRequest) Reset() { *m = UserCreateTagRequest{} }
func (m *UserCreateTagRequest) String() string { return proto.CompactTextString(m) }
func (*UserCreateTagRequest) ProtoMessage() {}
-func (*UserCreateTagRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{8} }
+func (*UserCreateTagRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{8} }
func (m *UserCreateTagRequest) GetRepository() *Repository {
if m != nil {
@@ -335,7 +332,7 @@ type UserCreateTagResponse struct {
func (m *UserCreateTagResponse) Reset() { *m = UserCreateTagResponse{} }
func (m *UserCreateTagResponse) String() string { return proto.CompactTextString(m) }
func (*UserCreateTagResponse) ProtoMessage() {}
-func (*UserCreateTagResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{9} }
+func (*UserCreateTagResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{9} }
func (m *UserCreateTagResponse) GetTag() *Tag {
if m != nil {
@@ -373,7 +370,7 @@ type UserMergeBranchRequest struct {
func (m *UserMergeBranchRequest) Reset() { *m = UserMergeBranchRequest{} }
func (m *UserMergeBranchRequest) String() string { return proto.CompactTextString(m) }
func (*UserMergeBranchRequest) ProtoMessage() {}
-func (*UserMergeBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{10} }
+func (*UserMergeBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{10} }
func (m *UserMergeBranchRequest) GetRepository() *Repository {
if m != nil {
@@ -430,7 +427,7 @@ type UserMergeBranchResponse struct {
func (m *UserMergeBranchResponse) Reset() { *m = UserMergeBranchResponse{} }
func (m *UserMergeBranchResponse) String() string { return proto.CompactTextString(m) }
func (*UserMergeBranchResponse) ProtoMessage() {}
-func (*UserMergeBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{11} }
+func (*UserMergeBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{11} }
func (m *UserMergeBranchResponse) GetCommitId() string {
if m != nil {
@@ -465,7 +462,7 @@ type OperationBranchUpdate struct {
func (m *OperationBranchUpdate) Reset() { *m = OperationBranchUpdate{} }
func (m *OperationBranchUpdate) String() string { return proto.CompactTextString(m) }
func (*OperationBranchUpdate) ProtoMessage() {}
-func (*OperationBranchUpdate) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{12} }
+func (*OperationBranchUpdate) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{12} }
func (m *OperationBranchUpdate) GetCommitId() string {
if m != nil {
@@ -498,7 +495,7 @@ type UserFFBranchRequest struct {
func (m *UserFFBranchRequest) Reset() { *m = UserFFBranchRequest{} }
func (m *UserFFBranchRequest) String() string { return proto.CompactTextString(m) }
func (*UserFFBranchRequest) ProtoMessage() {}
-func (*UserFFBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{13} }
+func (*UserFFBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{13} }
func (m *UserFFBranchRequest) GetRepository() *Repository {
if m != nil {
@@ -536,7 +533,7 @@ type UserFFBranchResponse struct {
func (m *UserFFBranchResponse) Reset() { *m = UserFFBranchResponse{} }
func (m *UserFFBranchResponse) String() string { return proto.CompactTextString(m) }
func (*UserFFBranchResponse) ProtoMessage() {}
-func (*UserFFBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{14} }
+func (*UserFFBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{14} }
func (m *UserFFBranchResponse) GetBranchUpdate() *OperationBranchUpdate {
if m != nil {
@@ -565,7 +562,7 @@ type UserCherryPickRequest struct {
func (m *UserCherryPickRequest) Reset() { *m = UserCherryPickRequest{} }
func (m *UserCherryPickRequest) String() string { return proto.CompactTextString(m) }
func (*UserCherryPickRequest) ProtoMessage() {}
-func (*UserCherryPickRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{15} }
+func (*UserCherryPickRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{15} }
func (m *UserCherryPickRequest) GetRepository() *Repository {
if m != nil {
@@ -626,7 +623,7 @@ type UserCherryPickResponse struct {
func (m *UserCherryPickResponse) Reset() { *m = UserCherryPickResponse{} }
func (m *UserCherryPickResponse) String() string { return proto.CompactTextString(m) }
func (*UserCherryPickResponse) ProtoMessage() {}
-func (*UserCherryPickResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{16} }
+func (*UserCherryPickResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{16} }
func (m *UserCherryPickResponse) GetBranchUpdate() *OperationBranchUpdate {
if m != nil {
@@ -669,7 +666,7 @@ type UserRevertRequest struct {
func (m *UserRevertRequest) Reset() { *m = UserRevertRequest{} }
func (m *UserRevertRequest) String() string { return proto.CompactTextString(m) }
func (*UserRevertRequest) ProtoMessage() {}
-func (*UserRevertRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{17} }
+func (*UserRevertRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{17} }
func (m *UserRevertRequest) GetRepository() *Repository {
if m != nil {
@@ -730,7 +727,7 @@ type UserRevertResponse struct {
func (m *UserRevertResponse) Reset() { *m = UserRevertResponse{} }
func (m *UserRevertResponse) String() string { return proto.CompactTextString(m) }
func (*UserRevertResponse) ProtoMessage() {}
-func (*UserRevertResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{18} }
+func (*UserRevertResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{18} }
func (m *UserRevertResponse) GetBranchUpdate() *OperationBranchUpdate {
if m != nil {
@@ -761,21 +758,16 @@ func (m *UserRevertResponse) GetPreReceiveError() string {
}
type UserCommitFilesActionHeader struct {
- Action UserCommitFilesActionHeader_ActionType `protobuf:"varint,1,opt,name=action,enum=gitaly.UserCommitFilesActionHeader_ActionType" json:"action,omitempty"`
- FilePath []byte `protobuf:"bytes,2,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"`
- PreviousPath []byte `protobuf:"bytes,3,opt,name=previous_path,json=previousPath,proto3" json:"previous_path,omitempty"`
- Base64Content bool `protobuf:"varint,4,opt,name=base64_content,json=base64Content" json:"base64_content,omitempty"`
- ExecuteFilemode bool `protobuf:"varint,5,opt,name=execute_filemode,json=executeFilemode" json:"execute_filemode,omitempty"`
- // Move actions that change the file path, but not its content, should set
- // infer_content to true instead of populating the content field. Ignored for
- // other action types.
- InferContent bool `protobuf:"varint,6,opt,name=infer_content,json=inferContent" json:"infer_content,omitempty"`
+ Action UserCommitFilesActionHeader_ActionType `protobuf:"varint,1,opt,name=action,enum=gitaly.UserCommitFilesActionHeader_ActionType" json:"action,omitempty"`
+ FilePath []byte `protobuf:"bytes,2,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"`
+ PreviousPath []byte `protobuf:"bytes,3,opt,name=previous_path,json=previousPath,proto3" json:"previous_path,omitempty"`
+ Base64Content bool `protobuf:"varint,4,opt,name=base64_content,json=base64Content" json:"base64_content,omitempty"`
}
func (m *UserCommitFilesActionHeader) Reset() { *m = UserCommitFilesActionHeader{} }
func (m *UserCommitFilesActionHeader) String() string { return proto.CompactTextString(m) }
func (*UserCommitFilesActionHeader) ProtoMessage() {}
-func (*UserCommitFilesActionHeader) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{19} }
+func (*UserCommitFilesActionHeader) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{19} }
func (m *UserCommitFilesActionHeader) GetAction() UserCommitFilesActionHeader_ActionType {
if m != nil {
@@ -805,20 +797,6 @@ func (m *UserCommitFilesActionHeader) GetBase64Content() bool {
return false
}
-func (m *UserCommitFilesActionHeader) GetExecuteFilemode() bool {
- if m != nil {
- return m.ExecuteFilemode
- }
- return false
-}
-
-func (m *UserCommitFilesActionHeader) GetInferContent() bool {
- if m != nil {
- return m.InferContent
- }
- return false
-}
-
type UserCommitFilesAction struct {
// Types that are valid to be assigned to UserCommitFilesActionPayload:
// *UserCommitFilesAction_Header
@@ -829,7 +807,7 @@ type UserCommitFilesAction struct {
func (m *UserCommitFilesAction) Reset() { *m = UserCommitFilesAction{} }
func (m *UserCommitFilesAction) String() string { return proto.CompactTextString(m) }
func (*UserCommitFilesAction) ProtoMessage() {}
-func (*UserCommitFilesAction) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{20} }
+func (*UserCommitFilesAction) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{20} }
type isUserCommitFilesAction_UserCommitFilesActionPayload interface{ isUserCommitFilesAction_UserCommitFilesActionPayload() }
@@ -948,7 +926,7 @@ type UserCommitFilesRequestHeader struct {
func (m *UserCommitFilesRequestHeader) Reset() { *m = UserCommitFilesRequestHeader{} }
func (m *UserCommitFilesRequestHeader) String() string { return proto.CompactTextString(m) }
func (*UserCommitFilesRequestHeader) ProtoMessage() {}
-func (*UserCommitFilesRequestHeader) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{21} }
+func (*UserCommitFilesRequestHeader) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{21} }
func (m *UserCommitFilesRequestHeader) GetRepository() *Repository {
if m != nil {
@@ -1016,7 +994,7 @@ type UserCommitFilesRequest struct {
func (m *UserCommitFilesRequest) Reset() { *m = UserCommitFilesRequest{} }
func (m *UserCommitFilesRequest) String() string { return proto.CompactTextString(m) }
func (*UserCommitFilesRequest) ProtoMessage() {}
-func (*UserCommitFilesRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{22} }
+func (*UserCommitFilesRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{22} }
type isUserCommitFilesRequest_UserCommitFilesRequestPayload interface{ isUserCommitFilesRequest_UserCommitFilesRequestPayload() }
@@ -1134,7 +1112,7 @@ type UserCommitFilesResponse struct {
func (m *UserCommitFilesResponse) Reset() { *m = UserCommitFilesResponse{} }
func (m *UserCommitFilesResponse) String() string { return proto.CompactTextString(m) }
func (*UserCommitFilesResponse) ProtoMessage() {}
-func (*UserCommitFilesResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{23} }
+func (*UserCommitFilesResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{23} }
func (m *UserCommitFilesResponse) GetBranchUpdate() *OperationBranchUpdate {
if m != nil {
@@ -1170,7 +1148,7 @@ type UserRebaseRequest struct {
func (m *UserRebaseRequest) Reset() { *m = UserRebaseRequest{} }
func (m *UserRebaseRequest) String() string { return proto.CompactTextString(m) }
func (*UserRebaseRequest) ProtoMessage() {}
-func (*UserRebaseRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{24} }
+func (*UserRebaseRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{24} }
func (m *UserRebaseRequest) GetRepository() *Repository {
if m != nil {
@@ -1230,7 +1208,7 @@ type UserRebaseResponse struct {
func (m *UserRebaseResponse) Reset() { *m = UserRebaseResponse{} }
func (m *UserRebaseResponse) String() string { return proto.CompactTextString(m) }
func (*UserRebaseResponse) ProtoMessage() {}
-func (*UserRebaseResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{25} }
+func (*UserRebaseResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{25} }
func (m *UserRebaseResponse) GetRebaseSha() string {
if m != nil {
@@ -1267,7 +1245,7 @@ type UserSquashRequest struct {
func (m *UserSquashRequest) Reset() { *m = UserSquashRequest{} }
func (m *UserSquashRequest) String() string { return proto.CompactTextString(m) }
func (*UserSquashRequest) ProtoMessage() {}
-func (*UserSquashRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{26} }
+func (*UserSquashRequest) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{26} }
func (m *UserSquashRequest) GetRepository() *Repository {
if m != nil {
@@ -1333,7 +1311,7 @@ type UserSquashResponse struct {
func (m *UserSquashResponse) Reset() { *m = UserSquashResponse{} }
func (m *UserSquashResponse) String() string { return proto.CompactTextString(m) }
func (*UserSquashResponse) ProtoMessage() {}
-func (*UserSquashResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{27} }
+func (*UserSquashResponse) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{27} }
func (m *UserSquashResponse) GetSquashSha() string {
if m != nil {
@@ -1349,259 +1327,6 @@ func (m *UserSquashResponse) GetGitError() string {
return ""
}
-type UserApplyPatchRequest struct {
- // Types that are valid to be assigned to UserApplyPatchRequestPayload:
- // *UserApplyPatchRequest_Header_
- // *UserApplyPatchRequest_Patches
- UserApplyPatchRequestPayload isUserApplyPatchRequest_UserApplyPatchRequestPayload `protobuf_oneof:"user_apply_patch_request_payload"`
-}
-
-func (m *UserApplyPatchRequest) Reset() { *m = UserApplyPatchRequest{} }
-func (m *UserApplyPatchRequest) String() string { return proto.CompactTextString(m) }
-func (*UserApplyPatchRequest) ProtoMessage() {}
-func (*UserApplyPatchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{28} }
-
-type isUserApplyPatchRequest_UserApplyPatchRequestPayload interface{ isUserApplyPatchRequest_UserApplyPatchRequestPayload() }
-
-type UserApplyPatchRequest_Header_ struct {
- Header *UserApplyPatchRequest_Header `protobuf:"bytes,1,opt,name=header,oneof"`
-}
-type UserApplyPatchRequest_Patches struct {
- Patches []byte `protobuf:"bytes,2,opt,name=patches,proto3,oneof"`
-}
-
-func (*UserApplyPatchRequest_Header_) isUserApplyPatchRequest_UserApplyPatchRequestPayload() {}
-func (*UserApplyPatchRequest_Patches) isUserApplyPatchRequest_UserApplyPatchRequestPayload() {}
-
-func (m *UserApplyPatchRequest) GetUserApplyPatchRequestPayload() isUserApplyPatchRequest_UserApplyPatchRequestPayload {
- if m != nil {
- return m.UserApplyPatchRequestPayload
- }
- return nil
-}
-
-func (m *UserApplyPatchRequest) GetHeader() *UserApplyPatchRequest_Header {
- if x, ok := m.GetUserApplyPatchRequestPayload().(*UserApplyPatchRequest_Header_); ok {
- return x.Header
- }
- return nil
-}
-
-func (m *UserApplyPatchRequest) GetPatches() []byte {
- if x, ok := m.GetUserApplyPatchRequestPayload().(*UserApplyPatchRequest_Patches); ok {
- return x.Patches
- }
- return nil
-}
-
-// XXX_OneofFuncs is for the internal use of the proto package.
-func (*UserApplyPatchRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
- return _UserApplyPatchRequest_OneofMarshaler, _UserApplyPatchRequest_OneofUnmarshaler, _UserApplyPatchRequest_OneofSizer, []interface{}{
- (*UserApplyPatchRequest_Header_)(nil),
- (*UserApplyPatchRequest_Patches)(nil),
- }
-}
-
-func _UserApplyPatchRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
- m := msg.(*UserApplyPatchRequest)
- // user_apply_patch_request_payload
- switch x := m.UserApplyPatchRequestPayload.(type) {
- case *UserApplyPatchRequest_Header_:
- b.EncodeVarint(1<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.Header); err != nil {
- return err
- }
- case *UserApplyPatchRequest_Patches:
- b.EncodeVarint(2<<3 | proto.WireBytes)
- b.EncodeRawBytes(x.Patches)
- case nil:
- default:
- return fmt.Errorf("UserApplyPatchRequest.UserApplyPatchRequestPayload has unexpected type %T", x)
- }
- return nil
-}
-
-func _UserApplyPatchRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
- m := msg.(*UserApplyPatchRequest)
- switch tag {
- case 1: // user_apply_patch_request_payload.header
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(UserApplyPatchRequest_Header)
- err := b.DecodeMessage(msg)
- m.UserApplyPatchRequestPayload = &UserApplyPatchRequest_Header_{msg}
- return true, err
- case 2: // user_apply_patch_request_payload.patches
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- x, err := b.DecodeRawBytes(true)
- m.UserApplyPatchRequestPayload = &UserApplyPatchRequest_Patches{x}
- return true, err
- default:
- return false, nil
- }
-}
-
-func _UserApplyPatchRequest_OneofSizer(msg proto.Message) (n int) {
- m := msg.(*UserApplyPatchRequest)
- // user_apply_patch_request_payload
- switch x := m.UserApplyPatchRequestPayload.(type) {
- case *UserApplyPatchRequest_Header_:
- s := proto.Size(x.Header)
- n += proto.SizeVarint(1<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(s))
- n += s
- case *UserApplyPatchRequest_Patches:
- n += proto.SizeVarint(2<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(len(x.Patches)))
- n += len(x.Patches)
- case nil:
- default:
- panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
- }
- return n
-}
-
-type UserApplyPatchRequest_Header struct {
- Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
- User *User `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"`
- TargetBranch []byte `protobuf:"bytes,3,opt,name=target_branch,json=targetBranch,proto3" json:"target_branch,omitempty"`
-}
-
-func (m *UserApplyPatchRequest_Header) Reset() { *m = UserApplyPatchRequest_Header{} }
-func (m *UserApplyPatchRequest_Header) String() string { return proto.CompactTextString(m) }
-func (*UserApplyPatchRequest_Header) ProtoMessage() {}
-func (*UserApplyPatchRequest_Header) Descriptor() ([]byte, []int) {
- return fileDescriptor8, []int{28, 0}
-}
-
-func (m *UserApplyPatchRequest_Header) GetRepository() *Repository {
- if m != nil {
- return m.Repository
- }
- return nil
-}
-
-func (m *UserApplyPatchRequest_Header) GetUser() *User {
- if m != nil {
- return m.User
- }
- return nil
-}
-
-func (m *UserApplyPatchRequest_Header) GetTargetBranch() []byte {
- if m != nil {
- return m.TargetBranch
- }
- return nil
-}
-
-type UserApplyPatchResponse struct {
- BranchUpdate *OperationBranchUpdate `protobuf:"bytes,1,opt,name=branch_update,json=branchUpdate" json:"branch_update,omitempty"`
-}
-
-func (m *UserApplyPatchResponse) Reset() { *m = UserApplyPatchResponse{} }
-func (m *UserApplyPatchResponse) String() string { return proto.CompactTextString(m) }
-func (*UserApplyPatchResponse) ProtoMessage() {}
-func (*UserApplyPatchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{29} }
-
-func (m *UserApplyPatchResponse) GetBranchUpdate() *OperationBranchUpdate {
- if m != nil {
- return m.BranchUpdate
- }
- return nil
-}
-
-type UserUpdateSubmoduleRequest struct {
- Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
- User *User `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"`
- CommitSha string `protobuf:"bytes,3,opt,name=commit_sha,json=commitSha" json:"commit_sha,omitempty"`
- Branch []byte `protobuf:"bytes,4,opt,name=branch,proto3" json:"branch,omitempty"`
- Submodule []byte `protobuf:"bytes,5,opt,name=submodule,proto3" json:"submodule,omitempty"`
- CommitMessage []byte `protobuf:"bytes,6,opt,name=commit_message,json=commitMessage,proto3" json:"commit_message,omitempty"`
-}
-
-func (m *UserUpdateSubmoduleRequest) Reset() { *m = UserUpdateSubmoduleRequest{} }
-func (m *UserUpdateSubmoduleRequest) String() string { return proto.CompactTextString(m) }
-func (*UserUpdateSubmoduleRequest) ProtoMessage() {}
-func (*UserUpdateSubmoduleRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{30} }
-
-func (m *UserUpdateSubmoduleRequest) GetRepository() *Repository {
- if m != nil {
- return m.Repository
- }
- return nil
-}
-
-func (m *UserUpdateSubmoduleRequest) GetUser() *User {
- if m != nil {
- return m.User
- }
- return nil
-}
-
-func (m *UserUpdateSubmoduleRequest) GetCommitSha() string {
- if m != nil {
- return m.CommitSha
- }
- return ""
-}
-
-func (m *UserUpdateSubmoduleRequest) GetBranch() []byte {
- if m != nil {
- return m.Branch
- }
- return nil
-}
-
-func (m *UserUpdateSubmoduleRequest) GetSubmodule() []byte {
- if m != nil {
- return m.Submodule
- }
- return nil
-}
-
-func (m *UserUpdateSubmoduleRequest) GetCommitMessage() []byte {
- if m != nil {
- return m.CommitMessage
- }
- return nil
-}
-
-type UserUpdateSubmoduleResponse struct {
- BranchUpdate *OperationBranchUpdate `protobuf:"bytes,1,opt,name=branch_update,json=branchUpdate" json:"branch_update,omitempty"`
- PreReceiveError string `protobuf:"bytes,2,opt,name=pre_receive_error,json=preReceiveError" json:"pre_receive_error,omitempty"`
- CommitError string `protobuf:"bytes,4,opt,name=commit_error,json=commitError" json:"commit_error,omitempty"`
-}
-
-func (m *UserUpdateSubmoduleResponse) Reset() { *m = UserUpdateSubmoduleResponse{} }
-func (m *UserUpdateSubmoduleResponse) String() string { return proto.CompactTextString(m) }
-func (*UserUpdateSubmoduleResponse) ProtoMessage() {}
-func (*UserUpdateSubmoduleResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{31} }
-
-func (m *UserUpdateSubmoduleResponse) GetBranchUpdate() *OperationBranchUpdate {
- if m != nil {
- return m.BranchUpdate
- }
- return nil
-}
-
-func (m *UserUpdateSubmoduleResponse) GetPreReceiveError() string {
- if m != nil {
- return m.PreReceiveError
- }
- return ""
-}
-
-func (m *UserUpdateSubmoduleResponse) GetCommitError() string {
- if m != nil {
- return m.CommitError
- }
- return ""
-}
-
func init() {
proto.RegisterType((*UserCreateBranchRequest)(nil), "gitaly.UserCreateBranchRequest")
proto.RegisterType((*UserCreateBranchResponse)(nil), "gitaly.UserCreateBranchResponse")
@@ -1631,11 +1356,6 @@ func init() {
proto.RegisterType((*UserRebaseResponse)(nil), "gitaly.UserRebaseResponse")
proto.RegisterType((*UserSquashRequest)(nil), "gitaly.UserSquashRequest")
proto.RegisterType((*UserSquashResponse)(nil), "gitaly.UserSquashResponse")
- proto.RegisterType((*UserApplyPatchRequest)(nil), "gitaly.UserApplyPatchRequest")
- proto.RegisterType((*UserApplyPatchRequest_Header)(nil), "gitaly.UserApplyPatchRequest.Header")
- proto.RegisterType((*UserApplyPatchResponse)(nil), "gitaly.UserApplyPatchResponse")
- proto.RegisterType((*UserUpdateSubmoduleRequest)(nil), "gitaly.UserUpdateSubmoduleRequest")
- proto.RegisterType((*UserUpdateSubmoduleResponse)(nil), "gitaly.UserUpdateSubmoduleResponse")
proto.RegisterEnum("gitaly.UserCommitFilesActionHeader_ActionType", UserCommitFilesActionHeader_ActionType_name, UserCommitFilesActionHeader_ActionType_value)
}
@@ -1662,8 +1382,6 @@ type OperationServiceClient interface {
UserCommitFiles(ctx context.Context, opts ...grpc.CallOption) (OperationService_UserCommitFilesClient, error)
UserRebase(ctx context.Context, in *UserRebaseRequest, opts ...grpc.CallOption) (*UserRebaseResponse, error)
UserSquash(ctx context.Context, in *UserSquashRequest, opts ...grpc.CallOption) (*UserSquashResponse, error)
- UserApplyPatch(ctx context.Context, opts ...grpc.CallOption) (OperationService_UserApplyPatchClient, error)
- UserUpdateSubmodule(ctx context.Context, in *UserUpdateSubmoduleRequest, opts ...grpc.CallOption) (*UserUpdateSubmoduleResponse, error)
}
type operationServiceClient struct {
@@ -1829,49 +1547,6 @@ func (c *operationServiceClient) UserSquash(ctx context.Context, in *UserSquashR
return out, nil
}
-func (c *operationServiceClient) UserApplyPatch(ctx context.Context, opts ...grpc.CallOption) (OperationService_UserApplyPatchClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_OperationService_serviceDesc.Streams[2], c.cc, "/gitaly.OperationService/UserApplyPatch", opts...)
- if err != nil {
- return nil, err
- }
- x := &operationServiceUserApplyPatchClient{stream}
- return x, nil
-}
-
-type OperationService_UserApplyPatchClient interface {
- Send(*UserApplyPatchRequest) error
- CloseAndRecv() (*UserApplyPatchResponse, error)
- grpc.ClientStream
-}
-
-type operationServiceUserApplyPatchClient struct {
- grpc.ClientStream
-}
-
-func (x *operationServiceUserApplyPatchClient) Send(m *UserApplyPatchRequest) error {
- return x.ClientStream.SendMsg(m)
-}
-
-func (x *operationServiceUserApplyPatchClient) CloseAndRecv() (*UserApplyPatchResponse, error) {
- if err := x.ClientStream.CloseSend(); err != nil {
- return nil, err
- }
- m := new(UserApplyPatchResponse)
- if err := x.ClientStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
-}
-
-func (c *operationServiceClient) UserUpdateSubmodule(ctx context.Context, in *UserUpdateSubmoduleRequest, opts ...grpc.CallOption) (*UserUpdateSubmoduleResponse, error) {
- out := new(UserUpdateSubmoduleResponse)
- err := grpc.Invoke(ctx, "/gitaly.OperationService/UserUpdateSubmodule", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
// Server API for OperationService service
type OperationServiceServer interface {
@@ -1887,8 +1562,6 @@ type OperationServiceServer interface {
UserCommitFiles(OperationService_UserCommitFilesServer) error
UserRebase(context.Context, *UserRebaseRequest) (*UserRebaseResponse, error)
UserSquash(context.Context, *UserSquashRequest) (*UserSquashResponse, error)
- UserApplyPatch(OperationService_UserApplyPatchServer) error
- UserUpdateSubmodule(context.Context, *UserUpdateSubmoduleRequest) (*UserUpdateSubmoduleResponse, error)
}
func RegisterOperationServiceServer(s *grpc.Server, srv OperationServiceServer) {
@@ -2127,50 +1800,6 @@ func _OperationService_UserSquash_Handler(srv interface{}, ctx context.Context,
return interceptor(ctx, in, info, handler)
}
-func _OperationService_UserApplyPatch_Handler(srv interface{}, stream grpc.ServerStream) error {
- return srv.(OperationServiceServer).UserApplyPatch(&operationServiceUserApplyPatchServer{stream})
-}
-
-type OperationService_UserApplyPatchServer interface {
- SendAndClose(*UserApplyPatchResponse) error
- Recv() (*UserApplyPatchRequest, error)
- grpc.ServerStream
-}
-
-type operationServiceUserApplyPatchServer struct {
- grpc.ServerStream
-}
-
-func (x *operationServiceUserApplyPatchServer) SendAndClose(m *UserApplyPatchResponse) error {
- return x.ServerStream.SendMsg(m)
-}
-
-func (x *operationServiceUserApplyPatchServer) Recv() (*UserApplyPatchRequest, error) {
- m := new(UserApplyPatchRequest)
- if err := x.ServerStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
-}
-
-func _OperationService_UserUpdateSubmodule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UserUpdateSubmoduleRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(OperationServiceServer).UserUpdateSubmodule(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/gitaly.OperationService/UserUpdateSubmodule",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(OperationServiceServer).UserUpdateSubmodule(ctx, req.(*UserUpdateSubmoduleRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
var _OperationService_serviceDesc = grpc.ServiceDesc{
ServiceName: "gitaly.OperationService",
HandlerType: (*OperationServiceServer)(nil),
@@ -2215,10 +1844,6 @@ var _OperationService_serviceDesc = grpc.ServiceDesc{
MethodName: "UserSquash",
Handler: _OperationService_UserSquash_Handler,
},
- {
- MethodName: "UserUpdateSubmodule",
- Handler: _OperationService_UserUpdateSubmodule_Handler,
- },
},
Streams: []grpc.StreamDesc{
{
@@ -2232,126 +1857,107 @@ var _OperationService_serviceDesc = grpc.ServiceDesc{
Handler: _OperationService_UserCommitFiles_Handler,
ClientStreams: true,
},
- {
- StreamName: "UserApplyPatch",
- Handler: _OperationService_UserApplyPatch_Handler,
- ClientStreams: true,
- },
},
Metadata: "operations.proto",
}
-func init() { proto.RegisterFile("operations.proto", fileDescriptor8) }
-
-var fileDescriptor8 = []byte{
- // 1740 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcf, 0x6f, 0x1b, 0xd5,
- 0x13, 0xf7, 0xda, 0xce, 0xc6, 0x99, 0x38, 0x89, 0xf3, 0xfa, 0x2b, 0x75, 0x93, 0x26, 0xdd, 0xb4,
- 0xdf, 0x6f, 0x5b, 0x7d, 0x15, 0x7d, 0x15, 0x10, 0x9c, 0x0a, 0xca, 0x0f, 0x87, 0xb4, 0x90, 0x36,
- 0x6c, 0x92, 0xc2, 0x01, 0x69, 0xd9, 0xd8, 0xaf, 0xf6, 0x0a, 0xdb, 0xeb, 0xbe, 0x5d, 0x87, 0x06,
- 0x21, 0x2e, 0x08, 0xb8, 0x72, 0xe2, 0x82, 0x90, 0x40, 0xdc, 0x10, 0x17, 0x2e, 0x1c, 0x38, 0x20,
- 0xae, 0x70, 0xed, 0x81, 0xff, 0x82, 0x1b, 0x77, 0xf4, 0xde, 0xcc, 0x7a, 0x7f, 0x3a, 0x4a, 0x4b,
- 0xa2, 0x56, 0x88, 0x5b, 0x3c, 0x33, 0x3b, 0x6f, 0xe6, 0x33, 0xf3, 0x66, 0xe6, 0x4d, 0xa0, 0xe2,
- 0xf6, 0xb8, 0xb0, 0x7d, 0xc7, 0xed, 0x7a, 0x4b, 0x3d, 0xe1, 0xfa, 0x2e, 0xd3, 0x9b, 0x8e, 0x6f,
- 0xb7, 0x0f, 0xab, 0x65, 0xaf, 0x65, 0x0b, 0xde, 0x40, 0xaa, 0xf1, 0x83, 0x06, 0x17, 0xf6, 0x3c,
- 0x2e, 0xd6, 0x04, 0xb7, 0x7d, 0xbe, 0x2a, 0xec, 0x6e, 0xbd, 0x65, 0xf2, 0x87, 0x7d, 0xee, 0xf9,
- 0x6c, 0x19, 0x40, 0xf0, 0x9e, 0xeb, 0x39, 0xbe, 0x2b, 0x0e, 0x67, 0xb4, 0x05, 0xed, 0xfa, 0xf8,
- 0x32, 0x5b, 0x42, 0x35, 0x4b, 0xe6, 0x80, 0x63, 0x46, 0xa4, 0xd8, 0x3c, 0x8c, 0xef, 0x2b, 0x25,
- 0x56, 0xd7, 0xee, 0xf0, 0x99, 0xfc, 0x82, 0x76, 0xbd, 0x6c, 0x02, 0x92, 0xee, 0xda, 0x1d, 0xce,
- 0x16, 0xa0, 0xd8, 0xf7, 0xb8, 0x98, 0x29, 0x28, 0x75, 0xe5, 0x40, 0x9d, 0xb4, 0xc1, 0x54, 0x1c,
- 0xa9, 0xc2, 0xf3, 0x6d, 0xe1, 0x5b, 0x3d, 0xd7, 0xe9, 0xfa, 0x33, 0x45, 0x54, 0xa1, 0x48, 0xdb,
- 0x92, 0x62, 0x74, 0x61, 0x26, 0x6d, 0xb2, 0xd7, 0x73, 0xbb, 0x1e, 0x67, 0xff, 0x01, 0x1d, 0x0f,
- 0x23, 0x7b, 0x27, 0x83, 0x03, 0x48, 0x8e, 0xb8, 0xec, 0x26, 0x4c, 0xf7, 0x04, 0xb7, 0x04, 0xaf,
- 0x73, 0xe7, 0x80, 0x5b, 0x5c, 0x08, 0x57, 0x28, 0x6b, 0xc7, 0xcc, 0xa9, 0x9e, 0xe0, 0x26, 0xd2,
- 0x6b, 0x92, 0x6c, 0xfc, 0x42, 0x18, 0xed, 0xf5, 0x1a, 0xcf, 0x0b, 0x46, 0xe7, 0x41, 0xef, 0xf2,
- 0xf7, 0x05, 0x3f, 0x20, 0x78, 0xe8, 0x97, 0xa4, 0xbb, 0xed, 0x86, 0xa4, 0x8f, 0x20, 0x1d, 0x7f,
- 0x19, 0x1b, 0x08, 0x59, 0xdc, 0x03, 0x82, 0x2c, 0x13, 0x0a, 0x2d, 0x1b, 0x8a, 0xcf, 0x09, 0x8a,
- 0x75, 0xde, 0xe6, 0xcf, 0x07, 0x14, 0x81, 0x6b, 0x71, 0x8b, 0x9e, 0xc2, 0xb5, 0xcf, 0x34, 0x38,
- 0x1b, 0x2a, 0xda, 0xb5, 0x9b, 0x7f, 0xc7, 0xaf, 0x8b, 0x50, 0xf2, 0xed, 0x66, 0xd4, 0xa9, 0x51,
- 0xdf, 0x6e, 0x1e, 0xd3, 0xa3, 0x35, 0x38, 0x97, 0x30, 0xe4, 0x29, 0xdc, 0xf9, 0x8d, 0xdc, 0xc1,
- 0x5b, 0xf2, 0x0c, 0xdd, 0x61, 0xff, 0x85, 0x29, 0xdf, 0x16, 0x4d, 0xee, 0x5b, 0x82, 0x1f, 0x38,
- 0x9e, 0xe3, 0x76, 0x29, 0x69, 0x27, 0x91, 0x6c, 0x12, 0x95, 0xcd, 0xc0, 0x68, 0x87, 0x7b, 0x9e,
- 0xdd, 0xe4, 0x94, 0xbd, 0xc1, 0x4f, 0xe3, 0x03, 0x44, 0x24, 0xe2, 0x0b, 0x21, 0x32, 0x07, 0x05,
- 0xdf, 0x6e, 0x92, 0x17, 0xe3, 0xc1, 0xe1, 0x52, 0x42, 0xd2, 0xe5, 0x75, 0xe0, 0x8f, 0x1c, 0xcf,
- 0xf7, 0x94, 0xd5, 0x25, 0x93, 0x7e, 0x65, 0x03, 0x59, 0xc8, 0x06, 0xf2, 0xb1, 0x06, 0xe7, 0xe5,
- 0xe1, 0x5b, 0x5c, 0x34, 0x4f, 0x20, 0xe3, 0x03, 0xbc, 0xf2, 0x43, 0xf1, 0xba, 0x04, 0x63, 0x75,
- 0xb7, 0xd3, 0x71, 0x7c, 0xcb, 0x69, 0x90, 0x51, 0x25, 0x24, 0xdc, 0x6e, 0x48, 0x8f, 0xa8, 0xbe,
- 0xd1, 0xc5, 0xa7, 0x7a, 0x36, 0x14, 0x3b, 0x76, 0x16, 0x46, 0xec, 0x5e, 0xaf, 0x7d, 0x38, 0xa3,
- 0x2b, 0x08, 0xf0, 0x87, 0xf1, 0x3d, 0x5d, 0xe4, 0x98, 0x57, 0x04, 0x6a, 0xcc, 0x00, 0x2d, 0x61,
- 0xc0, 0x2a, 0x4c, 0xd0, 0x8d, 0xed, 0xab, 0x62, 0x42, 0x81, 0x9f, 0x0b, 0x1c, 0xb9, 0x17, 0xf4,
- 0x1d, 0x54, 0x8a, 0x15, 0xc7, 0x2c, 0xef, 0x47, 0x7e, 0x65, 0xc3, 0x5f, 0xcc, 0x84, 0xff, 0x4e,
- 0xb1, 0x94, 0xaf, 0x14, 0x8c, 0x8f, 0xe0, 0x5c, 0xa6, 0xe2, 0xa3, 0x6d, 0xbd, 0x02, 0x65, 0x89,
- 0xbc, 0x55, 0x57, 0x79, 0xd3, 0xa0, 0x24, 0x18, 0x97, 0x34, 0x4c, 0xa5, 0x06, 0xbb, 0x06, 0x93,
- 0xe4, 0x4e, 0x20, 0x54, 0x50, 0x42, 0xe4, 0x24, 0x89, 0x19, 0x5f, 0x6b, 0x70, 0x46, 0xc2, 0xb5,
- 0xb1, 0xf1, 0xbc, 0x66, 0x80, 0xf1, 0x29, 0x5d, 0xf8, 0xd0, 0x44, 0x0a, 0x67, 0x2a, 0x62, 0xda,
- 0x09, 0x45, 0x6c, 0x48, 0xbb, 0xfc, 0x39, 0x4f, 0xb7, 0xb5, 0xc5, 0x85, 0x38, 0xdc, 0x76, 0xea,
- 0xef, 0x9d, 0x2e, 0x5a, 0x37, 0x40, 0x47, 0x70, 0x28, 0x15, 0xa7, 0x03, 0x99, 0xd7, 0x1c, 0x7f,
- 0x4d, 0x31, 0x4c, 0x12, 0x48, 0xb6, 0x9b, 0x62, 0xaa, 0xdd, 0x0c, 0xbf, 0x46, 0x37, 0x61, 0x1a,
- 0xa7, 0x92, 0xa8, 0x02, 0x5d, 0xc9, 0x4c, 0x29, 0xc6, 0x6a, 0xa8, 0xe5, 0x16, 0x54, 0x50, 0x36,
- 0xe2, 0xed, 0xe8, 0x50, 0x6f, 0xf1, 0xf3, 0x90, 0x60, 0xfc, 0x4e, 0x15, 0x27, 0x0a, 0xe0, 0xc9,
- 0xc6, 0x12, 0x73, 0xdd, 0xf2, 0x05, 0x4f, 0xc4, 0x12, 0x19, 0xbb, 0x82, 0x63, 0x2c, 0xe5, 0x0d,
- 0xa2, 0x4c, 0x8c, 0xd6, 0xc8, 0x71, 0xa4, 0xa1, 0xc8, 0x13, 0x5c, 0x66, 0xe3, 0xa7, 0x3c, 0x4c,
- 0xab, 0xc8, 0xf1, 0x03, 0x2e, 0x5d, 0xfe, 0x37, 0x2d, 0x9e, 0x20, 0x2d, 0x1e, 0x6b, 0xc0, 0xa2,
- 0xe0, 0xfd, 0x33, 0x52, 0xe2, 0xcf, 0x3c, 0x5c, 0x52, 0xc9, 0xae, 0xbe, 0xdf, 0x70, 0xda, 0xdc,
- 0x5b, 0xa9, 0x4b, 0x73, 0x37, 0xb9, 0xdd, 0xe0, 0x82, 0x6d, 0x80, 0x6e, 0xab, 0xdf, 0xca, 0xaf,
- 0xc9, 0xe5, 0xa5, 0x68, 0xa8, 0x87, 0x7c, 0xb4, 0x84, 0x3f, 0x76, 0x0f, 0x7b, 0xdc, 0xa4, 0xaf,
- 0x65, 0x4d, 0x7d, 0xe0, 0xb4, 0xb9, 0xd5, 0xb3, 0xfd, 0x16, 0xcd, 0x30, 0x25, 0x49, 0xd8, 0xb6,
- 0xfd, 0x16, 0x5b, 0x84, 0x89, 0x9e, 0x1c, 0x4e, 0xdc, 0xbe, 0x87, 0x02, 0x05, 0x25, 0x50, 0x0e,
- 0x88, 0x4a, 0x48, 0xb6, 0x0a, 0xdb, 0xe3, 0x2f, 0xbd, 0x68, 0xd5, 0xdd, 0xae, 0xcf, 0xe9, 0x69,
- 0x22, 0x5b, 0x85, 0xa2, 0xae, 0x21, 0x91, 0xdd, 0x80, 0x0a, 0x7f, 0xc4, 0xeb, 0x7d, 0x9f, 0x5b,
- 0x52, 0x7f, 0xc7, 0x6d, 0x60, 0xd2, 0x94, 0xcc, 0x29, 0xa2, 0x6f, 0x10, 0x59, 0x1e, 0xeb, 0x74,
- 0x1f, 0x70, 0x31, 0x50, 0x88, 0x2d, 0xba, 0xac, 0x88, 0xa4, 0xcf, 0xd8, 0x03, 0x08, 0xdd, 0x61,
- 0x00, 0xfa, 0x9a, 0x59, 0x5b, 0xd9, 0xad, 0x55, 0x72, 0x6c, 0x12, 0x00, 0xff, 0xb6, 0xd6, 0x6f,
- 0x9b, 0x15, 0x4d, 0xf2, 0xf6, 0xb6, 0xd7, 0x25, 0x2f, 0xcf, 0x4a, 0x50, 0xdc, 0xba, 0x77, 0xbf,
- 0x56, 0x29, 0x48, 0xea, 0x7a, 0xed, 0x8d, 0xda, 0x6e, 0xad, 0x52, 0x64, 0x63, 0x30, 0xb2, 0xb6,
- 0xb9, 0x75, 0x6f, 0xbd, 0x32, 0x62, 0x7c, 0xa1, 0x51, 0x95, 0x4e, 0x42, 0xc8, 0x6e, 0x81, 0xde,
- 0x52, 0x30, 0x52, 0x26, 0x2d, 0x1e, 0x03, 0xf1, 0xcd, 0x9c, 0x49, 0x1f, 0xb1, 0x2a, 0x8c, 0x06,
- 0xee, 0x28, 0x98, 0x37, 0x73, 0x66, 0x40, 0x58, 0x35, 0x60, 0x41, 0xde, 0x4d, 0x8b, 0x12, 0x48,
- 0xe2, 0xe3, 0x59, 0x18, 0x20, 0xab, 0x67, 0x1f, 0xb6, 0x5d, 0xbb, 0x61, 0x7c, 0x52, 0x80, 0xd9,
- 0xc4, 0x49, 0x54, 0x28, 0x28, 0x23, 0x4e, 0xa7, 0x5c, 0x24, 0x6a, 0x40, 0x21, 0x55, 0x03, 0xae,
- 0xc1, 0x24, 0x99, 0x1d, 0x94, 0x02, 0xac, 0x13, 0x13, 0x48, 0xdd, 0xa2, 0x82, 0xf0, 0x3f, 0x60,
- 0x24, 0x66, 0xf7, 0xfd, 0x96, 0x2b, 0x50, 0x1d, 0x56, 0x8d, 0x0a, 0x72, 0x56, 0x14, 0x43, 0x29,
- 0x5d, 0x82, 0x33, 0x71, 0x69, 0xde, 0xb1, 0x9d, 0x36, 0x15, 0x90, 0xe9, 0xa8, 0x78, 0x4d, 0x32,
- 0xb2, 0xcb, 0xcd, 0xe8, 0xf1, 0xcb, 0x4d, 0xe9, 0xf8, 0xe5, 0xe6, 0xc7, 0xa0, 0x0b, 0xa5, 0xe2,
- 0xc0, 0x5e, 0x49, 0x64, 0xc8, 0xd5, 0x21, 0x19, 0x12, 0x8b, 0x5b, 0x24, 0x45, 0x5e, 0x1e, 0xdc,
- 0xe9, 0x7c, 0xbc, 0x56, 0x65, 0x67, 0x58, 0x2e, 0xb8, 0xc4, 0xab, 0x8b, 0x70, 0x25, 0x9d, 0x3f,
- 0x02, 0x4f, 0x19, 0x24, 0xd0, 0x77, 0xc1, 0x4a, 0x23, 0x6a, 0xc8, 0x09, 0x16, 0xcb, 0x79, 0x18,
- 0x77, 0xba, 0x0d, 0xfe, 0x28, 0x56, 0x26, 0x41, 0x91, 0x8e, 0x28, 0x7f, 0x43, 0x5e, 0x17, 0xdf,
- 0x0e, 0x3a, 0xa2, 0xac, 0x22, 0xa7, 0x3e, 0x56, 0x0a, 0x75, 0x4c, 0x64, 0xac, 0x44, 0xc2, 0x11,
- 0x0f, 0x8b, 0x39, 0xa0, 0x4b, 0x60, 0x79, 0x2d, 0x5b, 0xe5, 0xf1, 0x98, 0x39, 0x86, 0x94, 0x9d,
- 0x96, 0xcd, 0x5e, 0x85, 0x69, 0xc1, 0x3b, 0xae, 0xcf, 0xa3, 0x59, 0xa6, 0x0f, 0x35, 0xb8, 0x82,
- 0xc2, 0x21, 0x45, 0xd6, 0x40, 0x52, 0x40, 0xc7, 0x63, 0x36, 0x97, 0x91, 0x88, 0x61, 0x30, 0x3e,
- 0x0c, 0x3a, 0x1f, 0x82, 0x34, 0x78, 0xfc, 0x01, 0xf9, 0x23, 0x4d, 0xc3, 0xe1, 0x9f, 0x3c, 0x94,
- 0xa6, 0x3d, 0xc1, 0xcc, 0x2a, 0xa1, 0x69, 0x26, 0x3a, 0x5a, 0xa9, 0x49, 0xed, 0xcc, 0xf8, 0x86,
- 0x62, 0xb4, 0xf3, 0xb0, 0x6f, 0x7b, 0xa7, 0x3f, 0xfa, 0x7b, 0xea, 0x98, 0x48, 0x8c, 0x90, 0x70,
- 0x44, 0x8c, 0xe4, 0x47, 0xea, 0xa6, 0x87, 0x21, 0x2a, 0x29, 0x82, 0x84, 0xe1, 0x02, 0x8c, 0xf2,
- 0x6e, 0x43, 0xb1, 0x74, 0xc5, 0xd2, 0x79, 0xb7, 0x21, 0x19, 0x57, 0x41, 0xc7, 0xa2, 0x43, 0x43,
- 0x48, 0xdc, 0x1c, 0xe2, 0x65, 0x94, 0xbd, 0x52, 0x46, 0xd9, 0x33, 0x1c, 0x8c, 0x50, 0x00, 0x51,
- 0x18, 0x21, 0xf2, 0x26, 0x12, 0x21, 0xa4, 0x48, 0x0b, 0x8e, 0x42, 0x1d, 0x1f, 0x7e, 0x66, 0x3a,
- 0x84, 0xc6, 0x57, 0xf4, 0xbe, 0x58, 0x91, 0x0f, 0xd9, 0x6d, 0xdb, 0x0f, 0x5f, 0x63, 0x47, 0xd6,
- 0xa5, 0x94, 0xf8, 0x52, 0x56, 0xeb, 0xea, 0x49, 0x01, 0xee, 0x85, 0xad, 0x8b, 0x08, 0xd5, 0x8f,
- 0x35, 0xd0, 0x4f, 0xb5, 0x01, 0x2d, 0xc2, 0x04, 0xad, 0x49, 0x28, 0xc6, 0x34, 0x83, 0x20, 0x11,
- 0x2f, 0xc2, 0xa0, 0x81, 0xaa, 0x47, 0xbc, 0xa5, 0x6c, 0x4b, 0xd5, 0xbf, 0x77, 0xb0, 0x6e, 0x47,
- 0xfd, 0x3d, 0xb9, 0xea, 0x67, 0xfc, 0xa1, 0x41, 0x35, 0x5c, 0x25, 0xee, 0xf4, 0xf7, 0x3b, 0x6e,
- 0xa3, 0xdf, 0x3e, 0xe5, 0xca, 0x35, 0x07, 0x40, 0x49, 0x28, 0xf3, 0x08, 0x33, 0x85, 0x9e, 0xc8,
- 0x32, 0x8f, 0x86, 0xdd, 0x8b, 0x59, 0x18, 0xf3, 0x02, 0x03, 0xa9, 0x05, 0x87, 0x84, 0x8c, 0xcc,
- 0xd6, 0xb3, 0x32, 0xfb, 0x57, 0x0d, 0x07, 0xd4, 0x94, 0xc3, 0xcf, 0xe6, 0x79, 0x9d, 0x9a, 0xbf,
- 0x8b, 0xa9, 0xf9, 0xfb, 0x4e, 0xb1, 0x54, 0xa8, 0x14, 0xcd, 0xf4, 0x48, 0xbf, 0xfc, 0xe5, 0x18,
- 0x54, 0x06, 0xf6, 0xec, 0x70, 0x71, 0xe0, 0xd4, 0x39, 0x7b, 0x0b, 0x2a, 0xc9, 0x75, 0x3a, 0x9b,
- 0x8f, 0x75, 0xe4, 0xf4, 0xff, 0x06, 0xaa, 0x0b, 0xc3, 0x05, 0x10, 0x17, 0x23, 0x17, 0x28, 0x8e,
- 0x2e, 0x9d, 0xe3, 0x8a, 0x33, 0x16, 0xea, 0x71, 0xc5, 0x59, 0xfb, 0xea, 0x50, 0x71, 0x74, 0xe5,
- 0x1b, 0x57, 0x9c, 0xb1, 0x9e, 0x8e, 0x2b, 0xce, 0xda, 0x16, 0x1b, 0x39, 0x76, 0x17, 0x26, 0x62,
- 0x7b, 0x46, 0x36, 0x9b, 0x76, 0x33, 0x5c, 0xa5, 0x56, 0xe7, 0x86, 0x70, 0x93, 0xfa, 0x06, 0x9b,
- 0xdc, 0xb8, 0xbe, 0xe4, 0xa6, 0x39, 0xae, 0x2f, 0xb5, 0xfe, 0x35, 0x72, 0xec, 0x6d, 0x98, 0x4a,
- 0x2c, 0xed, 0xd8, 0xe5, 0xe8, 0x37, 0xe9, 0x1d, 0x65, 0x75, 0x7e, 0x28, 0x3f, 0xd0, 0x7a, 0x5d,
- 0xfb, 0xbf, 0xc6, 0x5e, 0x87, 0x72, 0x74, 0x79, 0xc4, 0x2e, 0x45, 0x3f, 0x4b, 0x6c, 0xbd, 0xaa,
- 0xb3, 0xd9, 0xcc, 0x81, 0x99, 0x6f, 0xc2, 0x64, 0x7c, 0x7f, 0xc1, 0xe2, 0x48, 0x25, 0x17, 0x43,
- 0xd5, 0xcb, 0xc3, 0xd8, 0x03, 0x95, 0x35, 0x80, 0xf0, 0xed, 0xcb, 0x2e, 0xc6, 0x6a, 0x44, 0x74,
- 0x99, 0x50, 0xad, 0x66, 0xb1, 0x06, 0x6a, 0xee, 0x23, 0x80, 0x91, 0xd1, 0x30, 0x0e, 0x60, 0x7a,
- 0x78, 0x8d, 0x03, 0x98, 0x31, 0x53, 0x4a, 0x00, 0x43, 0xf3, 0xe4, 0xf0, 0x91, 0x34, 0x2f, 0x32,
- 0xd9, 0x25, 0xcd, 0x8b, 0xce, 0x33, 0xa1, 0x97, 0xd8, 0x45, 0xe3, 0x6a, 0x62, 0xc3, 0x47, 0x5c,
- 0x4d, 0xbc, 0xe9, 0x1a, 0x39, 0xb6, 0x83, 0xf8, 0x87, 0x1d, 0x20, 0x8e, 0x7f, 0xaa, 0x13, 0xc6,
- 0xf1, 0x4f, 0x37, 0x0e, 0xe5, 0xe2, 0xbb, 0xb8, 0x01, 0x4d, 0x94, 0x41, 0x66, 0xa4, 0xef, 0x6b,
- 0xb2, 0x29, 0x54, 0x17, 0x8f, 0x94, 0x09, 0xce, 0xd8, 0xd7, 0xd5, 0xbf, 0x24, 0x5f, 0xf8, 0x2b,
- 0x00, 0x00, 0xff, 0xff, 0x35, 0x0f, 0xad, 0x07, 0xbc, 0x1c, 0x00, 0x00,
+func init() { proto.RegisterFile("operations.proto", fileDescriptor7) }
+
+var fileDescriptor7 = []byte{
+ // 1510 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcf, 0x6f, 0x1b, 0xc5,
+ 0x17, 0xf7, 0xda, 0xee, 0xda, 0x79, 0x71, 0x1c, 0x67, 0xfa, 0xcb, 0x75, 0x9b, 0x26, 0xdd, 0xb6,
+ 0xdf, 0x6f, 0xa9, 0x50, 0x84, 0x02, 0x82, 0x53, 0x41, 0x4d, 0xe2, 0xd0, 0x16, 0xda, 0x86, 0x6d,
+ 0x5a, 0xb8, 0xad, 0xa6, 0xf6, 0x60, 0xaf, 0xb0, 0xbd, 0xdb, 0xd9, 0x4d, 0x68, 0x10, 0xe2, 0x06,
+ 0x5c, 0x39, 0x71, 0xe0, 0x04, 0xe2, 0x86, 0xb8, 0x70, 0xe1, 0xc0, 0x01, 0x71, 0xe6, 0xda, 0x03,
+ 0xff, 0x00, 0x7f, 0x08, 0x9a, 0x79, 0x6f, 0xed, 0xdd, 0xf5, 0x6e, 0x94, 0x96, 0x44, 0x44, 0x88,
+ 0x9b, 0xf7, 0xbd, 0x37, 0x6f, 0xde, 0xfb, 0xbc, 0x1f, 0x33, 0xf3, 0x0c, 0x0d, 0xcf, 0x17, 0x92,
+ 0x87, 0xae, 0x37, 0x0a, 0x56, 0x7c, 0xe9, 0x85, 0x1e, 0x33, 0x7b, 0x6e, 0xc8, 0x07, 0x7b, 0xad,
+ 0x5a, 0xd0, 0xe7, 0x52, 0x74, 0x91, 0x6a, 0xfd, 0x64, 0xc0, 0xd9, 0x87, 0x81, 0x90, 0xeb, 0x52,
+ 0xf0, 0x50, 0xac, 0x49, 0x3e, 0xea, 0xf4, 0x6d, 0xf1, 0x64, 0x47, 0x04, 0x21, 0x5b, 0x05, 0x90,
+ 0xc2, 0xf7, 0x02, 0x37, 0xf4, 0xe4, 0x5e, 0xd3, 0x58, 0x36, 0xae, 0xcd, 0xae, 0xb2, 0x15, 0x54,
+ 0xb3, 0x62, 0x8f, 0x39, 0x76, 0x4c, 0x8a, 0x2d, 0xc1, 0xec, 0x63, 0xad, 0xc4, 0x19, 0xf1, 0xa1,
+ 0x68, 0x16, 0x97, 0x8d, 0x6b, 0x35, 0x1b, 0x90, 0x74, 0x8f, 0x0f, 0x05, 0x5b, 0x86, 0xf2, 0x4e,
+ 0x20, 0x64, 0xb3, 0xa4, 0xd5, 0xd5, 0x22, 0x75, 0xca, 0x06, 0x5b, 0x73, 0x94, 0x8a, 0x20, 0xe4,
+ 0x32, 0x74, 0x7c, 0xcf, 0x1d, 0x85, 0xcd, 0x32, 0xaa, 0xd0, 0xa4, 0x2d, 0x45, 0xb1, 0x46, 0xd0,
+ 0x9c, 0x36, 0x39, 0xf0, 0xbd, 0x51, 0x20, 0xd8, 0xff, 0xc0, 0xc4, 0xcd, 0xc8, 0xde, 0x7a, 0xb4,
+ 0x01, 0xc9, 0x11, 0x97, 0x5d, 0x87, 0x05, 0x5f, 0x0a, 0x47, 0x8a, 0x8e, 0x70, 0x77, 0x85, 0x23,
+ 0xa4, 0xf4, 0xa4, 0xb6, 0x76, 0xc6, 0x9e, 0xf7, 0xa5, 0xb0, 0x91, 0xde, 0x56, 0x64, 0xeb, 0x37,
+ 0xc2, 0xe8, 0xa1, 0xdf, 0x3d, 0x2e, 0x18, 0x9d, 0x01, 0x73, 0x24, 0x3e, 0x96, 0x62, 0x97, 0xe0,
+ 0xa1, 0x2f, 0x45, 0xf7, 0x06, 0x5d, 0x45, 0x3f, 0x81, 0x74, 0xfc, 0xb2, 0x36, 0x11, 0xb2, 0xa4,
+ 0x07, 0x04, 0x59, 0x26, 0x14, 0x46, 0x36, 0x14, 0x5f, 0x11, 0x14, 0x1b, 0x62, 0x20, 0x8e, 0x07,
+ 0x14, 0x91, 0x6b, 0x49, 0x8b, 0x5e, 0xc0, 0xb5, 0x2f, 0x0d, 0x38, 0x35, 0x51, 0xb4, 0xcd, 0x7b,
+ 0x7f, 0xc7, 0xaf, 0x73, 0x50, 0x0d, 0x79, 0x2f, 0xee, 0x54, 0x25, 0xe4, 0xbd, 0x03, 0x7a, 0xb4,
+ 0x0e, 0xa7, 0x53, 0x86, 0xbc, 0x80, 0x3b, 0xbf, 0x93, 0x3b, 0x58, 0x25, 0xff, 0xa0, 0x3b, 0xec,
+ 0xff, 0x30, 0x1f, 0x72, 0xd9, 0x13, 0xa1, 0x23, 0xc5, 0xae, 0x1b, 0xb8, 0xde, 0x88, 0x92, 0xb6,
+ 0x8e, 0x64, 0x9b, 0xa8, 0xac, 0x09, 0x95, 0xa1, 0x08, 0x02, 0xde, 0x13, 0x94, 0xbd, 0xd1, 0xa7,
+ 0xf5, 0x09, 0x22, 0x12, 0xf3, 0x85, 0x10, 0x59, 0x84, 0x52, 0xc8, 0x7b, 0xe4, 0xc5, 0x6c, 0xb4,
+ 0xb9, 0x92, 0x50, 0x74, 0x55, 0x0e, 0xe2, 0xa9, 0x1b, 0x84, 0x81, 0xb6, 0xba, 0x6a, 0xd3, 0x57,
+ 0x36, 0x90, 0xa5, 0x6c, 0x20, 0x9f, 0x19, 0x70, 0x46, 0x6d, 0x7e, 0x57, 0xc8, 0xde, 0x21, 0x64,
+ 0x7c, 0x84, 0x57, 0x31, 0x17, 0xaf, 0xf3, 0x30, 0xd3, 0xf1, 0x86, 0x43, 0x37, 0x74, 0xdc, 0x2e,
+ 0x19, 0x55, 0x45, 0xc2, 0xed, 0xae, 0xf2, 0x88, 0xfa, 0x1b, 0x15, 0x3e, 0xf5, 0xb3, 0x5c, 0xec,
+ 0xd8, 0x29, 0x38, 0xc1, 0x7d, 0x7f, 0xb0, 0xd7, 0x34, 0x35, 0x04, 0xf8, 0x61, 0xfd, 0x48, 0x85,
+ 0x9c, 0xf0, 0x8a, 0x40, 0x4d, 0x18, 0x60, 0xa4, 0x0c, 0x58, 0x83, 0x39, 0xaa, 0xd8, 0x1d, 0xdd,
+ 0x4c, 0x28, 0xf0, 0x8b, 0x91, 0x23, 0xf7, 0xa3, 0x73, 0x07, 0x95, 0x62, 0xc7, 0xb1, 0x6b, 0x8f,
+ 0x63, 0x5f, 0xd9, 0xf0, 0x97, 0x33, 0xe1, 0xbf, 0x53, 0xae, 0x16, 0x1b, 0x25, 0xeb, 0x33, 0x38,
+ 0x9d, 0xa9, 0x78, 0x7f, 0x5b, 0x2f, 0x41, 0x4d, 0x21, 0xef, 0x74, 0x74, 0xde, 0x74, 0x29, 0x09,
+ 0x66, 0x15, 0x0d, 0x53, 0xa9, 0xcb, 0xae, 0x42, 0x9d, 0xdc, 0x89, 0x84, 0x4a, 0x5a, 0x88, 0x9c,
+ 0x24, 0x31, 0xeb, 0x5b, 0x03, 0x4e, 0x2a, 0xb8, 0x36, 0x37, 0x8f, 0x6b, 0x06, 0x58, 0x5f, 0x50,
+ 0xc1, 0x4f, 0x4c, 0xa4, 0x70, 0x4e, 0x45, 0xcc, 0x38, 0xa4, 0x88, 0xe5, 0x1c, 0x97, 0xbf, 0x16,
+ 0xa9, 0x5a, 0xfb, 0x42, 0xca, 0xbd, 0x2d, 0xb7, 0xf3, 0xd1, 0xd1, 0xa2, 0xf5, 0x12, 0x98, 0x08,
+ 0x0e, 0xa5, 0xe2, 0x42, 0x24, 0xf3, 0xb6, 0x1b, 0xae, 0x6b, 0x86, 0x4d, 0x02, 0xe9, 0xe3, 0xa6,
+ 0x3c, 0x75, 0xdc, 0xe4, 0x97, 0xd1, 0x75, 0x58, 0xc0, 0x5b, 0x49, 0x5c, 0x81, 0xa9, 0x65, 0xe6,
+ 0x35, 0x63, 0x6d, 0xa2, 0xe5, 0x06, 0x34, 0x50, 0x36, 0xe6, 0x6d, 0x25, 0xd7, 0x5b, 0x5c, 0x3e,
+ 0x21, 0x58, 0x7f, 0x50, 0xc7, 0x89, 0x03, 0x78, 0xb8, 0xb1, 0xc4, 0x5c, 0x77, 0x42, 0x29, 0x52,
+ 0xb1, 0x44, 0xc6, 0xb6, 0x14, 0x18, 0x4b, 0x55, 0x41, 0x94, 0x89, 0xf1, 0x1e, 0x39, 0x8b, 0x34,
+ 0x14, 0x79, 0x8e, 0x62, 0xb6, 0x7e, 0x29, 0xc2, 0x82, 0x8e, 0x9c, 0xd8, 0x15, 0xca, 0xe5, 0xff,
+ 0xd2, 0xe2, 0x39, 0xd2, 0xe2, 0x99, 0x01, 0x2c, 0x0e, 0xde, 0xbf, 0x23, 0x25, 0xbe, 0x29, 0xc2,
+ 0x79, 0x9d, 0xec, 0x7a, 0xfd, 0xa6, 0x3b, 0x10, 0xc1, 0xcd, 0x8e, 0x32, 0xf7, 0x96, 0xe0, 0x5d,
+ 0x21, 0xd9, 0x26, 0x98, 0x5c, 0x7f, 0x6b, 0xbf, 0xea, 0xab, 0x2b, 0xf1, 0x50, 0xe7, 0x2c, 0x5a,
+ 0xc1, 0x8f, 0xed, 0x3d, 0x5f, 0xd8, 0xb4, 0x5a, 0xf5, 0xd4, 0x0f, 0xdd, 0x81, 0x70, 0x7c, 0x1e,
+ 0xf6, 0xe9, 0x0e, 0x53, 0x55, 0x84, 0x2d, 0x1e, 0xf6, 0xd9, 0x65, 0x98, 0xf3, 0xd5, 0xe5, 0xc4,
+ 0xdb, 0x09, 0x50, 0xa0, 0xa4, 0x05, 0x6a, 0x11, 0x51, 0x0b, 0xa9, 0xa3, 0x82, 0x07, 0xe2, 0xf5,
+ 0xd7, 0x9c, 0x8e, 0x37, 0x0a, 0x05, 0x3d, 0x4d, 0xd4, 0x51, 0xa1, 0xa9, 0xeb, 0x48, 0xb4, 0xee,
+ 0x00, 0x4c, 0xb6, 0x67, 0x00, 0xe6, 0xba, 0xdd, 0xbe, 0xb9, 0xdd, 0x6e, 0x14, 0x58, 0x1d, 0x00,
+ 0x7f, 0x3b, 0x1b, 0xb7, 0xed, 0x86, 0xa1, 0x78, 0x0f, 0xb7, 0x36, 0x14, 0xaf, 0xc8, 0xaa, 0x50,
+ 0xbe, 0x7b, 0xff, 0x51, 0xbb, 0x51, 0x52, 0xd4, 0x8d, 0xf6, 0xbb, 0xed, 0xed, 0x76, 0xa3, 0x6c,
+ 0x7d, 0x6d, 0x50, 0x2b, 0x4d, 0xfb, 0xc9, 0x6e, 0x80, 0xd9, 0xd7, 0xbe, 0x52, 0xb8, 0x2f, 0x1f,
+ 0x00, 0x96, 0x5b, 0x05, 0x9b, 0x16, 0xb1, 0x16, 0x54, 0x22, 0x27, 0x34, 0x16, 0xb7, 0x0a, 0x76,
+ 0x44, 0x58, 0xb3, 0x60, 0x59, 0x15, 0x90, 0x43, 0x51, 0x56, 0x20, 0x05, 0x0e, 0xa2, 0xe8, 0xf8,
+ 0x7c, 0x6f, 0xe0, 0xf1, 0xae, 0xf5, 0x79, 0x09, 0x2e, 0xa4, 0x76, 0xa2, 0x6a, 0xa6, 0xb0, 0x1d,
+ 0x4d, 0x4d, 0xa7, 0x0a, 0xb5, 0x34, 0x55, 0xa8, 0x57, 0xa1, 0x4e, 0x66, 0x47, 0xf5, 0x8a, 0xc5,
+ 0x3c, 0x87, 0xd4, 0xbb, 0x54, 0xb5, 0x2f, 0x03, 0x23, 0x31, 0xbe, 0x13, 0xf6, 0x3d, 0x89, 0xea,
+ 0xb0, 0xb4, 0x1b, 0xc8, 0xb9, 0xa9, 0x19, 0x5a, 0xe9, 0x0a, 0x9c, 0x4c, 0x4a, 0x8b, 0x21, 0x77,
+ 0x07, 0x54, 0xe5, 0x0b, 0x71, 0xf1, 0xb6, 0x62, 0x64, 0xf7, 0x84, 0xca, 0xc1, 0x7b, 0x42, 0xf5,
+ 0xe0, 0x3d, 0xe1, 0xe7, 0xe8, 0xa8, 0x98, 0x8a, 0x03, 0x7b, 0x33, 0x95, 0x21, 0x57, 0x72, 0x32,
+ 0x24, 0x11, 0xb7, 0x58, 0x8a, 0xbc, 0x31, 0x2e, 0xbc, 0x62, 0xb2, 0xa1, 0x64, 0x67, 0x58, 0x21,
+ 0xaa, 0xb4, 0xb5, 0xcb, 0x70, 0x69, 0x3a, 0x7f, 0x24, 0xee, 0x32, 0x4e, 0xa0, 0x1f, 0xa2, 0xb9,
+ 0x43, 0xdc, 0x90, 0x43, 0xec, 0x68, 0x4b, 0x30, 0xeb, 0x8e, 0xba, 0xe2, 0x69, 0xa2, 0x97, 0x81,
+ 0x26, 0xed, 0xd3, 0xa3, 0x72, 0x9e, 0x00, 0xdf, 0x8f, 0x8f, 0x2d, 0x55, 0xea, 0x47, 0x7e, 0xf7,
+ 0x93, 0x7a, 0x9b, 0xd8, 0xdd, 0x0f, 0x09, 0xfb, 0xdc, 0xfe, 0x17, 0x81, 0x8a, 0xc0, 0x09, 0xfa,
+ 0x5c, 0xe7, 0xf1, 0x8c, 0x3d, 0x83, 0x94, 0x07, 0x7d, 0xce, 0xde, 0x82, 0x05, 0x29, 0x86, 0x5e,
+ 0x28, 0xe2, 0x59, 0x66, 0xe6, 0x1a, 0xdc, 0x40, 0xe1, 0x09, 0x45, 0xf5, 0x47, 0x52, 0x40, 0xdb,
+ 0x63, 0x36, 0xd7, 0x90, 0x88, 0x61, 0xb0, 0x3e, 0x8d, 0x8e, 0x27, 0x04, 0x69, 0xfc, 0x42, 0x03,
+ 0xf2, 0x47, 0x99, 0x86, 0x37, 0x74, 0xf2, 0x50, 0x99, 0xf6, 0x1c, 0x17, 0x4b, 0x05, 0x4d, 0x2f,
+ 0x75, 0xec, 0x54, 0x7b, 0x74, 0xe6, 0x58, 0xdf, 0x51, 0x8c, 0x1e, 0x3c, 0xd9, 0xe1, 0xc1, 0xd1,
+ 0xdf, 0xcf, 0x03, 0xbd, 0x4d, 0x2c, 0x46, 0x48, 0xd8, 0x27, 0x46, 0x6a, 0x91, 0xae, 0xf4, 0x49,
+ 0x88, 0xaa, 0x9a, 0xa0, 0x60, 0x38, 0x0b, 0x15, 0x31, 0xea, 0x6a, 0x96, 0xa9, 0x59, 0xa6, 0x18,
+ 0x75, 0x15, 0xe3, 0x0a, 0x98, 0xd8, 0x74, 0xe8, 0xa6, 0x90, 0x34, 0x87, 0x78, 0x19, 0x6d, 0xaf,
+ 0x9a, 0xd1, 0xf6, 0x2c, 0x17, 0x23, 0x14, 0x41, 0x34, 0x89, 0x10, 0x79, 0x13, 0x8b, 0x10, 0x52,
+ 0x94, 0x05, 0xfb, 0xa1, 0x8e, 0xaf, 0x33, 0x7b, 0x3a, 0x84, 0xab, 0x7f, 0x56, 0xa0, 0x31, 0xae,
+ 0xd3, 0x07, 0x42, 0xee, 0xba, 0x1d, 0xc1, 0xde, 0x87, 0x46, 0x7a, 0x70, 0xc7, 0x96, 0x12, 0x6d,
+ 0x65, 0x7a, 0x0a, 0xd9, 0x5a, 0xce, 0x17, 0x40, 0x07, 0xac, 0x42, 0xa4, 0x38, 0x3e, 0xde, 0x4a,
+ 0x2a, 0xce, 0x18, 0xdd, 0x25, 0x15, 0x67, 0x4d, 0xc6, 0x26, 0x8a, 0xe3, 0xc3, 0xa5, 0xa4, 0xe2,
+ 0x8c, 0x41, 0x58, 0x52, 0x71, 0xd6, 0x5c, 0xca, 0x2a, 0xb0, 0x7b, 0x30, 0x97, 0x98, 0x68, 0xb0,
+ 0x0b, 0xd3, 0x6e, 0x4e, 0x86, 0x36, 0xad, 0xc5, 0x1c, 0x6e, 0x5a, 0xdf, 0x78, 0x66, 0x94, 0xd4,
+ 0x97, 0x9e, 0x69, 0x25, 0xf5, 0x4d, 0x0d, 0x9a, 0xac, 0x02, 0xfb, 0x00, 0xe6, 0x53, 0xe3, 0x01,
+ 0x76, 0x31, 0xbe, 0x66, 0x7a, 0x1a, 0xd2, 0x5a, 0xca, 0xe5, 0x47, 0x5a, 0xaf, 0x19, 0xaf, 0x18,
+ 0xec, 0x1d, 0xa8, 0xc5, 0x9f, 0xa9, 0xec, 0x7c, 0x7c, 0x59, 0xea, 0x7d, 0xdd, 0xba, 0x90, 0xcd,
+ 0x1c, 0x9b, 0xf9, 0x1e, 0xd4, 0x93, 0x2f, 0x25, 0x96, 0x44, 0x2a, 0xfd, 0x04, 0x6d, 0x5d, 0xcc,
+ 0x63, 0x8f, 0x55, 0xb6, 0x01, 0x26, 0xb7, 0x6c, 0x76, 0x2e, 0x51, 0x6f, 0xf1, 0x67, 0x4b, 0xab,
+ 0x95, 0xc5, 0x1a, 0xab, 0x79, 0x84, 0x00, 0xc6, 0xce, 0xb7, 0x24, 0x80, 0xd3, 0x27, 0x70, 0x12,
+ 0xc0, 0x8c, 0x83, 0x51, 0x01, 0x38, 0x31, 0x4f, 0x75, 0xd0, 0xb4, 0x79, 0xb1, 0xe3, 0x29, 0x6d,
+ 0x5e, 0xbc, 0x29, 0x4f, 0xbc, 0xc4, 0x56, 0x90, 0x54, 0x93, 0xe8, 0xa0, 0x49, 0x35, 0xc9, 0xce,
+ 0x61, 0x15, 0x1e, 0x9b, 0xfa, 0x5f, 0x84, 0x57, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0xaa, 0x7d,
+ 0xb3, 0xe5, 0x6f, 0x18, 0x00, 0x00,
}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/ref.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ref.pb.go
index e9b02e6..913bfaa 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/ref.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ref.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: ref.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -41,7 +41,7 @@ func (x FindLocalBranchesRequest_SortBy) String() string {
return proto.EnumName(FindLocalBranchesRequest_SortBy_name, int32(x))
}
func (FindLocalBranchesRequest_SortBy) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor9, []int{10, 0}
+ return fileDescriptor8, []int{10, 0}
}
type CreateBranchResponse_Status int32
@@ -70,7 +70,7 @@ func (x CreateBranchResponse_Status) String() string {
return proto.EnumName(CreateBranchResponse_Status_name, int32(x))
}
func (CreateBranchResponse_Status) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor9, []int{21, 0}
+ return fileDescriptor8, []int{21, 0}
}
type ListNewBlobsRequest struct {
@@ -84,7 +84,7 @@ type ListNewBlobsRequest struct {
func (m *ListNewBlobsRequest) Reset() { *m = ListNewBlobsRequest{} }
func (m *ListNewBlobsRequest) String() string { return proto.CompactTextString(m) }
func (*ListNewBlobsRequest) ProtoMessage() {}
-func (*ListNewBlobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0} }
+func (*ListNewBlobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{0} }
func (m *ListNewBlobsRequest) GetRepository() *Repository {
if m != nil {
@@ -114,7 +114,7 @@ type ListNewBlobsResponse struct {
func (m *ListNewBlobsResponse) Reset() { *m = ListNewBlobsResponse{} }
func (m *ListNewBlobsResponse) String() string { return proto.CompactTextString(m) }
func (*ListNewBlobsResponse) ProtoMessage() {}
-func (*ListNewBlobsResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{1} }
+func (*ListNewBlobsResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{1} }
func (m *ListNewBlobsResponse) GetNewBlobObjects() []*NewBlobObject {
if m != nil {
@@ -130,7 +130,7 @@ type FindDefaultBranchNameRequest struct {
func (m *FindDefaultBranchNameRequest) Reset() { *m = FindDefaultBranchNameRequest{} }
func (m *FindDefaultBranchNameRequest) String() string { return proto.CompactTextString(m) }
func (*FindDefaultBranchNameRequest) ProtoMessage() {}
-func (*FindDefaultBranchNameRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{2} }
+func (*FindDefaultBranchNameRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{2} }
func (m *FindDefaultBranchNameRequest) GetRepository() *Repository {
if m != nil {
@@ -146,7 +146,7 @@ type FindDefaultBranchNameResponse struct {
func (m *FindDefaultBranchNameResponse) Reset() { *m = FindDefaultBranchNameResponse{} }
func (m *FindDefaultBranchNameResponse) String() string { return proto.CompactTextString(m) }
func (*FindDefaultBranchNameResponse) ProtoMessage() {}
-func (*FindDefaultBranchNameResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{3} }
+func (*FindDefaultBranchNameResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{3} }
func (m *FindDefaultBranchNameResponse) GetName() []byte {
if m != nil {
@@ -162,7 +162,7 @@ type FindAllBranchNamesRequest struct {
func (m *FindAllBranchNamesRequest) Reset() { *m = FindAllBranchNamesRequest{} }
func (m *FindAllBranchNamesRequest) String() string { return proto.CompactTextString(m) }
func (*FindAllBranchNamesRequest) ProtoMessage() {}
-func (*FindAllBranchNamesRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{4} }
+func (*FindAllBranchNamesRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{4} }
func (m *FindAllBranchNamesRequest) GetRepository() *Repository {
if m != nil {
@@ -178,7 +178,7 @@ type FindAllBranchNamesResponse struct {
func (m *FindAllBranchNamesResponse) Reset() { *m = FindAllBranchNamesResponse{} }
func (m *FindAllBranchNamesResponse) String() string { return proto.CompactTextString(m) }
func (*FindAllBranchNamesResponse) ProtoMessage() {}
-func (*FindAllBranchNamesResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{5} }
+func (*FindAllBranchNamesResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{5} }
func (m *FindAllBranchNamesResponse) GetNames() [][]byte {
if m != nil {
@@ -194,7 +194,7 @@ type FindAllTagNamesRequest struct {
func (m *FindAllTagNamesRequest) Reset() { *m = FindAllTagNamesRequest{} }
func (m *FindAllTagNamesRequest) String() string { return proto.CompactTextString(m) }
func (*FindAllTagNamesRequest) ProtoMessage() {}
-func (*FindAllTagNamesRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{6} }
+func (*FindAllTagNamesRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{6} }
func (m *FindAllTagNamesRequest) GetRepository() *Repository {
if m != nil {
@@ -210,7 +210,7 @@ type FindAllTagNamesResponse struct {
func (m *FindAllTagNamesResponse) Reset() { *m = FindAllTagNamesResponse{} }
func (m *FindAllTagNamesResponse) String() string { return proto.CompactTextString(m) }
func (*FindAllTagNamesResponse) ProtoMessage() {}
-func (*FindAllTagNamesResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{7} }
+func (*FindAllTagNamesResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{7} }
func (m *FindAllTagNamesResponse) GetNames() [][]byte {
if m != nil {
@@ -230,7 +230,7 @@ type FindRefNameRequest struct {
func (m *FindRefNameRequest) Reset() { *m = FindRefNameRequest{} }
func (m *FindRefNameRequest) String() string { return proto.CompactTextString(m) }
func (*FindRefNameRequest) ProtoMessage() {}
-func (*FindRefNameRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{8} }
+func (*FindRefNameRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{8} }
func (m *FindRefNameRequest) GetRepository() *Repository {
if m != nil {
@@ -261,7 +261,7 @@ type FindRefNameResponse struct {
func (m *FindRefNameResponse) Reset() { *m = FindRefNameResponse{} }
func (m *FindRefNameResponse) String() string { return proto.CompactTextString(m) }
func (*FindRefNameResponse) ProtoMessage() {}
-func (*FindRefNameResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{9} }
+func (*FindRefNameResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{9} }
func (m *FindRefNameResponse) GetName() []byte {
if m != nil {
@@ -278,7 +278,7 @@ type FindLocalBranchesRequest struct {
func (m *FindLocalBranchesRequest) Reset() { *m = FindLocalBranchesRequest{} }
func (m *FindLocalBranchesRequest) String() string { return proto.CompactTextString(m) }
func (*FindLocalBranchesRequest) ProtoMessage() {}
-func (*FindLocalBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{10} }
+func (*FindLocalBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{10} }
func (m *FindLocalBranchesRequest) GetRepository() *Repository {
if m != nil {
@@ -301,7 +301,7 @@ type FindLocalBranchesResponse struct {
func (m *FindLocalBranchesResponse) Reset() { *m = FindLocalBranchesResponse{} }
func (m *FindLocalBranchesResponse) String() string { return proto.CompactTextString(m) }
func (*FindLocalBranchesResponse) ProtoMessage() {}
-func (*FindLocalBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{11} }
+func (*FindLocalBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{11} }
func (m *FindLocalBranchesResponse) GetBranches() []*FindLocalBranchResponse {
if m != nil {
@@ -321,7 +321,7 @@ type FindLocalBranchResponse struct {
func (m *FindLocalBranchResponse) Reset() { *m = FindLocalBranchResponse{} }
func (m *FindLocalBranchResponse) String() string { return proto.CompactTextString(m) }
func (*FindLocalBranchResponse) ProtoMessage() {}
-func (*FindLocalBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{12} }
+func (*FindLocalBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{12} }
func (m *FindLocalBranchResponse) GetName() []byte {
if m != nil {
@@ -367,7 +367,7 @@ type FindLocalBranchCommitAuthor struct {
func (m *FindLocalBranchCommitAuthor) Reset() { *m = FindLocalBranchCommitAuthor{} }
func (m *FindLocalBranchCommitAuthor) String() string { return proto.CompactTextString(m) }
func (*FindLocalBranchCommitAuthor) ProtoMessage() {}
-func (*FindLocalBranchCommitAuthor) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{13} }
+func (*FindLocalBranchCommitAuthor) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{13} }
func (m *FindLocalBranchCommitAuthor) GetName() []byte {
if m != nil {
@@ -402,7 +402,7 @@ type FindAllBranchesRequest struct {
func (m *FindAllBranchesRequest) Reset() { *m = FindAllBranchesRequest{} }
func (m *FindAllBranchesRequest) String() string { return proto.CompactTextString(m) }
func (*FindAllBranchesRequest) ProtoMessage() {}
-func (*FindAllBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{14} }
+func (*FindAllBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{14} }
func (m *FindAllBranchesRequest) GetRepository() *Repository {
if m != nil {
@@ -432,7 +432,7 @@ type FindAllBranchesResponse struct {
func (m *FindAllBranchesResponse) Reset() { *m = FindAllBranchesResponse{} }
func (m *FindAllBranchesResponse) String() string { return proto.CompactTextString(m) }
func (*FindAllBranchesResponse) ProtoMessage() {}
-func (*FindAllBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{15} }
+func (*FindAllBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{15} }
func (m *FindAllBranchesResponse) GetBranches() []*FindAllBranchesResponse_Branch {
if m != nil {
@@ -450,7 +450,7 @@ func (m *FindAllBranchesResponse_Branch) Reset() { *m = FindAllBranchesR
func (m *FindAllBranchesResponse_Branch) String() string { return proto.CompactTextString(m) }
func (*FindAllBranchesResponse_Branch) ProtoMessage() {}
func (*FindAllBranchesResponse_Branch) Descriptor() ([]byte, []int) {
- return fileDescriptor9, []int{15, 0}
+ return fileDescriptor8, []int{15, 0}
}
func (m *FindAllBranchesResponse_Branch) GetName() []byte {
@@ -474,7 +474,7 @@ type FindAllTagsRequest struct {
func (m *FindAllTagsRequest) Reset() { *m = FindAllTagsRequest{} }
func (m *FindAllTagsRequest) String() string { return proto.CompactTextString(m) }
func (*FindAllTagsRequest) ProtoMessage() {}
-func (*FindAllTagsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{16} }
+func (*FindAllTagsRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{16} }
func (m *FindAllTagsRequest) GetRepository() *Repository {
if m != nil {
@@ -490,7 +490,7 @@ type FindAllTagsResponse struct {
func (m *FindAllTagsResponse) Reset() { *m = FindAllTagsResponse{} }
func (m *FindAllTagsResponse) String() string { return proto.CompactTextString(m) }
func (*FindAllTagsResponse) ProtoMessage() {}
-func (*FindAllTagsResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{17} }
+func (*FindAllTagsResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{17} }
func (m *FindAllTagsResponse) GetTags() []*Tag {
if m != nil {
@@ -508,7 +508,7 @@ type RefExistsRequest struct {
func (m *RefExistsRequest) Reset() { *m = RefExistsRequest{} }
func (m *RefExistsRequest) String() string { return proto.CompactTextString(m) }
func (*RefExistsRequest) ProtoMessage() {}
-func (*RefExistsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{18} }
+func (*RefExistsRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{18} }
func (m *RefExistsRequest) GetRepository() *Repository {
if m != nil {
@@ -531,7 +531,7 @@ type RefExistsResponse struct {
func (m *RefExistsResponse) Reset() { *m = RefExistsResponse{} }
func (m *RefExistsResponse) String() string { return proto.CompactTextString(m) }
func (*RefExistsResponse) ProtoMessage() {}
-func (*RefExistsResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{19} }
+func (*RefExistsResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{19} }
func (m *RefExistsResponse) GetValue() bool {
if m != nil {
@@ -549,7 +549,7 @@ type CreateBranchRequest struct {
func (m *CreateBranchRequest) Reset() { *m = CreateBranchRequest{} }
func (m *CreateBranchRequest) String() string { return proto.CompactTextString(m) }
func (*CreateBranchRequest) ProtoMessage() {}
-func (*CreateBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{20} }
+func (*CreateBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{20} }
func (m *CreateBranchRequest) GetRepository() *Repository {
if m != nil {
@@ -580,7 +580,7 @@ type CreateBranchResponse struct {
func (m *CreateBranchResponse) Reset() { *m = CreateBranchResponse{} }
func (m *CreateBranchResponse) String() string { return proto.CompactTextString(m) }
func (*CreateBranchResponse) ProtoMessage() {}
-func (*CreateBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{21} }
+func (*CreateBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{21} }
func (m *CreateBranchResponse) GetStatus() CreateBranchResponse_Status {
if m != nil {
@@ -604,7 +604,7 @@ type DeleteBranchRequest struct {
func (m *DeleteBranchRequest) Reset() { *m = DeleteBranchRequest{} }
func (m *DeleteBranchRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteBranchRequest) ProtoMessage() {}
-func (*DeleteBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{22} }
+func (*DeleteBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{22} }
func (m *DeleteBranchRequest) GetRepository() *Repository {
if m != nil {
@@ -627,7 +627,7 @@ type DeleteBranchResponse struct {
func (m *DeleteBranchResponse) Reset() { *m = DeleteBranchResponse{} }
func (m *DeleteBranchResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteBranchResponse) ProtoMessage() {}
-func (*DeleteBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{23} }
+func (*DeleteBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{23} }
type FindBranchRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -638,7 +638,7 @@ type FindBranchRequest struct {
func (m *FindBranchRequest) Reset() { *m = FindBranchRequest{} }
func (m *FindBranchRequest) String() string { return proto.CompactTextString(m) }
func (*FindBranchRequest) ProtoMessage() {}
-func (*FindBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{24} }
+func (*FindBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{24} }
func (m *FindBranchRequest) GetRepository() *Repository {
if m != nil {
@@ -661,7 +661,7 @@ type FindBranchResponse struct {
func (m *FindBranchResponse) Reset() { *m = FindBranchResponse{} }
func (m *FindBranchResponse) String() string { return proto.CompactTextString(m) }
func (*FindBranchResponse) ProtoMessage() {}
-func (*FindBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{25} }
+func (*FindBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{25} }
func (m *FindBranchResponse) GetBranch() *Branch {
if m != nil {
@@ -680,7 +680,7 @@ type DeleteRefsRequest struct {
func (m *DeleteRefsRequest) Reset() { *m = DeleteRefsRequest{} }
func (m *DeleteRefsRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteRefsRequest) ProtoMessage() {}
-func (*DeleteRefsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{26} }
+func (*DeleteRefsRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{26} }
func (m *DeleteRefsRequest) GetRepository() *Repository {
if m != nil {
@@ -710,7 +710,7 @@ type DeleteRefsResponse struct {
func (m *DeleteRefsResponse) Reset() { *m = DeleteRefsResponse{} }
func (m *DeleteRefsResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteRefsResponse) ProtoMessage() {}
-func (*DeleteRefsResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{27} }
+func (*DeleteRefsResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{27} }
func (m *DeleteRefsResponse) GetGitError() string {
if m != nil {
@@ -733,7 +733,7 @@ func (m *ListBranchNamesContainingCommitRequest) Reset() {
func (m *ListBranchNamesContainingCommitRequest) String() string { return proto.CompactTextString(m) }
func (*ListBranchNamesContainingCommitRequest) ProtoMessage() {}
func (*ListBranchNamesContainingCommitRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor9, []int{28}
+ return fileDescriptor8, []int{28}
}
func (m *ListBranchNamesContainingCommitRequest) GetRepository() *Repository {
@@ -767,7 +767,7 @@ func (m *ListBranchNamesContainingCommitResponse) Reset() {
func (m *ListBranchNamesContainingCommitResponse) String() string { return proto.CompactTextString(m) }
func (*ListBranchNamesContainingCommitResponse) ProtoMessage() {}
func (*ListBranchNamesContainingCommitResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor9, []int{29}
+ return fileDescriptor8, []int{29}
}
func (m *ListBranchNamesContainingCommitResponse) GetBranchNames() [][]byte {
@@ -789,7 +789,7 @@ func (m *ListTagNamesContainingCommitRequest) Reset() { *m = ListTagName
func (m *ListTagNamesContainingCommitRequest) String() string { return proto.CompactTextString(m) }
func (*ListTagNamesContainingCommitRequest) ProtoMessage() {}
func (*ListTagNamesContainingCommitRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor9, []int{30}
+ return fileDescriptor8, []int{30}
}
func (m *ListTagNamesContainingCommitRequest) GetRepository() *Repository {
@@ -821,7 +821,7 @@ func (m *ListTagNamesContainingCommitResponse) Reset() { *m = ListTagNam
func (m *ListTagNamesContainingCommitResponse) String() string { return proto.CompactTextString(m) }
func (*ListTagNamesContainingCommitResponse) ProtoMessage() {}
func (*ListTagNamesContainingCommitResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor9, []int{31}
+ return fileDescriptor8, []int{31}
}
func (m *ListTagNamesContainingCommitResponse) GetTagNames() [][]byte {
@@ -839,7 +839,7 @@ type GetTagMessagesRequest struct {
func (m *GetTagMessagesRequest) Reset() { *m = GetTagMessagesRequest{} }
func (m *GetTagMessagesRequest) String() string { return proto.CompactTextString(m) }
func (*GetTagMessagesRequest) ProtoMessage() {}
-func (*GetTagMessagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{32} }
+func (*GetTagMessagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{32} }
func (m *GetTagMessagesRequest) GetRepository() *Repository {
if m != nil {
@@ -864,7 +864,7 @@ type GetTagMessagesResponse struct {
func (m *GetTagMessagesResponse) Reset() { *m = GetTagMessagesResponse{} }
func (m *GetTagMessagesResponse) String() string { return proto.CompactTextString(m) }
func (*GetTagMessagesResponse) ProtoMessage() {}
-func (*GetTagMessagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{33} }
+func (*GetTagMessagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{33} }
func (m *GetTagMessagesResponse) GetMessage() []byte {
if m != nil {
@@ -888,7 +888,7 @@ type ListNewCommitsRequest struct {
func (m *ListNewCommitsRequest) Reset() { *m = ListNewCommitsRequest{} }
func (m *ListNewCommitsRequest) String() string { return proto.CompactTextString(m) }
func (*ListNewCommitsRequest) ProtoMessage() {}
-func (*ListNewCommitsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{34} }
+func (*ListNewCommitsRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{34} }
func (m *ListNewCommitsRequest) GetRepository() *Repository {
if m != nil {
@@ -911,7 +911,7 @@ type ListNewCommitsResponse struct {
func (m *ListNewCommitsResponse) Reset() { *m = ListNewCommitsResponse{} }
func (m *ListNewCommitsResponse) String() string { return proto.CompactTextString(m) }
func (*ListNewCommitsResponse) ProtoMessage() {}
-func (*ListNewCommitsResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{35} }
+func (*ListNewCommitsResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{35} }
func (m *ListNewCommitsResponse) GetCommits() []*GitCommit {
if m != nil {
@@ -928,7 +928,7 @@ type FindAllRemoteBranchesRequest struct {
func (m *FindAllRemoteBranchesRequest) Reset() { *m = FindAllRemoteBranchesRequest{} }
func (m *FindAllRemoteBranchesRequest) String() string { return proto.CompactTextString(m) }
func (*FindAllRemoteBranchesRequest) ProtoMessage() {}
-func (*FindAllRemoteBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{36} }
+func (*FindAllRemoteBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{36} }
func (m *FindAllRemoteBranchesRequest) GetRepository() *Repository {
if m != nil {
@@ -951,7 +951,7 @@ type FindAllRemoteBranchesResponse struct {
func (m *FindAllRemoteBranchesResponse) Reset() { *m = FindAllRemoteBranchesResponse{} }
func (m *FindAllRemoteBranchesResponse) String() string { return proto.CompactTextString(m) }
func (*FindAllRemoteBranchesResponse) ProtoMessage() {}
-func (*FindAllRemoteBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{37} }
+func (*FindAllRemoteBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{37} }
func (m *FindAllRemoteBranchesResponse) GetBranches() []*Branch {
if m != nil {
@@ -1941,9 +1941,9 @@ var _RefService_serviceDesc = grpc.ServiceDesc{
Metadata: "ref.proto",
}
-func init() { proto.RegisterFile("ref.proto", fileDescriptor9) }
+func init() { proto.RegisterFile("ref.proto", fileDescriptor8) }
-var fileDescriptor9 = []byte{
+var fileDescriptor8 = []byte{
// 1539 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0x5b, 0x6f, 0xdb, 0xc6,
0x12, 0x36, 0x65, 0x5b, 0x96, 0x46, 0x8a, 0x4c, 0xaf, 0x2f, 0x51, 0xe8, 0x24, 0x76, 0x36, 0x37,
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/remote.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/remote.pb.go
index 13ee1f3..8a0e609 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/remote.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/remote.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: remote.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -28,7 +28,7 @@ type AddRemoteRequest struct {
func (m *AddRemoteRequest) Reset() { *m = AddRemoteRequest{} }
func (m *AddRemoteRequest) String() string { return proto.CompactTextString(m) }
func (*AddRemoteRequest) ProtoMessage() {}
-func (*AddRemoteRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{0} }
+func (*AddRemoteRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0} }
func (m *AddRemoteRequest) GetRepository() *Repository {
if m != nil {
@@ -64,7 +64,7 @@ type AddRemoteResponse struct {
func (m *AddRemoteResponse) Reset() { *m = AddRemoteResponse{} }
func (m *AddRemoteResponse) String() string { return proto.CompactTextString(m) }
func (*AddRemoteResponse) ProtoMessage() {}
-func (*AddRemoteResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{1} }
+func (*AddRemoteResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{1} }
type RemoveRemoteRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -74,7 +74,7 @@ type RemoveRemoteRequest struct {
func (m *RemoveRemoteRequest) Reset() { *m = RemoveRemoteRequest{} }
func (m *RemoveRemoteRequest) String() string { return proto.CompactTextString(m) }
func (*RemoveRemoteRequest) ProtoMessage() {}
-func (*RemoveRemoteRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{2} }
+func (*RemoveRemoteRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{2} }
func (m *RemoveRemoteRequest) GetRepository() *Repository {
if m != nil {
@@ -97,7 +97,7 @@ type RemoveRemoteResponse struct {
func (m *RemoveRemoteResponse) Reset() { *m = RemoveRemoteResponse{} }
func (m *RemoveRemoteResponse) String() string { return proto.CompactTextString(m) }
func (*RemoveRemoteResponse) ProtoMessage() {}
-func (*RemoveRemoteResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{3} }
+func (*RemoveRemoteResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{3} }
func (m *RemoveRemoteResponse) GetResult() bool {
if m != nil {
@@ -114,7 +114,7 @@ type FetchInternalRemoteRequest struct {
func (m *FetchInternalRemoteRequest) Reset() { *m = FetchInternalRemoteRequest{} }
func (m *FetchInternalRemoteRequest) String() string { return proto.CompactTextString(m) }
func (*FetchInternalRemoteRequest) ProtoMessage() {}
-func (*FetchInternalRemoteRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{4} }
+func (*FetchInternalRemoteRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{4} }
func (m *FetchInternalRemoteRequest) GetRepository() *Repository {
if m != nil {
@@ -137,7 +137,7 @@ type FetchInternalRemoteResponse struct {
func (m *FetchInternalRemoteResponse) Reset() { *m = FetchInternalRemoteResponse{} }
func (m *FetchInternalRemoteResponse) String() string { return proto.CompactTextString(m) }
func (*FetchInternalRemoteResponse) ProtoMessage() {}
-func (*FetchInternalRemoteResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{5} }
+func (*FetchInternalRemoteResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{5} }
func (m *FetchInternalRemoteResponse) GetResult() bool {
if m != nil {
@@ -150,14 +150,12 @@ type UpdateRemoteMirrorRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
RefName string `protobuf:"bytes,2,opt,name=ref_name,json=refName" json:"ref_name,omitempty"`
OnlyBranchesMatching [][]byte `protobuf:"bytes,3,rep,name=only_branches_matching,json=onlyBranchesMatching,proto3" json:"only_branches_matching,omitempty"`
- SshKey string `protobuf:"bytes,4,opt,name=ssh_key,json=sshKey" json:"ssh_key,omitempty"`
- KnownHosts string `protobuf:"bytes,5,opt,name=known_hosts,json=knownHosts" json:"known_hosts,omitempty"`
}
func (m *UpdateRemoteMirrorRequest) Reset() { *m = UpdateRemoteMirrorRequest{} }
func (m *UpdateRemoteMirrorRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateRemoteMirrorRequest) ProtoMessage() {}
-func (*UpdateRemoteMirrorRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{6} }
+func (*UpdateRemoteMirrorRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{6} }
func (m *UpdateRemoteMirrorRequest) GetRepository() *Repository {
if m != nil {
@@ -180,27 +178,13 @@ func (m *UpdateRemoteMirrorRequest) GetOnlyBranchesMatching() [][]byte {
return nil
}
-func (m *UpdateRemoteMirrorRequest) GetSshKey() string {
- if m != nil {
- return m.SshKey
- }
- return ""
-}
-
-func (m *UpdateRemoteMirrorRequest) GetKnownHosts() string {
- if m != nil {
- return m.KnownHosts
- }
- return ""
-}
-
type UpdateRemoteMirrorResponse struct {
}
func (m *UpdateRemoteMirrorResponse) Reset() { *m = UpdateRemoteMirrorResponse{} }
func (m *UpdateRemoteMirrorResponse) String() string { return proto.CompactTextString(m) }
func (*UpdateRemoteMirrorResponse) ProtoMessage() {}
-func (*UpdateRemoteMirrorResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{7} }
+func (*UpdateRemoteMirrorResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{7} }
type FindRemoteRepositoryRequest struct {
Remote string `protobuf:"bytes,1,opt,name=remote" json:"remote,omitempty"`
@@ -209,7 +193,7 @@ type FindRemoteRepositoryRequest struct {
func (m *FindRemoteRepositoryRequest) Reset() { *m = FindRemoteRepositoryRequest{} }
func (m *FindRemoteRepositoryRequest) String() string { return proto.CompactTextString(m) }
func (*FindRemoteRepositoryRequest) ProtoMessage() {}
-func (*FindRemoteRepositoryRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{8} }
+func (*FindRemoteRepositoryRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{8} }
func (m *FindRemoteRepositoryRequest) GetRemote() string {
if m != nil {
@@ -227,7 +211,7 @@ type FindRemoteRepositoryResponse struct {
func (m *FindRemoteRepositoryResponse) Reset() { *m = FindRemoteRepositoryResponse{} }
func (m *FindRemoteRepositoryResponse) String() string { return proto.CompactTextString(m) }
func (*FindRemoteRepositoryResponse) ProtoMessage() {}
-func (*FindRemoteRepositoryResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{9} }
+func (*FindRemoteRepositoryResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{9} }
func (m *FindRemoteRepositoryResponse) GetExists() bool {
if m != nil {
@@ -236,46 +220,6 @@ func (m *FindRemoteRepositoryResponse) GetExists() bool {
return false
}
-type FindRemoteRootRefRequest struct {
- Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
- Remote string `protobuf:"bytes,2,opt,name=remote" json:"remote,omitempty"`
-}
-
-func (m *FindRemoteRootRefRequest) Reset() { *m = FindRemoteRootRefRequest{} }
-func (m *FindRemoteRootRefRequest) String() string { return proto.CompactTextString(m) }
-func (*FindRemoteRootRefRequest) ProtoMessage() {}
-func (*FindRemoteRootRefRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{10} }
-
-func (m *FindRemoteRootRefRequest) GetRepository() *Repository {
- if m != nil {
- return m.Repository
- }
- return nil
-}
-
-func (m *FindRemoteRootRefRequest) GetRemote() string {
- if m != nil {
- return m.Remote
- }
- return ""
-}
-
-type FindRemoteRootRefResponse struct {
- Ref string `protobuf:"bytes,1,opt,name=ref" json:"ref,omitempty"`
-}
-
-func (m *FindRemoteRootRefResponse) Reset() { *m = FindRemoteRootRefResponse{} }
-func (m *FindRemoteRootRefResponse) String() string { return proto.CompactTextString(m) }
-func (*FindRemoteRootRefResponse) ProtoMessage() {}
-func (*FindRemoteRootRefResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{11} }
-
-func (m *FindRemoteRootRefResponse) GetRef() string {
- if m != nil {
- return m.Ref
- }
- return ""
-}
-
func init() {
proto.RegisterType((*AddRemoteRequest)(nil), "gitaly.AddRemoteRequest")
proto.RegisterType((*AddRemoteResponse)(nil), "gitaly.AddRemoteResponse")
@@ -287,8 +231,6 @@ func init() {
proto.RegisterType((*UpdateRemoteMirrorResponse)(nil), "gitaly.UpdateRemoteMirrorResponse")
proto.RegisterType((*FindRemoteRepositoryRequest)(nil), "gitaly.FindRemoteRepositoryRequest")
proto.RegisterType((*FindRemoteRepositoryResponse)(nil), "gitaly.FindRemoteRepositoryResponse")
- proto.RegisterType((*FindRemoteRootRefRequest)(nil), "gitaly.FindRemoteRootRefRequest")
- proto.RegisterType((*FindRemoteRootRefResponse)(nil), "gitaly.FindRemoteRootRefResponse")
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -307,7 +249,6 @@ type RemoteServiceClient interface {
RemoveRemote(ctx context.Context, in *RemoveRemoteRequest, opts ...grpc.CallOption) (*RemoveRemoteResponse, error)
UpdateRemoteMirror(ctx context.Context, opts ...grpc.CallOption) (RemoteService_UpdateRemoteMirrorClient, error)
FindRemoteRepository(ctx context.Context, in *FindRemoteRepositoryRequest, opts ...grpc.CallOption) (*FindRemoteRepositoryResponse, error)
- FindRemoteRootRef(ctx context.Context, in *FindRemoteRootRefRequest, opts ...grpc.CallOption) (*FindRemoteRootRefResponse, error)
}
type remoteServiceClient struct {
@@ -388,15 +329,6 @@ func (c *remoteServiceClient) FindRemoteRepository(ctx context.Context, in *Find
return out, nil
}
-func (c *remoteServiceClient) FindRemoteRootRef(ctx context.Context, in *FindRemoteRootRefRequest, opts ...grpc.CallOption) (*FindRemoteRootRefResponse, error) {
- out := new(FindRemoteRootRefResponse)
- err := grpc.Invoke(ctx, "/gitaly.RemoteService/FindRemoteRootRef", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
// Server API for RemoteService service
type RemoteServiceServer interface {
@@ -405,7 +337,6 @@ type RemoteServiceServer interface {
RemoveRemote(context.Context, *RemoveRemoteRequest) (*RemoveRemoteResponse, error)
UpdateRemoteMirror(RemoteService_UpdateRemoteMirrorServer) error
FindRemoteRepository(context.Context, *FindRemoteRepositoryRequest) (*FindRemoteRepositoryResponse, error)
- FindRemoteRootRef(context.Context, *FindRemoteRootRefRequest) (*FindRemoteRootRefResponse, error)
}
func RegisterRemoteServiceServer(s *grpc.Server, srv RemoteServiceServer) {
@@ -510,24 +441,6 @@ func _RemoteService_FindRemoteRepository_Handler(srv interface{}, ctx context.Co
return interceptor(ctx, in, info, handler)
}
-func _RemoteService_FindRemoteRootRef_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(FindRemoteRootRefRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(RemoteServiceServer).FindRemoteRootRef(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/gitaly.RemoteService/FindRemoteRootRef",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(RemoteServiceServer).FindRemoteRootRef(ctx, req.(*FindRemoteRootRefRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
var _RemoteService_serviceDesc = grpc.ServiceDesc{
ServiceName: "gitaly.RemoteService",
HandlerType: (*RemoteServiceServer)(nil),
@@ -548,10 +461,6 @@ var _RemoteService_serviceDesc = grpc.ServiceDesc{
MethodName: "FindRemoteRepository",
Handler: _RemoteService_FindRemoteRepository_Handler,
},
- {
- MethodName: "FindRemoteRootRef",
- Handler: _RemoteService_FindRemoteRootRef_Handler,
- },
},
Streams: []grpc.StreamDesc{
{
@@ -563,44 +472,39 @@ var _RemoteService_serviceDesc = grpc.ServiceDesc{
Metadata: "remote.proto",
}
-func init() { proto.RegisterFile("remote.proto", fileDescriptor10) }
-
-var fileDescriptor10 = []byte{
- // 574 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x4d, 0x6f, 0xd3, 0x30,
- 0x18, 0x26, 0x4b, 0xd7, 0xb5, 0xef, 0x3a, 0xd4, 0xba, 0xd5, 0x48, 0xb3, 0x4a, 0x74, 0x06, 0xa4,
- 0x5e, 0xe8, 0xa1, 0x7c, 0x5c, 0x11, 0x3b, 0x20, 0x60, 0x1a, 0x07, 0x23, 0x2e, 0x48, 0x28, 0x64,
- 0xed, 0x9b, 0x25, 0x5a, 0x1b, 0x17, 0xdb, 0x1d, 0xf4, 0x67, 0xf0, 0x1f, 0x38, 0xf0, 0x9b, 0xf8,
- 0x35, 0xc8, 0x89, 0x93, 0xa6, 0x34, 0x2d, 0x12, 0x13, 0x37, 0xfb, 0x79, 0x3f, 0xfc, 0x3e, 0x8f,
- 0x1f, 0x27, 0xd0, 0x10, 0x38, 0xe3, 0x0a, 0x87, 0x73, 0xc1, 0x15, 0x27, 0xd5, 0xab, 0x48, 0xf9,
- 0xd3, 0xa5, 0xdb, 0x90, 0xa1, 0x2f, 0x70, 0x92, 0xa2, 0xf4, 0xa7, 0x05, 0xcd, 0x97, 0x93, 0x09,
- 0x4b, 0x32, 0x19, 0x7e, 0x59, 0xa0, 0x54, 0x64, 0x04, 0x20, 0x70, 0xce, 0x65, 0xa4, 0xb8, 0x58,
- 0x3a, 0x56, 0xdf, 0x1a, 0x1c, 0x8e, 0xc8, 0x30, 0xad, 0x1f, 0xb2, 0x3c, 0xc2, 0x0a, 0x59, 0x84,
- 0x40, 0x25, 0xf6, 0x67, 0xe8, 0xec, 0xf5, 0xad, 0x41, 0x9d, 0x25, 0x6b, 0xd2, 0x04, 0x7b, 0x21,
- 0xa6, 0x8e, 0x9d, 0x40, 0x7a, 0x49, 0x1e, 0xc1, 0xdd, 0x59, 0x24, 0x04, 0x17, 0x9e, 0xc0, 0x60,
- 0xe6, 0xcf, 0xa5, 0xb3, 0xdf, 0xb7, 0x07, 0x75, 0x76, 0x94, 0xa2, 0x2c, 0x05, 0xdf, 0x56, 0x6a,
- 0x95, 0xe6, 0x7e, 0x06, 0x9a, 0x54, 0xda, 0x86, 0x56, 0x61, 0x52, 0x39, 0xe7, 0xb1, 0x44, 0xfa,
- 0x09, 0xda, 0x1a, 0xb9, 0xc1, 0xff, 0xc2, 0x80, 0x0e, 0xa1, 0xb3, 0xde, 0x3e, 0x3d, 0x96, 0x1c,
- 0x43, 0x55, 0xa0, 0x5c, 0x4c, 0x55, 0xd2, 0xbb, 0xc6, 0xcc, 0x8e, 0x7e, 0xb7, 0xc0, 0x7d, 0x85,
- 0x6a, 0x1c, 0xbe, 0x89, 0x15, 0x8a, 0xd8, 0x9f, 0xde, 0x7e, 0xac, 0x17, 0xd0, 0x4a, 0xef, 0xd1,
- 0x2b, 0x94, 0xee, 0x6d, 0x2d, 0x6d, 0x0a, 0x73, 0x62, 0x86, 0xd0, 0x67, 0x70, 0x52, 0x3a, 0xd2,
- 0x5f, 0xa8, 0xfc, 0xb2, 0xa0, 0xfb, 0x61, 0x3e, 0xf1, 0x95, 0xe1, 0x7e, 0x61, 0x6e, 0xe8, 0xdf,
- 0x99, 0x74, 0xa1, 0x26, 0x30, 0xf0, 0x0a, 0x22, 0x1f, 0x08, 0x0c, 0xde, 0x69, 0xa7, 0x3c, 0x85,
- 0x63, 0x1e, 0x4f, 0x97, 0xde, 0xa5, 0xf0, 0xe3, 0x71, 0x88, 0xd2, 0x9b, 0xf9, 0x6a, 0x1c, 0x46,
- 0xf1, 0x95, 0x63, 0xf7, 0xed, 0x41, 0x83, 0x75, 0x74, 0xf4, 0xcc, 0x04, 0x2f, 0x4c, 0x8c, 0xdc,
- 0x83, 0x03, 0x29, 0x43, 0xef, 0x1a, 0x97, 0x4e, 0x25, 0xe9, 0x57, 0x95, 0x32, 0x3c, 0xc7, 0x25,
- 0xb9, 0x0f, 0x87, 0xd7, 0x31, 0xff, 0x1a, 0x7b, 0x21, 0x97, 0x4a, 0x7b, 0x4c, 0x07, 0x21, 0x81,
- 0x5e, 0x6b, 0x84, 0xf6, 0xc0, 0x2d, 0xe3, 0x66, 0x4c, 0xa5, 0x15, 0x8b, 0xe2, 0xdc, 0x6a, 0x39,
- 0x19, 0xc3, 0x3d, 0x51, 0x4c, 0x87, 0x12, 0xde, 0x75, 0x66, 0x76, 0xf4, 0x39, 0xf4, 0xca, 0xcb,
- 0x56, 0x4a, 0xe3, 0xb7, 0x48, 0x0f, 0x64, 0x94, 0x4e, 0x77, 0x34, 0x00, 0xa7, 0x50, 0xc7, 0xb9,
- 0x62, 0x18, 0xdc, 0x46, 0xe7, 0xd5, 0x7c, 0x7b, 0x6b, 0xf3, 0x3d, 0x86, 0x6e, 0xc9, 0x39, 0x66,
- 0xb8, 0x26, 0xd8, 0x02, 0x03, 0xc3, 0x48, 0x2f, 0x47, 0x3f, 0x2a, 0x70, 0x94, 0xe6, 0xbe, 0x47,
- 0x71, 0x13, 0x8d, 0x91, 0x9c, 0x41, 0x3d, 0x7f, 0x81, 0xc4, 0xc9, 0xa6, 0xf8, 0xf3, 0xf3, 0xe1,
- 0x76, 0x4b, 0x22, 0x46, 0xd9, 0x3b, 0xe4, 0x33, 0xb4, 0x4b, 0xdc, 0x48, 0x68, 0x56, 0xb3, 0xfd,
- 0xf5, 0xb8, 0x0f, 0x76, 0xe6, 0xe4, 0x27, 0x9c, 0x43, 0xa3, 0xf8, 0x66, 0xc9, 0xc9, 0x4a, 0xae,
- 0x8d, 0x0f, 0x85, 0xdb, 0x2b, 0x0f, 0xe6, 0xcd, 0x3c, 0x20, 0x9b, 0x46, 0x21, 0xa7, 0x59, 0xd5,
- 0xd6, 0x07, 0xe2, 0xd2, 0x5d, 0x29, 0x59, 0xfb, 0x81, 0x45, 0xc6, 0xd0, 0x29, 0x33, 0x0d, 0x59,
- 0x91, 0xdd, 0xee, 0x44, 0xf7, 0xe1, 0xee, 0xa4, 0x9c, 0xc5, 0x47, 0x68, 0x6d, 0xdc, 0x3c, 0xe9,
- 0x97, 0x14, 0xaf, 0x99, 0xcf, 0x3d, 0xdd, 0x91, 0x91, 0xf5, 0xbe, 0xac, 0x26, 0x3f, 0x92, 0x27,
- 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x29, 0x20, 0x7c, 0x92, 0x6e, 0x06, 0x00, 0x00,
+func init() { proto.RegisterFile("remote.proto", fileDescriptor9) }
+
+var fileDescriptor9 = []byte{
+ // 485 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x54, 0xcd, 0x6e, 0xd3, 0x40,
+ 0x10, 0xc6, 0x75, 0x1a, 0x92, 0x21, 0x45, 0xe9, 0x26, 0xaa, 0x1c, 0x37, 0x87, 0xb0, 0x80, 0xe4,
+ 0x53, 0x0e, 0xe1, 0xe7, 0x8a, 0xe8, 0x01, 0x09, 0x50, 0x39, 0x2c, 0xe2, 0x88, 0x8c, 0xeb, 0x4c,
+ 0x1a, 0x4b, 0xfe, 0x63, 0x76, 0x53, 0x91, 0xc7, 0xe0, 0x0d, 0x38, 0xf2, 0x28, 0x3c, 0x16, 0xb2,
+ 0xbd, 0xeb, 0x18, 0xea, 0x04, 0x09, 0xc4, 0xcd, 0x3b, 0x33, 0xdf, 0xce, 0x7c, 0xf3, 0x7d, 0x6b,
+ 0x18, 0x10, 0x26, 0x99, 0xc2, 0x79, 0x4e, 0x99, 0xca, 0x58, 0xf7, 0x3a, 0x52, 0x41, 0xbc, 0x75,
+ 0x07, 0x72, 0x1d, 0x10, 0x2e, 0xab, 0x28, 0xff, 0x6e, 0xc1, 0xf0, 0xe5, 0x72, 0x29, 0xca, 0x4a,
+ 0x81, 0x9f, 0x37, 0x28, 0x15, 0x5b, 0x00, 0x10, 0xe6, 0x99, 0x8c, 0x54, 0x46, 0x5b, 0xc7, 0x9a,
+ 0x59, 0xde, 0xbd, 0x05, 0x9b, 0x57, 0xf8, 0xb9, 0xa8, 0x33, 0xa2, 0x51, 0xc5, 0x18, 0x74, 0xd2,
+ 0x20, 0x41, 0xe7, 0x68, 0x66, 0x79, 0x7d, 0x51, 0x7e, 0xb3, 0x21, 0xd8, 0x1b, 0x8a, 0x1d, 0xbb,
+ 0x0c, 0x15, 0x9f, 0xec, 0x31, 0xdc, 0x4f, 0x22, 0xa2, 0x8c, 0x7c, 0xc2, 0x55, 0x12, 0xe4, 0xd2,
+ 0x39, 0x9e, 0xd9, 0x5e, 0x5f, 0x9c, 0x54, 0x51, 0x51, 0x05, 0xdf, 0x74, 0x7a, 0x9d, 0xe1, 0xb1,
+ 0x09, 0xea, 0x52, 0x3e, 0x82, 0xd3, 0xc6, 0xa4, 0x32, 0xcf, 0x52, 0x89, 0xfc, 0x23, 0x8c, 0x8a,
+ 0xc8, 0x0d, 0xfe, 0x17, 0x06, 0x7c, 0x0e, 0xe3, 0x5f, 0xaf, 0xaf, 0xda, 0xb2, 0x33, 0xe8, 0x12,
+ 0xca, 0x4d, 0xac, 0xca, 0xbb, 0x7b, 0x42, 0x9f, 0xf8, 0x57, 0x0b, 0xdc, 0x57, 0xa8, 0xc2, 0xf5,
+ 0xeb, 0x54, 0x21, 0xa5, 0x41, 0xfc, 0xef, 0x63, 0xbd, 0x80, 0xd3, 0x4a, 0x47, 0xbf, 0x01, 0x3d,
+ 0xda, 0x0b, 0x1d, 0x92, 0xee, 0x68, 0x22, 0xfc, 0x19, 0x9c, 0xb7, 0x8e, 0xf4, 0x07, 0x2a, 0xdf,
+ 0x2c, 0x98, 0x7c, 0xc8, 0x97, 0x81, 0xd2, 0xdc, 0x2f, 0xb5, 0x42, 0x7f, 0xcf, 0x64, 0x02, 0x3d,
+ 0xc2, 0x95, 0xdf, 0x58, 0xf2, 0x5d, 0xc2, 0xd5, 0xbb, 0xc2, 0x29, 0x4f, 0xe1, 0x2c, 0x4b, 0xe3,
+ 0xad, 0x7f, 0x45, 0x41, 0x1a, 0xae, 0x51, 0xfa, 0x49, 0xa0, 0xc2, 0x75, 0x94, 0x5e, 0x3b, 0xf6,
+ 0xcc, 0xf6, 0x06, 0x62, 0x5c, 0x64, 0x2f, 0x74, 0xf2, 0x52, 0xe7, 0xf8, 0x14, 0xdc, 0xb6, 0x09,
+ 0xb5, 0x35, 0x0a, 0xde, 0x51, 0x5a, 0x1b, 0xa6, 0x1e, 0x49, 0x33, 0x28, 0x79, 0x17, 0xa9, 0x72,
+ 0xfa, 0xbe, 0xd0, 0x27, 0xfe, 0x1c, 0xa6, 0xed, 0xb0, 0xdd, 0xbe, 0xf0, 0x4b, 0x24, 0x95, 0x34,
+ 0xfb, 0xaa, 0x4e, 0x8b, 0x1f, 0x36, 0x9c, 0x54, 0xa0, 0xf7, 0x48, 0x37, 0x51, 0x88, 0xec, 0x02,
+ 0xfa, 0xb5, 0x61, 0x99, 0x63, 0x96, 0xf3, 0xfb, 0x6b, 0x73, 0x27, 0x2d, 0x19, 0x4d, 0xe1, 0x0e,
+ 0xfb, 0x04, 0xa3, 0x16, 0xf1, 0x18, 0x37, 0x98, 0xfd, 0x66, 0x73, 0x1f, 0x1e, 0xac, 0xa9, 0x3b,
+ 0xbc, 0x85, 0x41, 0xd3, 0xe2, 0xec, 0x7c, 0xa7, 0xe2, 0xad, 0x77, 0xe5, 0x4e, 0xdb, 0x93, 0xf5,
+ 0x65, 0x3e, 0xb0, 0xdb, 0x8a, 0xb0, 0x07, 0x06, 0xb5, 0xd7, 0x4f, 0x2e, 0x3f, 0x54, 0x62, 0xae,
+ 0xf7, 0x2c, 0x16, 0xc2, 0xb8, 0x4d, 0x1d, 0xb6, 0x23, 0xbb, 0x5f, 0x72, 0xf7, 0xd1, 0xe1, 0x22,
+ 0xd3, 0xe6, 0xaa, 0x5b, 0xfe, 0x1b, 0x9f, 0xfc, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xe5, 0x0c, 0x2a,
+ 0x1a, 0x41, 0x05, 0x00, 0x00,
}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/repository-service.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/repository-service.pb.go
index 8ca6b01..4ef426a 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/repository-service.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/repository-service.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: repository-service.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -43,7 +43,7 @@ func (x GetArchiveRequest_Format) String() string {
return proto.EnumName(GetArchiveRequest_Format_name, int32(x))
}
func (GetArchiveRequest_Format) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor11, []int{18, 0}
+ return fileDescriptor10, []int{18, 0}
}
type GetRawChangesResponse_RawChange_Operation int32
@@ -81,7 +81,7 @@ func (x GetRawChangesResponse_RawChange_Operation) String() string {
return proto.EnumName(GetRawChangesResponse_RawChange_Operation_name, int32(x))
}
func (GetRawChangesResponse_RawChange_Operation) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor11, []int{63, 0, 0}
+ return fileDescriptor10, []int{63, 0, 0}
}
type RepositoryExistsRequest struct {
@@ -91,7 +91,7 @@ type RepositoryExistsRequest struct {
func (m *RepositoryExistsRequest) Reset() { *m = RepositoryExistsRequest{} }
func (m *RepositoryExistsRequest) String() string { return proto.CompactTextString(m) }
func (*RepositoryExistsRequest) ProtoMessage() {}
-func (*RepositoryExistsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0} }
+func (*RepositoryExistsRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{0} }
func (m *RepositoryExistsRequest) GetRepository() *Repository {
if m != nil {
@@ -107,7 +107,7 @@ type RepositoryExistsResponse struct {
func (m *RepositoryExistsResponse) Reset() { *m = RepositoryExistsResponse{} }
func (m *RepositoryExistsResponse) String() string { return proto.CompactTextString(m) }
func (*RepositoryExistsResponse) ProtoMessage() {}
-func (*RepositoryExistsResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{1} }
+func (*RepositoryExistsResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{1} }
func (m *RepositoryExistsResponse) GetExists() bool {
if m != nil {
@@ -123,7 +123,7 @@ type RepackIncrementalRequest struct {
func (m *RepackIncrementalRequest) Reset() { *m = RepackIncrementalRequest{} }
func (m *RepackIncrementalRequest) String() string { return proto.CompactTextString(m) }
func (*RepackIncrementalRequest) ProtoMessage() {}
-func (*RepackIncrementalRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{2} }
+func (*RepackIncrementalRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{2} }
func (m *RepackIncrementalRequest) GetRepository() *Repository {
if m != nil {
@@ -138,7 +138,7 @@ type RepackIncrementalResponse struct {
func (m *RepackIncrementalResponse) Reset() { *m = RepackIncrementalResponse{} }
func (m *RepackIncrementalResponse) String() string { return proto.CompactTextString(m) }
func (*RepackIncrementalResponse) ProtoMessage() {}
-func (*RepackIncrementalResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{3} }
+func (*RepackIncrementalResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{3} }
type RepackFullRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -148,7 +148,7 @@ type RepackFullRequest struct {
func (m *RepackFullRequest) Reset() { *m = RepackFullRequest{} }
func (m *RepackFullRequest) String() string { return proto.CompactTextString(m) }
func (*RepackFullRequest) ProtoMessage() {}
-func (*RepackFullRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{4} }
+func (*RepackFullRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{4} }
func (m *RepackFullRequest) GetRepository() *Repository {
if m != nil {
@@ -170,7 +170,7 @@ type RepackFullResponse struct {
func (m *RepackFullResponse) Reset() { *m = RepackFullResponse{} }
func (m *RepackFullResponse) String() string { return proto.CompactTextString(m) }
func (*RepackFullResponse) ProtoMessage() {}
-func (*RepackFullResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{5} }
+func (*RepackFullResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{5} }
type GarbageCollectRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -180,7 +180,7 @@ type GarbageCollectRequest struct {
func (m *GarbageCollectRequest) Reset() { *m = GarbageCollectRequest{} }
func (m *GarbageCollectRequest) String() string { return proto.CompactTextString(m) }
func (*GarbageCollectRequest) ProtoMessage() {}
-func (*GarbageCollectRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{6} }
+func (*GarbageCollectRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{6} }
func (m *GarbageCollectRequest) GetRepository() *Repository {
if m != nil {
@@ -202,7 +202,7 @@ type GarbageCollectResponse struct {
func (m *GarbageCollectResponse) Reset() { *m = GarbageCollectResponse{} }
func (m *GarbageCollectResponse) String() string { return proto.CompactTextString(m) }
func (*GarbageCollectResponse) ProtoMessage() {}
-func (*GarbageCollectResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{7} }
+func (*GarbageCollectResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{7} }
type CleanupRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -211,7 +211,7 @@ type CleanupRequest struct {
func (m *CleanupRequest) Reset() { *m = CleanupRequest{} }
func (m *CleanupRequest) String() string { return proto.CompactTextString(m) }
func (*CleanupRequest) ProtoMessage() {}
-func (*CleanupRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{8} }
+func (*CleanupRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{8} }
func (m *CleanupRequest) GetRepository() *Repository {
if m != nil {
@@ -226,7 +226,7 @@ type CleanupResponse struct {
func (m *CleanupResponse) Reset() { *m = CleanupResponse{} }
func (m *CleanupResponse) String() string { return proto.CompactTextString(m) }
func (*CleanupResponse) ProtoMessage() {}
-func (*CleanupResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{9} }
+func (*CleanupResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{9} }
type RepositorySizeRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -235,7 +235,7 @@ type RepositorySizeRequest struct {
func (m *RepositorySizeRequest) Reset() { *m = RepositorySizeRequest{} }
func (m *RepositorySizeRequest) String() string { return proto.CompactTextString(m) }
func (*RepositorySizeRequest) ProtoMessage() {}
-func (*RepositorySizeRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{10} }
+func (*RepositorySizeRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{10} }
func (m *RepositorySizeRequest) GetRepository() *Repository {
if m != nil {
@@ -252,7 +252,7 @@ type RepositorySizeResponse struct {
func (m *RepositorySizeResponse) Reset() { *m = RepositorySizeResponse{} }
func (m *RepositorySizeResponse) String() string { return proto.CompactTextString(m) }
func (*RepositorySizeResponse) ProtoMessage() {}
-func (*RepositorySizeResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{11} }
+func (*RepositorySizeResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{11} }
func (m *RepositorySizeResponse) GetSize() int64 {
if m != nil {
@@ -269,7 +269,7 @@ type ApplyGitattributesRequest struct {
func (m *ApplyGitattributesRequest) Reset() { *m = ApplyGitattributesRequest{} }
func (m *ApplyGitattributesRequest) String() string { return proto.CompactTextString(m) }
func (*ApplyGitattributesRequest) ProtoMessage() {}
-func (*ApplyGitattributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{12} }
+func (*ApplyGitattributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{12} }
func (m *ApplyGitattributesRequest) GetRepository() *Repository {
if m != nil {
@@ -291,7 +291,7 @@ type ApplyGitattributesResponse struct {
func (m *ApplyGitattributesResponse) Reset() { *m = ApplyGitattributesResponse{} }
func (m *ApplyGitattributesResponse) String() string { return proto.CompactTextString(m) }
func (*ApplyGitattributesResponse) ProtoMessage() {}
-func (*ApplyGitattributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{13} }
+func (*ApplyGitattributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{13} }
type FetchRemoteRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -307,7 +307,7 @@ type FetchRemoteRequest struct {
func (m *FetchRemoteRequest) Reset() { *m = FetchRemoteRequest{} }
func (m *FetchRemoteRequest) String() string { return proto.CompactTextString(m) }
func (*FetchRemoteRequest) ProtoMessage() {}
-func (*FetchRemoteRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{14} }
+func (*FetchRemoteRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{14} }
func (m *FetchRemoteRequest) GetRepository() *Repository {
if m != nil {
@@ -371,7 +371,7 @@ type FetchRemoteResponse struct {
func (m *FetchRemoteResponse) Reset() { *m = FetchRemoteResponse{} }
func (m *FetchRemoteResponse) String() string { return proto.CompactTextString(m) }
func (*FetchRemoteResponse) ProtoMessage() {}
-func (*FetchRemoteResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{15} }
+func (*FetchRemoteResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{15} }
type CreateRepositoryRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -380,7 +380,7 @@ type CreateRepositoryRequest struct {
func (m *CreateRepositoryRequest) Reset() { *m = CreateRepositoryRequest{} }
func (m *CreateRepositoryRequest) String() string { return proto.CompactTextString(m) }
func (*CreateRepositoryRequest) ProtoMessage() {}
-func (*CreateRepositoryRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{16} }
+func (*CreateRepositoryRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{16} }
func (m *CreateRepositoryRequest) GetRepository() *Repository {
if m != nil {
@@ -395,7 +395,7 @@ type CreateRepositoryResponse struct {
func (m *CreateRepositoryResponse) Reset() { *m = CreateRepositoryResponse{} }
func (m *CreateRepositoryResponse) String() string { return proto.CompactTextString(m) }
func (*CreateRepositoryResponse) ProtoMessage() {}
-func (*CreateRepositoryResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{17} }
+func (*CreateRepositoryResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{17} }
type GetArchiveRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -407,7 +407,7 @@ type GetArchiveRequest struct {
func (m *GetArchiveRequest) Reset() { *m = GetArchiveRequest{} }
func (m *GetArchiveRequest) String() string { return proto.CompactTextString(m) }
func (*GetArchiveRequest) ProtoMessage() {}
-func (*GetArchiveRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{18} }
+func (*GetArchiveRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{18} }
func (m *GetArchiveRequest) GetRepository() *Repository {
if m != nil {
@@ -444,7 +444,7 @@ type GetArchiveResponse struct {
func (m *GetArchiveResponse) Reset() { *m = GetArchiveResponse{} }
func (m *GetArchiveResponse) String() string { return proto.CompactTextString(m) }
func (*GetArchiveResponse) ProtoMessage() {}
-func (*GetArchiveResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{19} }
+func (*GetArchiveResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{19} }
func (m *GetArchiveResponse) GetData() []byte {
if m != nil {
@@ -460,7 +460,7 @@ type HasLocalBranchesRequest struct {
func (m *HasLocalBranchesRequest) Reset() { *m = HasLocalBranchesRequest{} }
func (m *HasLocalBranchesRequest) String() string { return proto.CompactTextString(m) }
func (*HasLocalBranchesRequest) ProtoMessage() {}
-func (*HasLocalBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{20} }
+func (*HasLocalBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{20} }
func (m *HasLocalBranchesRequest) GetRepository() *Repository {
if m != nil {
@@ -476,7 +476,7 @@ type HasLocalBranchesResponse struct {
func (m *HasLocalBranchesResponse) Reset() { *m = HasLocalBranchesResponse{} }
func (m *HasLocalBranchesResponse) String() string { return proto.CompactTextString(m) }
func (*HasLocalBranchesResponse) ProtoMessage() {}
-func (*HasLocalBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{21} }
+func (*HasLocalBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{21} }
func (m *HasLocalBranchesResponse) GetValue() bool {
if m != nil {
@@ -495,7 +495,7 @@ type FetchSourceBranchRequest struct {
func (m *FetchSourceBranchRequest) Reset() { *m = FetchSourceBranchRequest{} }
func (m *FetchSourceBranchRequest) String() string { return proto.CompactTextString(m) }
func (*FetchSourceBranchRequest) ProtoMessage() {}
-func (*FetchSourceBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{22} }
+func (*FetchSourceBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{22} }
func (m *FetchSourceBranchRequest) GetRepository() *Repository {
if m != nil {
@@ -532,7 +532,7 @@ type FetchSourceBranchResponse struct {
func (m *FetchSourceBranchResponse) Reset() { *m = FetchSourceBranchResponse{} }
func (m *FetchSourceBranchResponse) String() string { return proto.CompactTextString(m) }
func (*FetchSourceBranchResponse) ProtoMessage() {}
-func (*FetchSourceBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{23} }
+func (*FetchSourceBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{23} }
func (m *FetchSourceBranchResponse) GetResult() bool {
if m != nil {
@@ -548,7 +548,7 @@ type FsckRequest struct {
func (m *FsckRequest) Reset() { *m = FsckRequest{} }
func (m *FsckRequest) String() string { return proto.CompactTextString(m) }
func (*FsckRequest) ProtoMessage() {}
-func (*FsckRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{24} }
+func (*FsckRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{24} }
func (m *FsckRequest) GetRepository() *Repository {
if m != nil {
@@ -564,7 +564,7 @@ type FsckResponse struct {
func (m *FsckResponse) Reset() { *m = FsckResponse{} }
func (m *FsckResponse) String() string { return proto.CompactTextString(m) }
func (*FsckResponse) ProtoMessage() {}
-func (*FsckResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{25} }
+func (*FsckResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{25} }
func (m *FsckResponse) GetError() []byte {
if m != nil {
@@ -579,12 +579,13 @@ type WriteRefRequest struct {
Revision []byte `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"`
OldRevision []byte `protobuf:"bytes,4,opt,name=old_revision,json=oldRevision,proto3" json:"old_revision,omitempty"`
Force bool `protobuf:"varint,5,opt,name=force" json:"force,omitempty"`
+ Shell bool `protobuf:"varint,6,opt,name=shell" json:"shell,omitempty"`
}
func (m *WriteRefRequest) Reset() { *m = WriteRefRequest{} }
func (m *WriteRefRequest) String() string { return proto.CompactTextString(m) }
func (*WriteRefRequest) ProtoMessage() {}
-func (*WriteRefRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{26} }
+func (*WriteRefRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{26} }
func (m *WriteRefRequest) GetRepository() *Repository {
if m != nil {
@@ -621,13 +622,28 @@ func (m *WriteRefRequest) GetForce() bool {
return false
}
+func (m *WriteRefRequest) GetShell() bool {
+ if m != nil {
+ return m.Shell
+ }
+ return false
+}
+
type WriteRefResponse struct {
+ Error []byte `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
}
func (m *WriteRefResponse) Reset() { *m = WriteRefResponse{} }
func (m *WriteRefResponse) String() string { return proto.CompactTextString(m) }
func (*WriteRefResponse) ProtoMessage() {}
-func (*WriteRefResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{27} }
+func (*WriteRefResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{27} }
+
+func (m *WriteRefResponse) GetError() []byte {
+ if m != nil {
+ return m.Error
+ }
+ return nil
+}
type FindMergeBaseRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -640,7 +656,7 @@ type FindMergeBaseRequest struct {
func (m *FindMergeBaseRequest) Reset() { *m = FindMergeBaseRequest{} }
func (m *FindMergeBaseRequest) String() string { return proto.CompactTextString(m) }
func (*FindMergeBaseRequest) ProtoMessage() {}
-func (*FindMergeBaseRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{28} }
+func (*FindMergeBaseRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{28} }
func (m *FindMergeBaseRequest) GetRepository() *Repository {
if m != nil {
@@ -663,7 +679,7 @@ type FindMergeBaseResponse struct {
func (m *FindMergeBaseResponse) Reset() { *m = FindMergeBaseResponse{} }
func (m *FindMergeBaseResponse) String() string { return proto.CompactTextString(m) }
func (*FindMergeBaseResponse) ProtoMessage() {}
-func (*FindMergeBaseResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{29} }
+func (*FindMergeBaseResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{29} }
func (m *FindMergeBaseResponse) GetBase() string {
if m != nil {
@@ -680,7 +696,7 @@ type CreateForkRequest struct {
func (m *CreateForkRequest) Reset() { *m = CreateForkRequest{} }
func (m *CreateForkRequest) String() string { return proto.CompactTextString(m) }
func (*CreateForkRequest) ProtoMessage() {}
-func (*CreateForkRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{30} }
+func (*CreateForkRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{30} }
func (m *CreateForkRequest) GetRepository() *Repository {
if m != nil {
@@ -702,7 +718,7 @@ type CreateForkResponse struct {
func (m *CreateForkResponse) Reset() { *m = CreateForkResponse{} }
func (m *CreateForkResponse) String() string { return proto.CompactTextString(m) }
func (*CreateForkResponse) ProtoMessage() {}
-func (*CreateForkResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{31} }
+func (*CreateForkResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{31} }
type IsRebaseInProgressRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -712,7 +728,7 @@ type IsRebaseInProgressRequest struct {
func (m *IsRebaseInProgressRequest) Reset() { *m = IsRebaseInProgressRequest{} }
func (m *IsRebaseInProgressRequest) String() string { return proto.CompactTextString(m) }
func (*IsRebaseInProgressRequest) ProtoMessage() {}
-func (*IsRebaseInProgressRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{32} }
+func (*IsRebaseInProgressRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{32} }
func (m *IsRebaseInProgressRequest) GetRepository() *Repository {
if m != nil {
@@ -735,7 +751,7 @@ type IsRebaseInProgressResponse struct {
func (m *IsRebaseInProgressResponse) Reset() { *m = IsRebaseInProgressResponse{} }
func (m *IsRebaseInProgressResponse) String() string { return proto.CompactTextString(m) }
func (*IsRebaseInProgressResponse) ProtoMessage() {}
-func (*IsRebaseInProgressResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{33} }
+func (*IsRebaseInProgressResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{33} }
func (m *IsRebaseInProgressResponse) GetInProgress() bool {
if m != nil {
@@ -752,7 +768,7 @@ type IsSquashInProgressRequest struct {
func (m *IsSquashInProgressRequest) Reset() { *m = IsSquashInProgressRequest{} }
func (m *IsSquashInProgressRequest) String() string { return proto.CompactTextString(m) }
func (*IsSquashInProgressRequest) ProtoMessage() {}
-func (*IsSquashInProgressRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{34} }
+func (*IsSquashInProgressRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{34} }
func (m *IsSquashInProgressRequest) GetRepository() *Repository {
if m != nil {
@@ -775,7 +791,7 @@ type IsSquashInProgressResponse struct {
func (m *IsSquashInProgressResponse) Reset() { *m = IsSquashInProgressResponse{} }
func (m *IsSquashInProgressResponse) String() string { return proto.CompactTextString(m) }
func (*IsSquashInProgressResponse) ProtoMessage() {}
-func (*IsSquashInProgressResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{35} }
+func (*IsSquashInProgressResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{35} }
func (m *IsSquashInProgressResponse) GetInProgress() bool {
if m != nil {
@@ -793,7 +809,7 @@ func (m *CreateRepositoryFromURLRequest) Reset() { *m = CreateRepository
func (m *CreateRepositoryFromURLRequest) String() string { return proto.CompactTextString(m) }
func (*CreateRepositoryFromURLRequest) ProtoMessage() {}
func (*CreateRepositoryFromURLRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor11, []int{36}
+ return fileDescriptor10, []int{36}
}
func (m *CreateRepositoryFromURLRequest) GetRepository() *Repository {
@@ -817,7 +833,7 @@ func (m *CreateRepositoryFromURLResponse) Reset() { *m = CreateRepositor
func (m *CreateRepositoryFromURLResponse) String() string { return proto.CompactTextString(m) }
func (*CreateRepositoryFromURLResponse) ProtoMessage() {}
func (*CreateRepositoryFromURLResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor11, []int{37}
+ return fileDescriptor10, []int{37}
}
type CreateBundleRequest struct {
@@ -827,7 +843,7 @@ type CreateBundleRequest struct {
func (m *CreateBundleRequest) Reset() { *m = CreateBundleRequest{} }
func (m *CreateBundleRequest) String() string { return proto.CompactTextString(m) }
func (*CreateBundleRequest) ProtoMessage() {}
-func (*CreateBundleRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{38} }
+func (*CreateBundleRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{38} }
func (m *CreateBundleRequest) GetRepository() *Repository {
if m != nil {
@@ -843,7 +859,7 @@ type CreateBundleResponse struct {
func (m *CreateBundleResponse) Reset() { *m = CreateBundleResponse{} }
func (m *CreateBundleResponse) String() string { return proto.CompactTextString(m) }
func (*CreateBundleResponse) ProtoMessage() {}
-func (*CreateBundleResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{39} }
+func (*CreateBundleResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{39} }
func (m *CreateBundleResponse) GetData() []byte {
if m != nil {
@@ -860,7 +876,7 @@ type WriteConfigRequest struct {
func (m *WriteConfigRequest) Reset() { *m = WriteConfigRequest{} }
func (m *WriteConfigRequest) String() string { return proto.CompactTextString(m) }
func (*WriteConfigRequest) ProtoMessage() {}
-func (*WriteConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{40} }
+func (*WriteConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{40} }
func (m *WriteConfigRequest) GetRepository() *Repository {
if m != nil {
@@ -883,7 +899,7 @@ type WriteConfigResponse struct {
func (m *WriteConfigResponse) Reset() { *m = WriteConfigResponse{} }
func (m *WriteConfigResponse) String() string { return proto.CompactTextString(m) }
func (*WriteConfigResponse) ProtoMessage() {}
-func (*WriteConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{41} }
+func (*WriteConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{41} }
func (m *WriteConfigResponse) GetError() []byte {
if m != nil {
@@ -900,7 +916,7 @@ type SetConfigRequest struct {
func (m *SetConfigRequest) Reset() { *m = SetConfigRequest{} }
func (m *SetConfigRequest) String() string { return proto.CompactTextString(m) }
func (*SetConfigRequest) ProtoMessage() {}
-func (*SetConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{42} }
+func (*SetConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{42} }
func (m *SetConfigRequest) GetRepository() *Repository {
if m != nil {
@@ -928,7 +944,7 @@ type SetConfigRequest_Entry struct {
func (m *SetConfigRequest_Entry) Reset() { *m = SetConfigRequest_Entry{} }
func (m *SetConfigRequest_Entry) String() string { return proto.CompactTextString(m) }
func (*SetConfigRequest_Entry) ProtoMessage() {}
-func (*SetConfigRequest_Entry) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{42, 0} }
+func (*SetConfigRequest_Entry) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{42, 0} }
type isSetConfigRequest_Entry_Value interface{ isSetConfigRequest_Entry_Value() }
@@ -1070,7 +1086,7 @@ type SetConfigResponse struct {
func (m *SetConfigResponse) Reset() { *m = SetConfigResponse{} }
func (m *SetConfigResponse) String() string { return proto.CompactTextString(m) }
func (*SetConfigResponse) ProtoMessage() {}
-func (*SetConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{43} }
+func (*SetConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{43} }
type DeleteConfigRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -1080,7 +1096,7 @@ type DeleteConfigRequest struct {
func (m *DeleteConfigRequest) Reset() { *m = DeleteConfigRequest{} }
func (m *DeleteConfigRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteConfigRequest) ProtoMessage() {}
-func (*DeleteConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{44} }
+func (*DeleteConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{44} }
func (m *DeleteConfigRequest) GetRepository() *Repository {
if m != nil {
@@ -1102,7 +1118,7 @@ type DeleteConfigResponse struct {
func (m *DeleteConfigResponse) Reset() { *m = DeleteConfigResponse{} }
func (m *DeleteConfigResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteConfigResponse) ProtoMessage() {}
-func (*DeleteConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{45} }
+func (*DeleteConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{45} }
type RestoreCustomHooksRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -1112,7 +1128,7 @@ type RestoreCustomHooksRequest struct {
func (m *RestoreCustomHooksRequest) Reset() { *m = RestoreCustomHooksRequest{} }
func (m *RestoreCustomHooksRequest) String() string { return proto.CompactTextString(m) }
func (*RestoreCustomHooksRequest) ProtoMessage() {}
-func (*RestoreCustomHooksRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{46} }
+func (*RestoreCustomHooksRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{46} }
func (m *RestoreCustomHooksRequest) GetRepository() *Repository {
if m != nil {
@@ -1134,7 +1150,7 @@ type RestoreCustomHooksResponse struct {
func (m *RestoreCustomHooksResponse) Reset() { *m = RestoreCustomHooksResponse{} }
func (m *RestoreCustomHooksResponse) String() string { return proto.CompactTextString(m) }
func (*RestoreCustomHooksResponse) ProtoMessage() {}
-func (*RestoreCustomHooksResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{47} }
+func (*RestoreCustomHooksResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{47} }
type BackupCustomHooksRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -1143,7 +1159,7 @@ type BackupCustomHooksRequest struct {
func (m *BackupCustomHooksRequest) Reset() { *m = BackupCustomHooksRequest{} }
func (m *BackupCustomHooksRequest) String() string { return proto.CompactTextString(m) }
func (*BackupCustomHooksRequest) ProtoMessage() {}
-func (*BackupCustomHooksRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{48} }
+func (*BackupCustomHooksRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{48} }
func (m *BackupCustomHooksRequest) GetRepository() *Repository {
if m != nil {
@@ -1159,7 +1175,7 @@ type BackupCustomHooksResponse struct {
func (m *BackupCustomHooksResponse) Reset() { *m = BackupCustomHooksResponse{} }
func (m *BackupCustomHooksResponse) String() string { return proto.CompactTextString(m) }
func (*BackupCustomHooksResponse) ProtoMessage() {}
-func (*BackupCustomHooksResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{49} }
+func (*BackupCustomHooksResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{49} }
func (m *BackupCustomHooksResponse) GetData() []byte {
if m != nil {
@@ -1178,7 +1194,7 @@ func (m *CreateRepositoryFromBundleRequest) Reset() { *m = CreateReposit
func (m *CreateRepositoryFromBundleRequest) String() string { return proto.CompactTextString(m) }
func (*CreateRepositoryFromBundleRequest) ProtoMessage() {}
func (*CreateRepositoryFromBundleRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor11, []int{50}
+ return fileDescriptor10, []int{50}
}
func (m *CreateRepositoryFromBundleRequest) GetRepository() *Repository {
@@ -1202,7 +1218,7 @@ func (m *CreateRepositoryFromBundleResponse) Reset() { *m = CreateReposi
func (m *CreateRepositoryFromBundleResponse) String() string { return proto.CompactTextString(m) }
func (*CreateRepositoryFromBundleResponse) ProtoMessage() {}
func (*CreateRepositoryFromBundleResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor11, []int{51}
+ return fileDescriptor10, []int{51}
}
type FindLicenseRequest struct {
@@ -1212,7 +1228,7 @@ type FindLicenseRequest struct {
func (m *FindLicenseRequest) Reset() { *m = FindLicenseRequest{} }
func (m *FindLicenseRequest) String() string { return proto.CompactTextString(m) }
func (*FindLicenseRequest) ProtoMessage() {}
-func (*FindLicenseRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{52} }
+func (*FindLicenseRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{52} }
func (m *FindLicenseRequest) GetRepository() *Repository {
if m != nil {
@@ -1228,7 +1244,7 @@ type FindLicenseResponse struct {
func (m *FindLicenseResponse) Reset() { *m = FindLicenseResponse{} }
func (m *FindLicenseResponse) String() string { return proto.CompactTextString(m) }
func (*FindLicenseResponse) ProtoMessage() {}
-func (*FindLicenseResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{53} }
+func (*FindLicenseResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{53} }
func (m *FindLicenseResponse) GetLicenseShortName() string {
if m != nil {
@@ -1244,7 +1260,7 @@ type GetInfoAttributesRequest struct {
func (m *GetInfoAttributesRequest) Reset() { *m = GetInfoAttributesRequest{} }
func (m *GetInfoAttributesRequest) String() string { return proto.CompactTextString(m) }
func (*GetInfoAttributesRequest) ProtoMessage() {}
-func (*GetInfoAttributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{54} }
+func (*GetInfoAttributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{54} }
func (m *GetInfoAttributesRequest) GetRepository() *Repository {
if m != nil {
@@ -1260,7 +1276,7 @@ type GetInfoAttributesResponse struct {
func (m *GetInfoAttributesResponse) Reset() { *m = GetInfoAttributesResponse{} }
func (m *GetInfoAttributesResponse) String() string { return proto.CompactTextString(m) }
func (*GetInfoAttributesResponse) ProtoMessage() {}
-func (*GetInfoAttributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{55} }
+func (*GetInfoAttributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{55} }
func (m *GetInfoAttributesResponse) GetAttributes() []byte {
if m != nil {
@@ -1276,7 +1292,7 @@ type CalculateChecksumRequest struct {
func (m *CalculateChecksumRequest) Reset() { *m = CalculateChecksumRequest{} }
func (m *CalculateChecksumRequest) String() string { return proto.CompactTextString(m) }
func (*CalculateChecksumRequest) ProtoMessage() {}
-func (*CalculateChecksumRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{56} }
+func (*CalculateChecksumRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{56} }
func (m *CalculateChecksumRequest) GetRepository() *Repository {
if m != nil {
@@ -1292,7 +1308,7 @@ type CalculateChecksumResponse struct {
func (m *CalculateChecksumResponse) Reset() { *m = CalculateChecksumResponse{} }
func (m *CalculateChecksumResponse) String() string { return proto.CompactTextString(m) }
func (*CalculateChecksumResponse) ProtoMessage() {}
-func (*CalculateChecksumResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{57} }
+func (*CalculateChecksumResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{57} }
func (m *CalculateChecksumResponse) GetChecksum() string {
if m != nil {
@@ -1308,7 +1324,7 @@ type GetSnapshotRequest struct {
func (m *GetSnapshotRequest) Reset() { *m = GetSnapshotRequest{} }
func (m *GetSnapshotRequest) String() string { return proto.CompactTextString(m) }
func (*GetSnapshotRequest) ProtoMessage() {}
-func (*GetSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{58} }
+func (*GetSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{58} }
func (m *GetSnapshotRequest) GetRepository() *Repository {
if m != nil {
@@ -1324,7 +1340,7 @@ type GetSnapshotResponse struct {
func (m *GetSnapshotResponse) Reset() { *m = GetSnapshotResponse{} }
func (m *GetSnapshotResponse) String() string { return proto.CompactTextString(m) }
func (*GetSnapshotResponse) ProtoMessage() {}
-func (*GetSnapshotResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{59} }
+func (*GetSnapshotResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{59} }
func (m *GetSnapshotResponse) GetData() []byte {
if m != nil {
@@ -1343,7 +1359,7 @@ func (m *CreateRepositoryFromSnapshotRequest) Reset() { *m = CreateRepos
func (m *CreateRepositoryFromSnapshotRequest) String() string { return proto.CompactTextString(m) }
func (*CreateRepositoryFromSnapshotRequest) ProtoMessage() {}
func (*CreateRepositoryFromSnapshotRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor11, []int{60}
+ return fileDescriptor10, []int{60}
}
func (m *CreateRepositoryFromSnapshotRequest) GetRepository() *Repository {
@@ -1374,7 +1390,7 @@ func (m *CreateRepositoryFromSnapshotResponse) Reset() { *m = CreateRepo
func (m *CreateRepositoryFromSnapshotResponse) String() string { return proto.CompactTextString(m) }
func (*CreateRepositoryFromSnapshotResponse) ProtoMessage() {}
func (*CreateRepositoryFromSnapshotResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor11, []int{61}
+ return fileDescriptor10, []int{61}
}
type GetRawChangesRequest struct {
@@ -1386,7 +1402,7 @@ type GetRawChangesRequest struct {
func (m *GetRawChangesRequest) Reset() { *m = GetRawChangesRequest{} }
func (m *GetRawChangesRequest) String() string { return proto.CompactTextString(m) }
func (*GetRawChangesRequest) ProtoMessage() {}
-func (*GetRawChangesRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{62} }
+func (*GetRawChangesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{62} }
func (m *GetRawChangesRequest) GetRepository() *Repository {
if m != nil {
@@ -1416,7 +1432,7 @@ type GetRawChangesResponse struct {
func (m *GetRawChangesResponse) Reset() { *m = GetRawChangesResponse{} }
func (m *GetRawChangesResponse) String() string { return proto.CompactTextString(m) }
func (*GetRawChangesResponse) ProtoMessage() {}
-func (*GetRawChangesResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{63} }
+func (*GetRawChangesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{63} }
func (m *GetRawChangesResponse) GetRawChanges() []*GetRawChangesResponse_RawChange {
if m != nil {
@@ -1432,15 +1448,13 @@ type GetRawChangesResponse_RawChange struct {
OldPath string `protobuf:"bytes,4,opt,name=old_path,json=oldPath" json:"old_path,omitempty"`
Operation GetRawChangesResponse_RawChange_Operation `protobuf:"varint,5,opt,name=operation,enum=gitaly.GetRawChangesResponse_RawChange_Operation" json:"operation,omitempty"`
RawOperation string `protobuf:"bytes,6,opt,name=raw_operation,json=rawOperation" json:"raw_operation,omitempty"`
- OldMode int32 `protobuf:"varint,7,opt,name=old_mode,json=oldMode" json:"old_mode,omitempty"`
- NewMode int32 `protobuf:"varint,8,opt,name=new_mode,json=newMode" json:"new_mode,omitempty"`
}
func (m *GetRawChangesResponse_RawChange) Reset() { *m = GetRawChangesResponse_RawChange{} }
func (m *GetRawChangesResponse_RawChange) String() string { return proto.CompactTextString(m) }
func (*GetRawChangesResponse_RawChange) ProtoMessage() {}
func (*GetRawChangesResponse_RawChange) Descriptor() ([]byte, []int) {
- return fileDescriptor11, []int{63, 0}
+ return fileDescriptor10, []int{63, 0}
}
func (m *GetRawChangesResponse_RawChange) GetBlobId() string {
@@ -1485,20 +1499,6 @@ func (m *GetRawChangesResponse_RawChange) GetRawOperation() string {
return ""
}
-func (m *GetRawChangesResponse_RawChange) GetOldMode() int32 {
- if m != nil {
- return m.OldMode
- }
- return 0
-}
-
-func (m *GetRawChangesResponse_RawChange) GetNewMode() int32 {
- if m != nil {
- return m.NewMode
- }
- return 0
-}
-
type SearchFilesByNameRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
Query string `protobuf:"bytes,2,opt,name=query" json:"query,omitempty"`
@@ -1508,7 +1508,7 @@ type SearchFilesByNameRequest struct {
func (m *SearchFilesByNameRequest) Reset() { *m = SearchFilesByNameRequest{} }
func (m *SearchFilesByNameRequest) String() string { return proto.CompactTextString(m) }
func (*SearchFilesByNameRequest) ProtoMessage() {}
-func (*SearchFilesByNameRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{64} }
+func (*SearchFilesByNameRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{64} }
func (m *SearchFilesByNameRequest) GetRepository() *Repository {
if m != nil {
@@ -1538,7 +1538,7 @@ type SearchFilesByNameResponse struct {
func (m *SearchFilesByNameResponse) Reset() { *m = SearchFilesByNameResponse{} }
func (m *SearchFilesByNameResponse) String() string { return proto.CompactTextString(m) }
func (*SearchFilesByNameResponse) ProtoMessage() {}
-func (*SearchFilesByNameResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{65} }
+func (*SearchFilesByNameResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{65} }
func (m *SearchFilesByNameResponse) GetFiles() [][]byte {
if m != nil {
@@ -1556,7 +1556,7 @@ type SearchFilesByContentRequest struct {
func (m *SearchFilesByContentRequest) Reset() { *m = SearchFilesByContentRequest{} }
func (m *SearchFilesByContentRequest) String() string { return proto.CompactTextString(m) }
func (*SearchFilesByContentRequest) ProtoMessage() {}
-func (*SearchFilesByContentRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{66} }
+func (*SearchFilesByContentRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{66} }
func (m *SearchFilesByContentRequest) GetRepository() *Repository {
if m != nil {
@@ -1586,7 +1586,7 @@ type SearchFilesByContentResponse struct {
func (m *SearchFilesByContentResponse) Reset() { *m = SearchFilesByContentResponse{} }
func (m *SearchFilesByContentResponse) String() string { return proto.CompactTextString(m) }
func (*SearchFilesByContentResponse) ProtoMessage() {}
-func (*SearchFilesByContentResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{67} }
+func (*SearchFilesByContentResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{67} }
func (m *SearchFilesByContentResponse) GetMatches() [][]byte {
if m != nil {
@@ -3116,156 +3116,155 @@ var _RepositoryService_serviceDesc = grpc.ServiceDesc{
Metadata: "repository-service.proto",
}
-func init() { proto.RegisterFile("repository-service.proto", fileDescriptor11) }
-
-var fileDescriptor11 = []byte{
- // 2363 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x51, 0x6f, 0xdb, 0xc8,
- 0x11, 0x96, 0x2c, 0xcb, 0x92, 0x46, 0xca, 0x9d, 0xbc, 0x76, 0x1c, 0x8a, 0x71, 0xe2, 0x84, 0x09,
- 0xee, 0x72, 0x77, 0xa9, 0x7b, 0xe7, 0x3c, 0x34, 0x40, 0x5b, 0x1c, 0x6c, 0x49, 0xb6, 0x95, 0xc4,
- 0x8e, 0x4b, 0x27, 0x08, 0x1a, 0x5c, 0x20, 0xd0, 0xd4, 0xca, 0x22, 0x44, 0x71, 0x95, 0xe5, 0x2a,
- 0x3e, 0x5f, 0x5f, 0x7b, 0xc0, 0x3d, 0xb6, 0x7f, 0xa5, 0x7f, 0xa5, 0xbf, 0xa2, 0xe8, 0x4b, 0x7f,
- 0x42, 0xb1, 0xbb, 0x14, 0x97, 0x14, 0x49, 0x35, 0x00, 0xd3, 0xf6, 0x8d, 0x3b, 0xb3, 0x3b, 0x33,
- 0x3b, 0x33, 0x3b, 0xbb, 0xf3, 0x49, 0xa0, 0x51, 0x3c, 0x25, 0xbe, 0xc3, 0x08, 0xbd, 0xfe, 0x95,
- 0x8f, 0xe9, 0x07, 0xc7, 0xc6, 0xbb, 0x53, 0x4a, 0x18, 0x41, 0x6b, 0x97, 0x0e, 0xb3, 0xdc, 0x6b,
- 0xbd, 0xe1, 0x8f, 0x2c, 0x8a, 0x07, 0x92, 0x6a, 0x9c, 0xc0, 0x2d, 0x33, 0x5c, 0xd1, 0xfd, 0xd1,
- 0xf1, 0x99, 0x6f, 0xe2, 0xf7, 0x33, 0xec, 0x33, 0xb4, 0x07, 0xa0, 0x84, 0x69, 0xc5, 0x7b, 0xc5,
- 0x47, 0xf5, 0x3d, 0xb4, 0x2b, 0xa5, 0xec, 0xaa, 0x45, 0x66, 0x64, 0x96, 0xb1, 0x07, 0x5a, 0x52,
- 0x9c, 0x3f, 0x25, 0x9e, 0x8f, 0xd1, 0x16, 0xac, 0x61, 0x41, 0x11, 0xb2, 0xaa, 0x66, 0x30, 0x32,
- 0x4e, 0xc5, 0x1a, 0xcb, 0x1e, 0xf7, 0x3c, 0x9b, 0xe2, 0x09, 0xf6, 0x98, 0xe5, 0xe6, 0xb1, 0xe1,
- 0x36, 0xb4, 0x52, 0xe4, 0x49, 0x23, 0x0c, 0x17, 0xd6, 0x25, 0xf3, 0x70, 0xe6, 0xe6, 0xd1, 0x82,
- 0x1e, 0xc0, 0x0d, 0x9b, 0x62, 0x8b, 0xe1, 0xfe, 0x85, 0xc3, 0x26, 0xd6, 0x54, 0x5b, 0x11, 0x9b,
- 0x6a, 0x48, 0xe2, 0x81, 0xa0, 0x19, 0x9b, 0x80, 0xa2, 0xda, 0x02, 0x1b, 0xa6, 0x70, 0xf3, 0xc8,
- 0xa2, 0x17, 0xd6, 0x25, 0x6e, 0x13, 0xd7, 0xc5, 0x36, 0xfb, 0xaf, 0xdb, 0xa1, 0xc1, 0xd6, 0xa2,
- 0xc6, 0xc0, 0x96, 0x0e, 0x7c, 0xd6, 0x76, 0xb1, 0xe5, 0xcd, 0xa6, 0x79, 0x5c, 0xbe, 0x0e, 0x9f,
- 0x87, 0x52, 0x02, 0xc1, 0xcf, 0xe1, 0xa6, 0x9a, 0x7c, 0xee, 0xfc, 0x84, 0xf3, 0xc8, 0x7f, 0x0c,
- 0x5b, 0x8b, 0xc2, 0x82, 0xa4, 0x42, 0xb0, 0xea, 0x3b, 0x3f, 0x61, 0x21, 0xa7, 0x64, 0x8a, 0x6f,
- 0x63, 0x0c, 0xad, 0xfd, 0xe9, 0xd4, 0xbd, 0x3e, 0x72, 0x98, 0xc5, 0x18, 0x75, 0x2e, 0x66, 0x0c,
- 0xe7, 0xc9, 0x6a, 0xa4, 0x43, 0x95, 0xe2, 0x0f, 0x8e, 0xef, 0x10, 0x4f, 0xb8, 0xb7, 0x61, 0x86,
- 0x63, 0x63, 0x1b, 0xf4, 0x34, 0x65, 0x81, 0x17, 0xfe, 0xbc, 0x02, 0xe8, 0x10, 0x33, 0x7b, 0x64,
- 0xe2, 0x09, 0x61, 0x79, 0x7c, 0xc0, 0x8f, 0x0f, 0x15, 0x42, 0x84, 0x09, 0x35, 0x33, 0x18, 0xa1,
- 0x4d, 0x28, 0x0f, 0x09, 0xb5, 0xb1, 0x56, 0x12, 0x81, 0x97, 0x03, 0x74, 0x0b, 0x2a, 0x1e, 0xe9,
- 0x33, 0xeb, 0xd2, 0xd7, 0x56, 0xe5, 0x69, 0xf3, 0xc8, 0x2b, 0xeb, 0xd2, 0x47, 0x1a, 0x54, 0x98,
- 0x33, 0xc1, 0x64, 0xc6, 0xb4, 0xf2, 0xbd, 0xe2, 0xa3, 0xb2, 0x39, 0x1f, 0xf2, 0x25, 0xbe, 0x3f,
- 0xea, 0x8f, 0xf1, 0xb5, 0xb6, 0x26, 0x35, 0xf8, 0xfe, 0xe8, 0x39, 0xbe, 0x46, 0x3b, 0x50, 0x1f,
- 0x7b, 0xe4, 0xca, 0xeb, 0x8f, 0x08, 0x3f, 0xbd, 0x15, 0xc1, 0x04, 0x41, 0x3a, 0xe6, 0x14, 0xd4,
- 0x82, 0xaa, 0x47, 0xfa, 0x53, 0x3a, 0xf3, 0xb0, 0x56, 0x13, 0xda, 0x2a, 0x1e, 0x39, 0xe3, 0xc3,
- 0x67, 0xab, 0xd5, 0x6a, 0xb3, 0x66, 0xdc, 0x84, 0x8d, 0x98, 0x17, 0x02, 0xef, 0x9c, 0xc0, 0xad,
- 0xb6, 0x48, 0xd3, 0xc8, 0x96, 0x73, 0x64, 0x89, 0x0e, 0x5a, 0x52, 0x5c, 0xa0, 0xea, 0x9f, 0x45,
- 0x58, 0x3f, 0xc2, 0x6c, 0x9f, 0xda, 0x23, 0xe7, 0x43, 0xae, 0x38, 0xdc, 0x86, 0x9a, 0x4d, 0x26,
- 0x13, 0x87, 0xf5, 0x9d, 0x41, 0x10, 0x8a, 0xaa, 0x24, 0xf4, 0x06, 0x3c, 0x48, 0x53, 0x8a, 0x87,
- 0xce, 0x8f, 0x22, 0x1a, 0x35, 0x33, 0x18, 0xa1, 0xa7, 0xb0, 0x36, 0x24, 0x74, 0x62, 0x31, 0x11,
- 0x8d, 0xcf, 0xf6, 0xee, 0xcd, 0x95, 0x24, 0x6c, 0xda, 0x3d, 0x14, 0xf3, 0xcc, 0x60, 0xbe, 0xf1,
- 0x04, 0xd6, 0x24, 0x05, 0x55, 0xa0, 0xf4, 0xb6, 0x77, 0xd6, 0x2c, 0xf0, 0x8f, 0x57, 0xfb, 0x66,
- 0xb3, 0x88, 0x00, 0xd6, 0x5e, 0xed, 0x9b, 0xfd, 0xa3, 0xb7, 0xcd, 0x15, 0x54, 0x87, 0x0a, 0xff,
- 0x3e, 0x78, 0xbb, 0xd7, 0x2c, 0x19, 0x8f, 0x00, 0x45, 0x05, 0xab, 0xb3, 0x32, 0xb0, 0x98, 0x25,
- 0xf6, 0xd9, 0x30, 0xc5, 0x37, 0x0f, 0xc1, 0xb1, 0xe5, 0xbf, 0x20, 0xb6, 0xe5, 0x1e, 0x50, 0xcb,
- 0xb3, 0x47, 0xb9, 0x4e, 0x8a, 0xf1, 0x2d, 0x68, 0x49, 0x71, 0x81, 0xfa, 0x4d, 0x28, 0x7f, 0xb0,
- 0xdc, 0x19, 0x0e, 0xca, 0xbf, 0x1c, 0x18, 0x7f, 0x2f, 0x82, 0x26, 0x72, 0xe3, 0x9c, 0xcc, 0xa8,
- 0x8d, 0xe5, 0xaa, 0x3c, 0xf1, 0xf9, 0x1e, 0xd6, 0x7d, 0x21, 0xaa, 0x1f, 0x59, 0xba, 0x92, 0xb9,
- 0xb4, 0x29, 0x27, 0x9b, 0xb1, 0x8a, 0x1a, 0x08, 0xb8, 0x10, 0xc6, 0x88, 0x50, 0x36, 0xcc, 0x86,
- 0x1f, 0x31, 0x10, 0xdd, 0x01, 0x60, 0x16, 0xbd, 0xc4, 0xac, 0x4f, 0xf1, 0x50, 0x04, 0xb5, 0x61,
- 0xd6, 0x24, 0xc5, 0xc4, 0x43, 0xe3, 0x09, 0xb4, 0x52, 0x36, 0xa5, 0x2e, 0x42, 0x8a, 0xfd, 0x99,
- 0xcb, 0xe6, 0x17, 0xa1, 0x1c, 0x19, 0xfb, 0x50, 0x3f, 0xf4, 0xed, 0x71, 0x1e, 0xff, 0x3f, 0x84,
- 0x86, 0x14, 0xa1, 0x7c, 0x8e, 0x29, 0x25, 0x34, 0x88, 0xb9, 0x1c, 0x18, 0x7f, 0x2b, 0xc2, 0xe7,
- 0x6f, 0xa8, 0xc3, 0x0f, 0xca, 0x30, 0x8f, 0xab, 0x9b, 0x50, 0xe2, 0xbb, 0x97, 0x25, 0x91, 0x7f,
- 0xc6, 0x2a, 0x65, 0x29, 0x5e, 0x29, 0xd1, 0x7d, 0x68, 0x10, 0x77, 0xd0, 0x0f, 0xf9, 0xd2, 0x69,
- 0x75, 0xe2, 0x0e, 0xcc, 0xf9, 0x94, 0xb0, 0x96, 0x95, 0x23, 0xb5, 0xec, 0xd9, 0x6a, 0x75, 0xad,
- 0x59, 0x31, 0x34, 0x68, 0x2a, 0x9b, 0xe5, 0xf6, 0x9e, 0xad, 0x56, 0x8b, 0xcd, 0x15, 0x63, 0x04,
- 0x9b, 0x87, 0x8e, 0x37, 0x38, 0xc1, 0xf4, 0x12, 0x1f, 0x58, 0x7e, 0xae, 0xd3, 0xbd, 0x0d, 0xb5,
- 0xb9, 0x81, 0xbe, 0xb6, 0x72, 0xaf, 0xc4, 0xc3, 0x1a, 0x12, 0x8c, 0x6f, 0xe0, 0xe6, 0x82, 0x26,
- 0x75, 0xb4, 0x2e, 0x2c, 0x5f, 0xa6, 0x76, 0xcd, 0x14, 0xdf, 0xc6, 0x2f, 0x45, 0x58, 0x97, 0xf5,
- 0xe8, 0x90, 0xd0, 0xf1, 0xff, 0x33, 0xa5, 0xf9, 0x3b, 0x24, 0x6a, 0x49, 0xf8, 0x16, 0x6a, 0xf5,
- 0x7c, 0x13, 0x73, 0x63, 0x7b, 0xde, 0x19, 0x25, 0x97, 0x14, 0xfb, 0x7e, 0xce, 0xd2, 0x48, 0x85,
- 0xb8, 0x48, 0x69, 0x94, 0x84, 0xde, 0xc0, 0xf8, 0x3d, 0xe8, 0x69, 0xda, 0x02, 0x07, 0xee, 0x40,
- 0xdd, 0xf1, 0xfa, 0xd3, 0x80, 0x1c, 0x1c, 0x0c, 0x70, 0xc2, 0x89, 0xd2, 0xd8, 0xf3, 0xf7, 0x33,
- 0xcb, 0x1f, 0x7d, 0x32, 0x63, 0x7d, 0x21, 0x2e, 0x62, 0xac, 0x24, 0xcc, 0x8d, 0x4d, 0x6a, 0xfb,
- 0x58, 0x63, 0x87, 0x70, 0x77, 0xf1, 0x26, 0x3a, 0xa4, 0x64, 0xf2, 0xda, 0x7c, 0x91, 0xf3, 0xb8,
- 0xcd, 0xa8, 0x1b, 0xd8, 0xca, 0x3f, 0x8d, 0xfb, 0xb0, 0x93, 0xa9, 0x27, 0x08, 0x72, 0x0f, 0x36,
- 0xe4, 0x94, 0x83, 0x99, 0x37, 0x70, 0x73, 0xbd, 0xc2, 0xbe, 0x86, 0xcd, 0xb8, 0xa8, 0x25, 0xf7,
- 0x0a, 0x06, 0x24, 0x4e, 0x6b, 0x9b, 0x78, 0x43, 0xe7, 0x32, 0x67, 0x9c, 0x86, 0x33, 0xd7, 0xed,
- 0x4f, 0x2d, 0x36, 0x9a, 0xc7, 0x89, 0x13, 0xce, 0x2c, 0x36, 0x32, 0xbe, 0x81, 0x8d, 0x98, 0x9a,
- 0xa5, 0x65, 0xef, 0x97, 0x15, 0x68, 0x9e, 0x63, 0x96, 0xdf, 0xa4, 0xa7, 0x50, 0xc1, 0x1e, 0xa3,
- 0x0e, 0x96, 0x25, 0xa2, 0xbe, 0x77, 0x77, 0xbe, 0x60, 0x51, 0xfc, 0x6e, 0xd7, 0x63, 0xf4, 0xda,
- 0x9c, 0x4f, 0xd7, 0x7f, 0x2e, 0x42, 0x59, 0x90, 0x78, 0x30, 0xf9, 0x4b, 0x4b, 0x16, 0x0c, 0xfe,
- 0x89, 0xee, 0x40, 0x4d, 0x5c, 0x89, 0x7d, 0x9f, 0x51, 0xb9, 0xd1, 0xe3, 0x82, 0x59, 0x15, 0xa4,
- 0x73, 0x46, 0xd1, 0x7d, 0xa8, 0x4b, 0xb6, 0xe3, 0xb1, 0x27, 0x7b, 0xa2, 0xba, 0x96, 0x8f, 0x0b,
- 0x26, 0x08, 0x62, 0x8f, 0xd3, 0xd0, 0x0e, 0xc8, 0x51, 0xff, 0x82, 0x10, 0x57, 0xbe, 0xfb, 0x8e,
- 0x0b, 0xa6, 0x94, 0x7a, 0x40, 0x88, 0x7b, 0x50, 0x09, 0xae, 0x60, 0x63, 0x03, 0xd6, 0x23, 0xa6,
- 0x06, 0xa9, 0xf2, 0x0e, 0x36, 0x3a, 0xd8, 0xc5, 0x9f, 0x22, 0x68, 0x08, 0x56, 0xc7, 0xf8, 0x5a,
- 0xba, 0xa7, 0x66, 0x8a, 0x6f, 0x63, 0x0b, 0x36, 0xe3, 0xe2, 0x03, 0xb5, 0x36, 0xef, 0xd7, 0x7c,
- 0x46, 0x28, 0x6e, 0xcf, 0x7c, 0x46, 0x26, 0xc7, 0x84, 0x8c, 0xfd, 0x9c, 0xca, 0x45, 0x3e, 0xae,
- 0x44, 0xf2, 0x71, 0x1b, 0xf4, 0x34, 0x25, 0x81, 0x09, 0xa7, 0xa0, 0x1d, 0x58, 0xf6, 0x78, 0x36,
- 0xfd, 0x34, 0x16, 0x18, 0xbf, 0x86, 0x56, 0x8a, 0xbc, 0x25, 0xc7, 0x65, 0x0c, 0xf7, 0xd3, 0x0e,
- 0x72, 0xee, 0x33, 0x9b, 0xea, 0x8b, 0x87, 0x60, 0x2c, 0x53, 0x16, 0xf8, 0xe4, 0x18, 0x10, 0xbf,
- 0xeb, 0x5e, 0x38, 0x36, 0xf6, 0x72, 0xdd, 0xa9, 0x46, 0x1b, 0x36, 0x62, 0x92, 0x02, 0x3f, 0x3c,
- 0x06, 0xe4, 0x4a, 0x52, 0xdf, 0x1f, 0x11, 0xca, 0xfa, 0x9e, 0x35, 0x99, 0xdf, 0xa0, 0xcd, 0x80,
- 0x73, 0xce, 0x19, 0xa7, 0xd6, 0x44, 0x84, 0xe8, 0x08, 0xb3, 0x9e, 0x37, 0x24, 0xfb, 0x9f, 0xa2,
- 0xa7, 0x33, 0x7e, 0x0b, 0xad, 0x14, 0x79, 0x81, 0x69, 0x77, 0x01, 0x54, 0x33, 0x17, 0x04, 0x2a,
- 0x42, 0xe1, 0xc6, 0xb4, 0x2d, 0xd7, 0x9e, 0xb9, 0x16, 0xc3, 0xed, 0x11, 0xb6, 0xc7, 0xfe, 0x6c,
- 0x92, 0xc7, 0x98, 0xdf, 0x40, 0x2b, 0x45, 0x5e, 0x60, 0x8c, 0x0e, 0x55, 0x3b, 0xa0, 0x05, 0xde,
- 0x09, 0xc7, 0x3c, 0x48, 0x47, 0x98, 0x9d, 0x7b, 0xd6, 0xd4, 0x1f, 0x91, 0x3c, 0x38, 0x82, 0xf1,
- 0x15, 0x6c, 0xc4, 0x24, 0x2d, 0x49, 0xd6, 0xbf, 0x16, 0xe1, 0x41, 0x5a, 0x02, 0x7d, 0x02, 0x33,
- 0x78, 0x2b, 0x39, 0x62, 0x6c, 0xda, 0x57, 0x17, 0x5d, 0x85, 0x8f, 0x5f, 0x53, 0x97, 0x5f, 0x04,
- 0x82, 0x65, 0xcd, 0xd8, 0x28, 0x68, 0xaf, 0xc4, 0xdc, 0xfd, 0x19, 0x1b, 0x19, 0x5f, 0xc0, 0xc3,
- 0xe5, 0x26, 0x05, 0x59, 0xfd, 0x97, 0x22, 0x6c, 0x1e, 0x61, 0x66, 0x5a, 0x57, 0xed, 0x91, 0xe5,
- 0x5d, 0xe6, 0xc3, 0x05, 0x1e, 0xc0, 0x8d, 0x21, 0x25, 0x93, 0x7e, 0x0c, 0x1c, 0xa8, 0x99, 0x0d,
- 0x4e, 0x0c, 0xdf, 0xb4, 0x3b, 0x50, 0x67, 0xa4, 0x1f, 0x7b, 0x15, 0xd7, 0x4c, 0x60, 0x64, 0x3e,
- 0xc1, 0xf8, 0x47, 0x09, 0x6e, 0x2e, 0x98, 0x14, 0x38, 0xff, 0x18, 0xea, 0xd4, 0xba, 0xea, 0xdb,
- 0x92, 0xac, 0x15, 0xc5, 0x5d, 0xf3, 0x65, 0xa4, 0x75, 0x4c, 0xae, 0xd9, 0x0d, 0x49, 0x26, 0xd0,
- 0x90, 0xab, 0xff, 0x5c, 0x82, 0x5a, 0xc8, 0xe1, 0x9d, 0xfe, 0x85, 0x4b, 0x2e, 0xf8, 0xc3, 0x47,
- 0x26, 0xd4, 0x1a, 0x1f, 0xf6, 0x06, 0x21, 0x9a, 0xb2, 0xa2, 0xd0, 0x14, 0xd1, 0xdc, 0xe3, 0x2b,
- 0x79, 0xfd, 0x4a, 0xe3, 0x2b, 0x1e, 0xbe, 0xe2, 0xb7, 0x2f, 0x67, 0xf1, 0x17, 0xbd, 0x60, 0xad,
- 0x4a, 0x16, 0x71, 0x07, 0x82, 0xf5, 0x12, 0x6a, 0x64, 0x8a, 0xa9, 0xc5, 0xf8, 0x9e, 0xcb, 0xa2,
- 0xe7, 0xfd, 0xee, 0x23, 0x0d, 0xdf, 0x7d, 0x39, 0x5f, 0x68, 0x2a, 0x19, 0xdc, 0xd7, 0xdc, 0x17,
- 0x4a, 0xa8, 0xc4, 0x28, 0x1a, 0xd4, 0xba, 0x0a, 0xe7, 0xcf, 0x0d, 0x9a, 0x90, 0x01, 0x16, 0x30,
- 0x45, 0x59, 0x18, 0x74, 0x42, 0x06, 0xe1, 0x36, 0x04, 0xab, 0x2a, 0x59, 0x1e, 0xbe, 0xe2, 0x2c,
- 0xc3, 0x81, 0x9a, 0x12, 0x51, 0x87, 0xca, 0xeb, 0xd3, 0xe7, 0xa7, 0x2f, 0xdf, 0x9c, 0x36, 0x0b,
- 0xa8, 0x06, 0xe5, 0xfd, 0x4e, 0xa7, 0xdb, 0x91, 0xbd, 0x76, 0xfb, 0xe5, 0x59, 0xaf, 0xdb, 0x91,
- 0xbd, 0x76, 0xa7, 0xfb, 0xa2, 0xfb, 0xaa, 0xdb, 0x69, 0x96, 0x50, 0x03, 0xaa, 0x27, 0x2f, 0x3b,
- 0xbd, 0x43, 0xce, 0x5a, 0xe5, 0x2c, 0xb3, 0x7b, 0xba, 0x7f, 0xd2, 0xed, 0x34, 0xcb, 0xa8, 0x09,
- 0x8d, 0x57, 0x7f, 0x3c, 0xeb, 0xf6, 0xdb, 0xc7, 0xfb, 0xa7, 0x47, 0xdd, 0x4e, 0x73, 0xcd, 0xf8,
- 0x00, 0xda, 0x39, 0xb6, 0xa8, 0x3d, 0x3a, 0x74, 0x5c, 0xec, 0x1f, 0x5c, 0xf3, 0xd2, 0x96, 0x27,
- 0x03, 0x37, 0xa1, 0xfc, 0x7e, 0x86, 0x83, 0x6e, 0xa0, 0x66, 0xca, 0xc1, 0xbc, 0x2f, 0x2b, 0x85,
- 0x7d, 0x99, 0xf1, 0x1d, 0xb4, 0x52, 0xf4, 0xaa, 0xd7, 0xd2, 0x90, 0x93, 0x45, 0x82, 0x35, 0x4c,
- 0x39, 0x30, 0xae, 0xe1, 0x76, 0x6c, 0x49, 0x9b, 0x78, 0x0c, 0x7b, 0xec, 0x7f, 0x61, 0xed, 0x53,
- 0xd8, 0x4e, 0x57, 0x1d, 0x18, 0xac, 0x41, 0x65, 0x62, 0x31, 0x7b, 0x14, 0x9a, 0x3c, 0x1f, 0xee,
- 0xfd, 0x6b, 0x4b, 0xe0, 0xbb, 0x73, 0xa4, 0x50, 0x02, 0xe0, 0xe8, 0x0d, 0x34, 0x17, 0x51, 0x69,
- 0xb4, 0x93, 0xb4, 0x35, 0x06, 0x7f, 0xeb, 0xf7, 0xb2, 0x27, 0x04, 0xb5, 0xa4, 0x80, 0xde, 0xce,
- 0xd1, 0xe4, 0x08, 0xd4, 0x8c, 0xa2, 0x0b, 0x53, 0x51, 0x6d, 0xfd, 0xfe, 0x92, 0x19, 0xa1, 0xec,
- 0x2e, 0x80, 0xc2, 0x8e, 0x51, 0x2b, 0xbe, 0x24, 0x82, 0x5e, 0xeb, 0x7a, 0x1a, 0x2b, 0x14, 0xf3,
- 0x07, 0xf8, 0x2c, 0x0e, 0xfd, 0xa2, 0x3b, 0xe1, 0x39, 0x4c, 0x03, 0xa1, 0xf5, 0xbb, 0x59, 0xec,
- 0xa8, 0xc8, 0x38, 0x1a, 0xab, 0x44, 0xa6, 0x42, 0xbe, 0x4a, 0x64, 0x3a, 0x88, 0x6b, 0x14, 0xd0,
- 0x3b, 0x40, 0x49, 0x14, 0x15, 0x85, 0x7e, 0xca, 0x84, 0x73, 0x75, 0x63, 0xd9, 0x94, 0x50, 0xfc,
- 0x31, 0xd4, 0x23, 0xf8, 0x23, 0x0a, 0x3d, 0x96, 0x84, 0x66, 0xf5, 0xdb, 0xa9, 0xbc, 0x50, 0xd2,
- 0x1b, 0x68, 0x2e, 0xde, 0x33, 0x2a, 0x95, 0x32, 0xc0, 0x4c, 0x95, 0x4a, 0x99, 0xf0, 0x64, 0x01,
- 0x1d, 0x01, 0x28, 0xc8, 0x4e, 0x85, 0x3b, 0x81, 0x0f, 0xaa, 0x70, 0x27, 0x11, 0x3e, 0xa3, 0xf0,
- 0x6d, 0x91, 0x5b, 0xb8, 0x08, 0xc1, 0x29, 0x0b, 0x33, 0xb0, 0x3e, 0x65, 0x61, 0x16, 0x7a, 0x27,
- 0x93, 0x3d, 0x81, 0x69, 0xa9, 0x64, 0xcf, 0xc2, 0xf0, 0x54, 0xb2, 0x67, 0x02, 0x62, 0x46, 0x01,
- 0x3d, 0x81, 0xd5, 0x43, 0xdf, 0x1e, 0xa3, 0x8d, 0x70, 0xb2, 0x02, 0xc2, 0xf4, 0xcd, 0x38, 0x31,
- 0x5c, 0xf4, 0x3d, 0x54, 0xe7, 0x88, 0x10, 0xba, 0x35, 0x9f, 0xb3, 0x80, 0x6b, 0xe9, 0x5a, 0x92,
- 0x11, 0x0a, 0x38, 0x85, 0x1b, 0x31, 0x38, 0x07, 0x6d, 0x87, 0x9a, 0x52, 0xf0, 0x24, 0xfd, 0x4e,
- 0x06, 0x37, 0x7a, 0x64, 0x15, 0xcc, 0xa2, 0x62, 0x98, 0x00, 0x81, 0x54, 0x0c, 0x53, 0x50, 0x19,
- 0x71, 0x18, 0x92, 0x48, 0x89, 0x3a, 0x0c, 0x99, 0x98, 0x8d, 0x3a, 0x0c, 0xd9, 0x40, 0xcb, 0x5c,
- 0xfc, 0x22, 0xb6, 0x11, 0x15, 0x9f, 0x81, 0xb2, 0x44, 0xc5, 0x67, 0x41, 0x23, 0x46, 0x01, 0xb9,
- 0x49, 0x50, 0x3f, 0xc0, 0x24, 0xd0, 0x17, 0x59, 0xe7, 0x20, 0x0e, 0x8e, 0xe8, 0x5f, 0xfe, 0xc7,
- 0x79, 0xa1, 0xb6, 0x13, 0x68, 0x44, 0x31, 0x09, 0x74, 0x3b, 0xbe, 0x34, 0xd6, 0x40, 0xe9, 0xdb,
- 0xe9, 0xcc, 0xc8, 0xe1, 0xb9, 0x02, 0x3d, 0xbb, 0x35, 0x42, 0x5f, 0x2d, 0xb3, 0x2b, 0xae, 0xea,
- 0xeb, 0x8f, 0x99, 0x3a, 0x57, 0xfc, 0xa8, 0xc8, 0x2b, 0x54, 0x04, 0xc8, 0x50, 0x15, 0x2a, 0x09,
- 0xa2, 0xa8, 0x0a, 0x95, 0x82, 0x7c, 0x18, 0x05, 0x74, 0x00, 0xb5, 0xb0, 0xb5, 0x47, 0x5a, 0x16,
- 0x30, 0xa1, 0xb7, 0x52, 0x38, 0xa1, 0x8c, 0xe7, 0xd0, 0x88, 0xb6, 0xea, 0xca, 0xab, 0x29, 0xf8,
- 0x80, 0xf2, 0x6a, 0x6a, 0x77, 0x2f, 0x8b, 0xaf, 0x6a, 0xff, 0x22, 0xc5, 0x37, 0xd1, 0x5d, 0x46,
- 0x8a, 0x6f, 0xb2, 0x5f, 0x34, 0x0a, 0xe8, 0x07, 0xf1, 0x1b, 0x4e, 0xbc, 0x67, 0x43, 0xd1, 0x9f,
- 0x52, 0x52, 0xdb, 0x43, 0x55, 0x81, 0x32, 0x1b, 0x3e, 0x11, 0xfb, 0xb7, 0xb0, 0x9e, 0x68, 0xc2,
- 0x94, 0xf4, 0xac, 0x7e, 0x4f, 0x49, 0xcf, 0xec, 0xe0, 0x8c, 0x02, 0xfa, 0x1d, 0x54, 0x82, 0x1f,
- 0x48, 0xd1, 0x56, 0x38, 0x3f, 0xf6, 0xbb, 0xab, 0x7e, 0x2b, 0x41, 0x0f, 0x57, 0x3f, 0x83, 0x7a,
- 0xa4, 0x37, 0x43, 0xd1, 0x1b, 0x60, 0xa1, 0xe7, 0x52, 0x1e, 0x4c, 0x69, 0xe6, 0xc4, 0x2e, 0xff,
- 0x04, 0xdb, 0xcb, 0x1a, 0x25, 0xf4, 0xcd, 0xb2, 0xc4, 0x5d, 0xd4, 0xf6, 0xf8, 0xe3, 0x26, 0x87,
- 0x1b, 0x39, 0x83, 0x1b, 0xb1, 0xc7, 0xbf, 0x2a, 0xb8, 0x69, 0x3d, 0x99, 0x2a, 0xb8, 0xa9, 0x1d,
- 0x83, 0xd8, 0x0e, 0x86, 0xcd, 0xb4, 0xa7, 0x22, 0x7a, 0xa0, 0xd2, 0x3b, 0xf3, 0x0d, 0xab, 0x3f,
- 0x5c, 0x3e, 0x29, 0xa2, 0xe6, 0x07, 0x58, 0x4f, 0xbc, 0x9f, 0x55, 0x6e, 0x64, 0x3d, 0xe9, 0x55,
- 0x6e, 0x64, 0x3e, 0xbe, 0x85, 0xf4, 0x77, 0x80, 0x92, 0xe0, 0x14, 0x8a, 0xbc, 0x12, 0x33, 0xd0,
- 0x31, 0x55, 0x91, 0xb3, 0xb1, 0xad, 0x47, 0xc2, 0xf8, 0x04, 0x1a, 0xa5, 0x8c, 0xcf, 0x02, 0xbe,
- 0x94, 0xf1, 0x99, 0x50, 0x16, 0x37, 0xfe, 0x62, 0x4d, 0xfc, 0x91, 0xe4, 0xc9, 0xbf, 0x03, 0x00,
- 0x00, 0xff, 0xff, 0xd6, 0x96, 0xf8, 0x6b, 0x7a, 0x22, 0x00, 0x00,
+func init() { proto.RegisterFile("repository-service.proto", fileDescriptor10) }
+
+var fileDescriptor10 = []byte{
+ // 2344 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x51, 0x73, 0xdb, 0xb8,
+ 0x11, 0x96, 0x6c, 0xcb, 0xb2, 0x56, 0xca, 0x9d, 0x0c, 0x2b, 0xb6, 0xc4, 0x38, 0x71, 0xc2, 0x64,
+ 0xee, 0x7c, 0x97, 0xd4, 0xbd, 0x73, 0x1e, 0x9a, 0x99, 0xb6, 0x73, 0x63, 0x4b, 0xb2, 0xad, 0x4b,
+ 0xec, 0xb8, 0x74, 0x32, 0x99, 0x66, 0x2e, 0xa3, 0xa1, 0x29, 0xc8, 0xe4, 0x88, 0x22, 0x14, 0x10,
+ 0x8a, 0xcf, 0xd7, 0xd7, 0x76, 0xe6, 0x1e, 0xdb, 0xdf, 0xd2, 0x7f, 0xd0, 0x3f, 0xd0, 0x87, 0xfe,
+ 0x8c, 0xbe, 0xf4, 0x27, 0x74, 0x00, 0x50, 0x04, 0x29, 0x92, 0x6a, 0x66, 0x98, 0xb6, 0x6f, 0xc4,
+ 0x62, 0xb1, 0xbb, 0xd8, 0x5d, 0x2c, 0xb0, 0x9f, 0x04, 0x4d, 0x8a, 0x27, 0xc4, 0x77, 0x18, 0xa1,
+ 0x37, 0xbf, 0xf0, 0x31, 0xfd, 0xe0, 0x58, 0x78, 0x6f, 0x42, 0x09, 0x23, 0x68, 0xf5, 0xca, 0x61,
+ 0xa6, 0x7b, 0xa3, 0xd5, 0x7c, 0xdb, 0xa4, 0x78, 0x20, 0xa9, 0xfa, 0x29, 0x6c, 0x19, 0xe1, 0x8a,
+ 0xee, 0x8f, 0x8e, 0xcf, 0x7c, 0x03, 0xbf, 0x9f, 0x62, 0x9f, 0xa1, 0x7d, 0x00, 0x25, 0xac, 0x59,
+ 0xbc, 0x5f, 0xdc, 0xad, 0xee, 0xa3, 0x3d, 0x29, 0x65, 0x4f, 0x2d, 0x32, 0x22, 0x5c, 0xfa, 0x3e,
+ 0x34, 0x93, 0xe2, 0xfc, 0x09, 0xf1, 0x7c, 0x8c, 0x36, 0x61, 0x15, 0x0b, 0x8a, 0x90, 0xb5, 0x66,
+ 0x04, 0x23, 0xfd, 0x4c, 0xac, 0x31, 0xad, 0x51, 0xcf, 0xb3, 0x28, 0x1e, 0x63, 0x8f, 0x99, 0x6e,
+ 0x1e, 0x1b, 0xee, 0x40, 0x2b, 0x45, 0x9e, 0x34, 0x42, 0x77, 0x61, 0x5d, 0x4e, 0x1e, 0x4d, 0xdd,
+ 0x3c, 0x5a, 0xd0, 0x43, 0xb8, 0x65, 0x51, 0x6c, 0x32, 0xdc, 0xbf, 0x74, 0xd8, 0xd8, 0x9c, 0x34,
+ 0x97, 0xc4, 0xa6, 0x6a, 0x92, 0x78, 0x28, 0x68, 0x7a, 0x03, 0x50, 0x54, 0x5b, 0x60, 0xc3, 0x04,
+ 0x6e, 0x1f, 0x9b, 0xf4, 0xd2, 0xbc, 0xc2, 0x6d, 0xe2, 0xba, 0xd8, 0x62, 0xff, 0x75, 0x3b, 0x9a,
+ 0xb0, 0x39, 0xaf, 0x31, 0xb0, 0xa5, 0x03, 0x9f, 0xb5, 0x5d, 0x6c, 0x7a, 0xd3, 0x49, 0x1e, 0x97,
+ 0xaf, 0xc3, 0xe7, 0xa1, 0x94, 0x40, 0xf0, 0x73, 0xb8, 0xad, 0x98, 0x2f, 0x9c, 0x9f, 0x70, 0x1e,
+ 0xf9, 0x4f, 0x60, 0x73, 0x5e, 0x58, 0x90, 0x54, 0x08, 0x56, 0x7c, 0xe7, 0x27, 0x2c, 0xe4, 0x2c,
+ 0x1b, 0xe2, 0x5b, 0x1f, 0x41, 0xeb, 0x60, 0x32, 0x71, 0x6f, 0x8e, 0x1d, 0x66, 0x32, 0x46, 0x9d,
+ 0xcb, 0x29, 0xc3, 0x79, 0xb2, 0x1a, 0x69, 0xb0, 0x46, 0xf1, 0x07, 0xc7, 0x77, 0x88, 0x27, 0xdc,
+ 0x5b, 0x33, 0xc2, 0xb1, 0xbe, 0x0d, 0x5a, 0x9a, 0xb2, 0xc0, 0x0b, 0x7f, 0x5c, 0x02, 0x74, 0x84,
+ 0x99, 0x65, 0x1b, 0x78, 0x4c, 0x58, 0x1e, 0x1f, 0xf0, 0xe3, 0x43, 0x85, 0x10, 0x61, 0x42, 0xc5,
+ 0x08, 0x46, 0xa8, 0x01, 0xa5, 0x21, 0xa1, 0x16, 0x6e, 0x2e, 0x8b, 0xc0, 0xcb, 0x01, 0xda, 0x82,
+ 0xb2, 0x47, 0xfa, 0xcc, 0xbc, 0xf2, 0x9b, 0x2b, 0xf2, 0xb4, 0x79, 0xe4, 0x95, 0x79, 0xe5, 0xa3,
+ 0x26, 0x94, 0x99, 0x33, 0xc6, 0x64, 0xca, 0x9a, 0xa5, 0xfb, 0xc5, 0xdd, 0x92, 0x31, 0x1b, 0xf2,
+ 0x25, 0xbe, 0x6f, 0xf7, 0x47, 0xf8, 0xa6, 0xb9, 0x2a, 0x35, 0xf8, 0xbe, 0xfd, 0x1c, 0xdf, 0xa0,
+ 0x1d, 0xa8, 0x8e, 0x3c, 0x72, 0xed, 0xf5, 0x6d, 0xc2, 0x4f, 0x6f, 0x59, 0x4c, 0x82, 0x20, 0x9d,
+ 0x70, 0x0a, 0x6a, 0xc1, 0x9a, 0x47, 0xfa, 0x13, 0x3a, 0xf5, 0x70, 0xb3, 0x22, 0xb4, 0x95, 0x3d,
+ 0x72, 0xce, 0x87, 0xdf, 0xaf, 0xac, 0xad, 0xd5, 0x2b, 0xfa, 0x6d, 0xd8, 0x88, 0x79, 0x21, 0xf0,
+ 0xce, 0x29, 0x6c, 0xb5, 0x45, 0x9a, 0x46, 0xb6, 0x9c, 0x23, 0x4b, 0x34, 0x68, 0x26, 0xc5, 0x05,
+ 0xaa, 0xfe, 0x59, 0x84, 0xf5, 0x63, 0xcc, 0x0e, 0xa8, 0x65, 0x3b, 0x1f, 0x72, 0xc5, 0xe1, 0x0e,
+ 0x54, 0x2c, 0x32, 0x1e, 0x3b, 0xac, 0xef, 0x0c, 0x82, 0x50, 0xac, 0x49, 0x42, 0x6f, 0xc0, 0x83,
+ 0x34, 0xa1, 0x78, 0xe8, 0xfc, 0x28, 0xa2, 0x51, 0x31, 0x82, 0x11, 0x7a, 0x06, 0xab, 0x43, 0x42,
+ 0xc7, 0x26, 0x13, 0xd1, 0xf8, 0x6c, 0xff, 0xfe, 0x4c, 0x49, 0xc2, 0xa6, 0xbd, 0x23, 0xc1, 0x67,
+ 0x04, 0xfc, 0xfa, 0x53, 0x58, 0x95, 0x14, 0x54, 0x86, 0xe5, 0xb7, 0xbd, 0xf3, 0x7a, 0x81, 0x7f,
+ 0xbc, 0x3a, 0x30, 0xea, 0x45, 0x04, 0xb0, 0xfa, 0xea, 0xc0, 0xe8, 0x1f, 0xbf, 0xad, 0x2f, 0xa1,
+ 0x2a, 0x94, 0xf9, 0xf7, 0xe1, 0xdb, 0xfd, 0xfa, 0xb2, 0xbe, 0x0b, 0x28, 0x2a, 0x58, 0x9d, 0x95,
+ 0x81, 0xc9, 0x4c, 0xb1, 0xcf, 0x9a, 0x21, 0xbe, 0x79, 0x08, 0x4e, 0x4c, 0xff, 0x05, 0xb1, 0x4c,
+ 0xf7, 0x90, 0x9a, 0x9e, 0x65, 0xe7, 0x3a, 0x29, 0xfa, 0x37, 0xd0, 0x4c, 0x8a, 0x0b, 0xd4, 0x37,
+ 0xa0, 0xf4, 0xc1, 0x74, 0xa7, 0x38, 0x28, 0xff, 0x72, 0xa0, 0xff, 0xa3, 0x08, 0x4d, 0x91, 0x1b,
+ 0x17, 0x64, 0x4a, 0x2d, 0x2c, 0x57, 0xe5, 0x89, 0xcf, 0x77, 0xb0, 0xee, 0x0b, 0x51, 0xfd, 0xc8,
+ 0xd2, 0xa5, 0xcc, 0xa5, 0x75, 0xc9, 0x6c, 0xc4, 0x2a, 0x6a, 0x20, 0xe0, 0x52, 0x18, 0x23, 0x42,
+ 0x59, 0x33, 0x6a, 0x7e, 0xc4, 0x40, 0x74, 0x17, 0x80, 0x99, 0xf4, 0x0a, 0xb3, 0x3e, 0xc5, 0x43,
+ 0x11, 0xd4, 0x9a, 0x51, 0x91, 0x14, 0x03, 0x0f, 0xf5, 0xa7, 0xd0, 0x4a, 0xd9, 0x94, 0xba, 0x08,
+ 0x29, 0xf6, 0xa7, 0x2e, 0x9b, 0x5d, 0x84, 0x72, 0xa4, 0x1f, 0x40, 0xf5, 0xc8, 0xb7, 0x46, 0x79,
+ 0xfc, 0xff, 0x08, 0x6a, 0x52, 0x84, 0xf2, 0x39, 0xa6, 0x94, 0xd0, 0x20, 0xe6, 0x72, 0xa0, 0xff,
+ 0xad, 0x08, 0x9f, 0xbf, 0xa1, 0x0e, 0x3f, 0x28, 0xc3, 0x3c, 0xae, 0xae, 0xc3, 0x32, 0xdf, 0xbd,
+ 0x2c, 0x89, 0xfc, 0x33, 0x56, 0x29, 0x97, 0xe3, 0x95, 0x12, 0x3d, 0x80, 0x1a, 0x71, 0x07, 0xfd,
+ 0x70, 0x5e, 0x3a, 0xad, 0x4a, 0xdc, 0x81, 0x31, 0x63, 0x09, 0x6b, 0x59, 0x29, 0x5a, 0xcb, 0x1a,
+ 0x50, 0xf2, 0x6d, 0xec, 0xba, 0xa2, 0x2c, 0xad, 0x19, 0x72, 0xa0, 0xef, 0x42, 0x5d, 0xed, 0x61,
+ 0xe1, 0x76, 0x6d, 0x68, 0x1c, 0x39, 0xde, 0xe0, 0x14, 0xd3, 0x2b, 0x7c, 0x68, 0xfa, 0xb9, 0x4e,
+ 0xff, 0x36, 0x54, 0x66, 0x1b, 0xf0, 0x9b, 0x4b, 0xf7, 0x97, 0x79, 0xd8, 0x43, 0x82, 0xfe, 0x18,
+ 0x6e, 0xcf, 0x69, 0x52, 0x47, 0xef, 0xd2, 0xf4, 0x65, 0xea, 0x57, 0x0c, 0xf1, 0xad, 0xff, 0x5c,
+ 0x84, 0x75, 0x59, 0xaf, 0x8e, 0x08, 0x1d, 0xfd, 0x3f, 0x53, 0x9e, 0xbf, 0x53, 0xa2, 0x96, 0x84,
+ 0x6f, 0xa5, 0x56, 0xcf, 0x37, 0x30, 0x37, 0xb6, 0xe7, 0x9d, 0x53, 0x72, 0x45, 0xb1, 0xef, 0xe7,
+ 0x2c, 0x9d, 0x54, 0x88, 0x8b, 0x94, 0x4e, 0x49, 0xe8, 0x0d, 0xf4, 0xdf, 0x82, 0x96, 0xa6, 0x2d,
+ 0x70, 0xe0, 0x0e, 0x54, 0x1d, 0xaf, 0x3f, 0x09, 0xc8, 0xc1, 0xc1, 0x01, 0x27, 0x64, 0x94, 0xc6,
+ 0x5e, 0xbc, 0x9f, 0x9a, 0xbe, 0xfd, 0xc9, 0x8c, 0xf5, 0x85, 0xb8, 0x88, 0xb1, 0x92, 0x30, 0x33,
+ 0x36, 0xa9, 0xed, 0x63, 0x8d, 0x1d, 0xc2, 0xbd, 0xf9, 0x9b, 0xea, 0x88, 0x92, 0xf1, 0x6b, 0xe3,
+ 0x45, 0xce, 0xe3, 0x38, 0xa5, 0x6e, 0x60, 0x2b, 0xff, 0xd4, 0x1f, 0xc0, 0x4e, 0xa6, 0x9e, 0x20,
+ 0xc8, 0x3d, 0xd8, 0x90, 0x2c, 0x87, 0x53, 0x6f, 0xe0, 0xe6, 0x7a, 0xa5, 0x7d, 0x0d, 0x8d, 0xb8,
+ 0xa8, 0x05, 0xf7, 0x0e, 0x06, 0x24, 0x4e, 0x6f, 0x9b, 0x78, 0x43, 0xe7, 0x2a, 0x67, 0x9c, 0x86,
+ 0x53, 0xd7, 0xed, 0x4f, 0x4c, 0x66, 0xcf, 0xe2, 0xc4, 0x09, 0xe7, 0x26, 0xb3, 0xf5, 0xc7, 0xb0,
+ 0x11, 0x53, 0xb3, 0xb0, 0x4e, 0xfc, 0xbc, 0x04, 0xf5, 0x0b, 0xcc, 0xf2, 0x9b, 0xf4, 0x0c, 0xca,
+ 0xd8, 0x63, 0xd4, 0xc1, 0xb2, 0x44, 0x54, 0xf7, 0xef, 0xcd, 0x16, 0xcc, 0x8b, 0xdf, 0xeb, 0x7a,
+ 0x8c, 0xde, 0x18, 0x33, 0x76, 0xed, 0x4f, 0x45, 0x28, 0x09, 0x12, 0x0f, 0x26, 0x7f, 0x89, 0xc9,
+ 0x82, 0xc1, 0x3f, 0xd1, 0x5d, 0xa8, 0x88, 0x2b, 0xb3, 0xef, 0x33, 0x2a, 0x37, 0x7a, 0x52, 0x30,
+ 0xd6, 0x04, 0xe9, 0x82, 0x51, 0xf4, 0x00, 0xaa, 0x72, 0xda, 0xf1, 0xd8, 0xd3, 0x7d, 0x51, 0x7d,
+ 0x4b, 0x27, 0x05, 0x03, 0x04, 0xb1, 0xc7, 0x69, 0x68, 0x07, 0xe4, 0xa8, 0x7f, 0x49, 0x88, 0x2b,
+ 0xdf, 0x85, 0x27, 0x05, 0x43, 0x4a, 0x3d, 0x24, 0xc4, 0x3d, 0x2c, 0x07, 0x57, 0xb4, 0xbe, 0x01,
+ 0xeb, 0x11, 0x53, 0x83, 0x54, 0x79, 0x07, 0x1b, 0x1d, 0xec, 0xe2, 0x4f, 0x11, 0x34, 0x04, 0x2b,
+ 0x23, 0x7c, 0x23, 0xdd, 0x53, 0x31, 0xc4, 0xb7, 0xbe, 0x09, 0x8d, 0xb8, 0xf8, 0x40, 0xad, 0xc5,
+ 0xfb, 0x39, 0x9f, 0x11, 0x8a, 0xdb, 0x53, 0x9f, 0x91, 0xf1, 0x09, 0x21, 0x23, 0x3f, 0xa7, 0x72,
+ 0x91, 0x8f, 0x4b, 0x91, 0x7c, 0xdc, 0x06, 0x2d, 0x4d, 0x49, 0x60, 0xc2, 0x19, 0x34, 0x0f, 0x4d,
+ 0x6b, 0x34, 0x9d, 0x7c, 0x1a, 0x0b, 0xf4, 0x5f, 0x42, 0x2b, 0x45, 0xde, 0x82, 0xe3, 0x32, 0x82,
+ 0x07, 0x69, 0x07, 0x39, 0xf7, 0x99, 0x4d, 0xf5, 0xc5, 0x23, 0xd0, 0x17, 0x29, 0x0b, 0x7c, 0x72,
+ 0x02, 0x88, 0xdf, 0x75, 0x2f, 0x1c, 0x0b, 0x7b, 0xb9, 0xee, 0x54, 0xbd, 0x0d, 0x1b, 0x31, 0x49,
+ 0x81, 0x1f, 0x9e, 0x00, 0x72, 0x25, 0xa9, 0xef, 0xdb, 0x84, 0xb2, 0xbe, 0x67, 0x8e, 0x67, 0x37,
+ 0x68, 0x3d, 0x98, 0xb9, 0xe0, 0x13, 0x67, 0xe6, 0x58, 0x84, 0xe8, 0x18, 0xb3, 0x9e, 0x37, 0x24,
+ 0x07, 0x9f, 0xa2, 0xe7, 0xd3, 0x7f, 0x0d, 0xad, 0x14, 0x79, 0x81, 0x69, 0xf7, 0x00, 0x54, 0xb3,
+ 0x17, 0x04, 0x2a, 0x42, 0xe1, 0xc6, 0xb4, 0x4d, 0xd7, 0x9a, 0xba, 0x26, 0xc3, 0x6d, 0x1b, 0x5b,
+ 0x23, 0x7f, 0x3a, 0xce, 0x63, 0xcc, 0xaf, 0xa0, 0x95, 0x22, 0x2f, 0x30, 0x46, 0x83, 0x35, 0x2b,
+ 0xa0, 0x05, 0xde, 0x09, 0xc7, 0x3c, 0x48, 0xc7, 0x98, 0x5d, 0x78, 0xe6, 0xc4, 0xb7, 0x49, 0x1e,
+ 0x9c, 0x41, 0xff, 0x0a, 0x36, 0x62, 0x92, 0x16, 0x24, 0xeb, 0x5f, 0x8a, 0xf0, 0x30, 0x2d, 0x81,
+ 0x3e, 0x81, 0x19, 0xbc, 0xd5, 0xb4, 0x19, 0x9b, 0xf4, 0xd5, 0x45, 0x57, 0xe6, 0xe3, 0xd7, 0xd4,
+ 0xe5, 0x17, 0x81, 0x98, 0x32, 0xa7, 0xcc, 0x0e, 0xda, 0x2f, 0xc1, 0x7b, 0x30, 0x65, 0xb6, 0xfe,
+ 0x05, 0x3c, 0x5a, 0x6c, 0x52, 0x90, 0xd5, 0x7f, 0x2e, 0x42, 0xe3, 0x18, 0x33, 0xc3, 0xbc, 0x6e,
+ 0xdb, 0xa6, 0x77, 0x95, 0x0f, 0x37, 0x78, 0x08, 0xb7, 0x86, 0x94, 0x8c, 0xfb, 0x31, 0xf0, 0xa0,
+ 0x62, 0xd4, 0x38, 0x31, 0x7c, 0xf3, 0xee, 0x40, 0x95, 0x91, 0x7e, 0xec, 0xd5, 0x5c, 0x31, 0x80,
+ 0x91, 0x19, 0x83, 0xfe, 0xd7, 0x65, 0xb8, 0x3d, 0x67, 0x52, 0xe0, 0xfc, 0x13, 0xa8, 0x52, 0xf3,
+ 0xba, 0x6f, 0x49, 0x72, 0xb3, 0x28, 0xee, 0x9a, 0x2f, 0x23, 0xad, 0x65, 0x72, 0xcd, 0x5e, 0x48,
+ 0x32, 0x80, 0x86, 0xb3, 0xda, 0xdf, 0x97, 0xa0, 0x12, 0xce, 0xa0, 0x2d, 0x28, 0x5f, 0xba, 0xe4,
+ 0x92, 0x3f, 0x7c, 0x64, 0x42, 0xad, 0xf2, 0x61, 0x6f, 0x10, 0xa2, 0x2d, 0x4b, 0x0a, 0x6d, 0x11,
+ 0xcd, 0x3f, 0xbe, 0x96, 0xd7, 0xaf, 0x34, 0xbe, 0xec, 0xe1, 0x6b, 0x7e, 0xfb, 0xf2, 0x29, 0xfe,
+ 0xe2, 0x17, 0x53, 0x2b, 0x72, 0x8a, 0xb8, 0x03, 0x31, 0xf5, 0x12, 0x2a, 0x64, 0x82, 0xa9, 0xc9,
+ 0xf8, 0x9e, 0x4b, 0xa2, 0x27, 0xfe, 0xf6, 0x23, 0x0d, 0xdf, 0x7b, 0x39, 0x5b, 0x68, 0x28, 0x19,
+ 0xdc, 0xd7, 0xdc, 0x17, 0x4a, 0xa8, 0xc4, 0x30, 0x6a, 0xd4, 0xbc, 0x0e, 0xf9, 0x75, 0x07, 0x2a,
+ 0xe1, 0x80, 0x77, 0xcc, 0xaf, 0xcf, 0x9e, 0x9f, 0xbd, 0x7c, 0x73, 0x56, 0x2f, 0xa0, 0x0a, 0x94,
+ 0x0e, 0x3a, 0x9d, 0x6e, 0x47, 0x76, 0xd5, 0xed, 0x97, 0xe7, 0xbd, 0x6e, 0x47, 0x76, 0xd5, 0x9d,
+ 0xee, 0x8b, 0xee, 0xab, 0x6e, 0xa7, 0xbe, 0x8c, 0x6a, 0xb0, 0x76, 0xfa, 0xb2, 0xd3, 0x3b, 0xe2,
+ 0x53, 0x2b, 0x7c, 0xca, 0xe8, 0x9e, 0x1d, 0x9c, 0x76, 0x3b, 0xf5, 0x12, 0xaa, 0x43, 0xed, 0xd5,
+ 0xef, 0xcf, 0xbb, 0xfd, 0xf6, 0xc9, 0xc1, 0xd9, 0x71, 0xb7, 0x53, 0x5f, 0xd5, 0x3f, 0x40, 0xf3,
+ 0x02, 0x9b, 0xd4, 0xb2, 0x8f, 0x1c, 0x17, 0xfb, 0x87, 0x37, 0xbc, 0x48, 0xe5, 0xc9, 0xa5, 0x06,
+ 0x94, 0xde, 0x4f, 0x71, 0xf0, 0xae, 0xaf, 0x18, 0x72, 0x30, 0xeb, 0xc0, 0x96, 0xc3, 0x0e, 0x4c,
+ 0xff, 0x16, 0x5a, 0x29, 0x7a, 0xd5, 0xbb, 0x67, 0xc8, 0xc9, 0x22, 0x55, 0x6a, 0x86, 0x1c, 0xe8,
+ 0x37, 0x70, 0x27, 0xb6, 0xa4, 0x4d, 0x3c, 0x86, 0x3d, 0xf6, 0xbf, 0xb0, 0xf6, 0x19, 0x6c, 0xa7,
+ 0xab, 0x0e, 0x0c, 0x6e, 0x42, 0x79, 0x6c, 0x32, 0xcb, 0x0e, 0x4d, 0x9e, 0x0d, 0xf7, 0xff, 0xb5,
+ 0x29, 0x90, 0xdc, 0x19, 0x26, 0x28, 0xa1, 0x6e, 0xf4, 0x06, 0xea, 0xf3, 0xf8, 0x33, 0xda, 0x49,
+ 0xda, 0x1a, 0x03, 0xba, 0xb5, 0xfb, 0xd9, 0x0c, 0x41, 0x55, 0x28, 0xa0, 0xb7, 0x33, 0xdc, 0x38,
+ 0x02, 0x2a, 0xa3, 0xe8, 0xc2, 0x54, 0xfc, 0x5a, 0x7b, 0xb0, 0x80, 0x23, 0x94, 0xdd, 0x05, 0x50,
+ 0x28, 0x31, 0x6a, 0xc5, 0x97, 0x44, 0x70, 0x6a, 0x4d, 0x4b, 0x9b, 0x0a, 0xc5, 0xfc, 0x0e, 0x3e,
+ 0x8b, 0x83, 0xbc, 0xe8, 0x6e, 0x78, 0xa2, 0xd2, 0xe0, 0x66, 0xed, 0x5e, 0xd6, 0x74, 0x54, 0x64,
+ 0x1c, 0x77, 0x55, 0x22, 0x53, 0xc1, 0x5d, 0x25, 0x32, 0x1d, 0xae, 0xd5, 0x0b, 0xe8, 0x1d, 0xa0,
+ 0x24, 0x5e, 0x8a, 0x42, 0x3f, 0x65, 0x02, 0xb7, 0x9a, 0xbe, 0x88, 0x25, 0x14, 0x7f, 0x02, 0xd5,
+ 0x08, 0xd2, 0x88, 0x42, 0x8f, 0x25, 0x41, 0x58, 0xed, 0x4e, 0xea, 0x5c, 0x28, 0xe9, 0x0d, 0xd4,
+ 0xe7, 0x6f, 0x0c, 0x95, 0x4a, 0x19, 0xb0, 0xa5, 0x4a, 0xa5, 0x4c, 0x20, 0xb2, 0x80, 0x8e, 0x01,
+ 0x14, 0x38, 0xa7, 0xc2, 0x9d, 0x40, 0x02, 0x55, 0xb8, 0x93, 0x58, 0x9e, 0x5e, 0xf8, 0xa6, 0xc8,
+ 0x2d, 0x9c, 0x07, 0xdb, 0x94, 0x85, 0x19, 0xa8, 0x9e, 0xb2, 0x30, 0x0b, 0xa7, 0x93, 0xc9, 0x9e,
+ 0x40, 0xaf, 0x54, 0xb2, 0x67, 0xa1, 0x75, 0x2a, 0xd9, 0x33, 0xa1, 0x2f, 0xbd, 0x80, 0x9e, 0xc2,
+ 0xca, 0x91, 0x6f, 0x8d, 0xd0, 0x46, 0xc8, 0xac, 0x20, 0x2f, 0xad, 0x11, 0x27, 0x86, 0x8b, 0xbe,
+ 0x83, 0xb5, 0x19, 0xd6, 0x83, 0xb6, 0x66, 0x3c, 0x73, 0x08, 0x96, 0xd6, 0x4c, 0x4e, 0x84, 0x02,
+ 0xce, 0xe0, 0x56, 0x0c, 0x98, 0x41, 0xdb, 0xa1, 0xa6, 0x14, 0x64, 0x48, 0xbb, 0x9b, 0x31, 0x1b,
+ 0x3d, 0xb2, 0x0a, 0x30, 0x51, 0x31, 0x4c, 0xc0, 0x39, 0x2a, 0x86, 0x29, 0xf8, 0x8a, 0x38, 0x0c,
+ 0x49, 0xcc, 0x43, 0x1d, 0x86, 0x4c, 0xf4, 0x45, 0x1d, 0x86, 0x6c, 0xc8, 0x64, 0x26, 0x7e, 0x1e,
+ 0xa5, 0x88, 0x8a, 0xcf, 0xc0, 0x4b, 0xa2, 0xe2, 0xb3, 0x40, 0x0e, 0xbd, 0x80, 0xdc, 0x24, 0x7c,
+ 0x1f, 0xa0, 0x0b, 0xe8, 0x8b, 0xac, 0x73, 0x10, 0x87, 0x39, 0xb4, 0x2f, 0xff, 0x23, 0x5f, 0xa8,
+ 0xed, 0x14, 0x6a, 0x51, 0x74, 0x01, 0xdd, 0x89, 0x2f, 0x8d, 0xb5, 0x42, 0xda, 0x76, 0xfa, 0x64,
+ 0xe4, 0xf0, 0x5c, 0x83, 0x96, 0xdd, 0xe4, 0xa0, 0xaf, 0x16, 0xd9, 0x15, 0x57, 0xf5, 0xf5, 0xc7,
+ 0xb0, 0xce, 0x14, 0xef, 0x16, 0x79, 0x85, 0x8a, 0x40, 0x12, 0xaa, 0x42, 0x25, 0xe1, 0x10, 0x55,
+ 0xa1, 0x52, 0x30, 0x0c, 0xbd, 0x80, 0x0e, 0xa1, 0x12, 0x36, 0xe9, 0xa8, 0x99, 0x05, 0x31, 0x68,
+ 0xad, 0x94, 0x99, 0x50, 0xc6, 0x73, 0xa8, 0x45, 0x9b, 0x6e, 0xe5, 0xd5, 0x94, 0x4e, 0x5f, 0x79,
+ 0x35, 0xb5, 0x4f, 0x97, 0xc5, 0x57, 0x35, 0x72, 0x91, 0xe2, 0x9b, 0xe8, 0x13, 0x23, 0xc5, 0x37,
+ 0xd9, 0xf9, 0xe9, 0x05, 0xf4, 0x83, 0xf8, 0xb5, 0x26, 0xde, 0x7d, 0xa1, 0xe8, 0x8f, 0x26, 0xa9,
+ 0x8d, 0x9e, 0xaa, 0x40, 0x99, 0xad, 0x9b, 0x88, 0xfd, 0x5b, 0x58, 0x4f, 0xb4, 0x53, 0x4a, 0x7a,
+ 0x56, 0xe7, 0xa6, 0xa4, 0x67, 0xf6, 0x62, 0x7a, 0x01, 0xfd, 0x06, 0xca, 0xc1, 0x4f, 0xa1, 0x68,
+ 0x33, 0xe4, 0x8f, 0xfd, 0xc2, 0xaa, 0x6d, 0x25, 0xe8, 0xe1, 0xea, 0xef, 0xa1, 0x1a, 0xe9, 0xb2,
+ 0x50, 0xf4, 0x06, 0x98, 0xeb, 0x9e, 0x94, 0x07, 0x53, 0xda, 0x32, 0xb1, 0xcb, 0x3f, 0xc0, 0xf6,
+ 0xa2, 0x96, 0x07, 0x3d, 0x5e, 0x94, 0xb8, 0xf3, 0xda, 0x9e, 0x7c, 0x1c, 0x73, 0xb8, 0x91, 0x73,
+ 0xb8, 0x15, 0x7b, 0xc6, 0xab, 0x82, 0x9b, 0xd6, 0x5d, 0xa9, 0x82, 0x9b, 0xfa, 0xf6, 0x17, 0xdb,
+ 0xc1, 0xd0, 0x48, 0x7b, 0x2a, 0xa2, 0x87, 0x2a, 0xbd, 0x33, 0xdf, 0xb0, 0xda, 0xa3, 0xc5, 0x4c,
+ 0x11, 0x35, 0x3f, 0xc0, 0x7a, 0xe2, 0xfd, 0xac, 0x72, 0x23, 0xeb, 0x49, 0xaf, 0x72, 0x23, 0xf3,
+ 0xf1, 0x2d, 0xa4, 0xbf, 0x03, 0x94, 0x84, 0x99, 0x50, 0xe4, 0x95, 0x98, 0x81, 0x73, 0xa9, 0x8a,
+ 0x9c, 0x8d, 0x52, 0xed, 0x0a, 0xe3, 0x13, 0xb8, 0x92, 0x32, 0x3e, 0x0b, 0xc2, 0x52, 0xc6, 0x67,
+ 0x82, 0x52, 0xdc, 0xf8, 0xcb, 0x55, 0xf1, 0x97, 0x91, 0xa7, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff,
+ 0xcc, 0xc6, 0x1f, 0x98, 0x64, 0x22, 0x00, 0x00,
}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/server.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/server.pb.go
index fea68f5..cd85fc4 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/server.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/server.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: server.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -23,7 +23,7 @@ type ServerInfoRequest struct {
func (m *ServerInfoRequest) Reset() { *m = ServerInfoRequest{} }
func (m *ServerInfoRequest) String() string { return proto.CompactTextString(m) }
func (*ServerInfoRequest) ProtoMessage() {}
-func (*ServerInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{0} }
+func (*ServerInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0} }
type ServerInfoResponse struct {
ServerVersion string `protobuf:"bytes,1,opt,name=server_version,json=serverVersion" json:"server_version,omitempty"`
@@ -34,7 +34,7 @@ type ServerInfoResponse struct {
func (m *ServerInfoResponse) Reset() { *m = ServerInfoResponse{} }
func (m *ServerInfoResponse) String() string { return proto.CompactTextString(m) }
func (*ServerInfoResponse) ProtoMessage() {}
-func (*ServerInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{1} }
+func (*ServerInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{1} }
func (m *ServerInfoResponse) GetServerVersion() string {
if m != nil {
@@ -67,7 +67,7 @@ func (m *ServerInfoResponse_StorageStatus) Reset() { *m = ServerInfoResp
func (m *ServerInfoResponse_StorageStatus) String() string { return proto.CompactTextString(m) }
func (*ServerInfoResponse_StorageStatus) ProtoMessage() {}
func (*ServerInfoResponse_StorageStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor12, []int{1, 0}
+ return fileDescriptor11, []int{1, 0}
}
func (m *ServerInfoResponse_StorageStatus) GetStorageName() string {
@@ -169,9 +169,9 @@ var _ServerService_serviceDesc = grpc.ServiceDesc{
Metadata: "server.proto",
}
-func init() { proto.RegisterFile("server.proto", fileDescriptor12) }
+func init() { proto.RegisterFile("server.proto", fileDescriptor11) }
-var fileDescriptor12 = []byte{
+var fileDescriptor11 = []byte{
// 258 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xcf, 0x4a, 0xc3, 0x40,
0x10, 0xc6, 0x6d, 0x03, 0xa5, 0x9d, 0x34, 0xfe, 0x19, 0x2f, 0x35, 0x08, 0xd6, 0x80, 0x90, 0x53,
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/shared.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/shared.pb.go
index c141236..5cb1031 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/shared.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/shared.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: shared.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -24,20 +24,13 @@ type Repository struct {
GitAlternateObjectDirectories []string `protobuf:"bytes,5,rep,name=git_alternate_object_directories,json=gitAlternateObjectDirectories" json:"git_alternate_object_directories,omitempty"`
// Used in callbacks to GitLab so that it knows what repository the event is
// associated with. May be left empty on RPC's that do not perform callbacks.
- // During project creation, `gl_repository` may not be known.
GlRepository string `protobuf:"bytes,6,opt,name=gl_repository,json=glRepository" json:"gl_repository,omitempty"`
- // The human-readable GitLab project name (e.g. gitlab-org/gitlab-ce).
- // When hashed storage is use, this associates a project name with its
- // path on disk. The name can change over time (e.g. when a project is
- // renamed). This is primarily used for logging/debugging at the
- // moment.
- GlProjectName string `protobuf:"bytes,7,opt,name=gl_project_name,json=glProjectName" json:"gl_project_name,omitempty"`
}
func (m *Repository) Reset() { *m = Repository{} }
func (m *Repository) String() string { return proto.CompactTextString(m) }
func (*Repository) ProtoMessage() {}
-func (*Repository) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{0} }
+func (*Repository) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{0} }
func (m *Repository) GetStorageName() string {
if m != nil {
@@ -74,13 +67,6 @@ func (m *Repository) GetGlRepository() string {
return ""
}
-func (m *Repository) GetGlProjectName() string {
- if m != nil {
- return m.GlProjectName
- }
- return ""
-}
-
// Corresponds to Gitlab::Git::Commit
type GitCommit struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
@@ -98,7 +84,7 @@ type GitCommit struct {
func (m *GitCommit) Reset() { *m = GitCommit{} }
func (m *GitCommit) String() string { return proto.CompactTextString(m) }
func (*GitCommit) ProtoMessage() {}
-func (*GitCommit) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{1} }
+func (*GitCommit) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{1} }
func (m *GitCommit) GetId() string {
if m != nil {
@@ -158,7 +144,7 @@ type CommitAuthor struct {
func (m *CommitAuthor) Reset() { *m = CommitAuthor{} }
func (m *CommitAuthor) String() string { return proto.CompactTextString(m) }
func (*CommitAuthor) ProtoMessage() {}
-func (*CommitAuthor) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{2} }
+func (*CommitAuthor) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{2} }
func (m *CommitAuthor) GetName() []byte {
if m != nil {
@@ -188,7 +174,7 @@ type ExitStatus struct {
func (m *ExitStatus) Reset() { *m = ExitStatus{} }
func (m *ExitStatus) String() string { return proto.CompactTextString(m) }
func (*ExitStatus) ProtoMessage() {}
-func (*ExitStatus) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{3} }
+func (*ExitStatus) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{3} }
func (m *ExitStatus) GetValue() int32 {
if m != nil {
@@ -206,7 +192,7 @@ type Branch struct {
func (m *Branch) Reset() { *m = Branch{} }
func (m *Branch) String() string { return proto.CompactTextString(m) }
func (*Branch) ProtoMessage() {}
-func (*Branch) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{4} }
+func (*Branch) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{4} }
func (m *Branch) GetName() []byte {
if m != nil {
@@ -237,7 +223,7 @@ type Tag struct {
func (m *Tag) Reset() { *m = Tag{} }
func (m *Tag) String() string { return proto.CompactTextString(m) }
func (*Tag) ProtoMessage() {}
-func (*Tag) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{5} }
+func (*Tag) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{5} }
func (m *Tag) GetName() []byte {
if m != nil {
@@ -291,7 +277,7 @@ type User struct {
func (m *User) Reset() { *m = User{} }
func (m *User) String() string { return proto.CompactTextString(m) }
func (*User) ProtoMessage() {}
-func (*User) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{6} }
+func (*User) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{6} }
func (m *User) GetGlId() string {
if m != nil {
@@ -331,46 +317,44 @@ func init() {
proto.RegisterType((*User)(nil), "gitaly.User")
}
-func init() { proto.RegisterFile("shared.proto", fileDescriptor13) }
-
-var fileDescriptor13 = []byte{
- // 594 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0xc1, 0x6e, 0xd4, 0x3c,
- 0x10, 0xd6, 0x66, 0xb3, 0xdb, 0xee, 0x6c, 0xfa, 0xff, 0x60, 0x7a, 0x88, 0x8a, 0xaa, 0x96, 0x20,
- 0xa1, 0x1e, 0x50, 0x8a, 0x16, 0x89, 0x7b, 0x0b, 0xa8, 0x2a, 0x07, 0xa8, 0xd2, 0xf6, 0xc2, 0x25,
- 0xf2, 0x6e, 0xa6, 0x5e, 0x23, 0x67, 0x1d, 0xd9, 0x93, 0x8a, 0xf6, 0x89, 0x78, 0x18, 0xde, 0x83,
- 0xd7, 0x40, 0xb6, 0x93, 0xa5, 0x40, 0x41, 0xdc, 0x3c, 0x9f, 0x3f, 0xcf, 0xcc, 0x37, 0xdf, 0x18,
- 0x12, 0xbb, 0xe4, 0x06, 0xab, 0xbc, 0x31, 0x9a, 0x34, 0x1b, 0x0b, 0x49, 0x5c, 0xdd, 0xec, 0xec,
- 0x09, 0xad, 0x85, 0xc2, 0x43, 0x8f, 0xce, 0xdb, 0xab, 0x43, 0x92, 0x35, 0x5a, 0xe2, 0x75, 0x13,
- 0x88, 0xd9, 0x97, 0x08, 0xa0, 0xc0, 0x46, 0x5b, 0x49, 0xda, 0xdc, 0xb0, 0x27, 0x90, 0x58, 0xd2,
- 0x86, 0x0b, 0x2c, 0x57, 0xbc, 0xc6, 0x34, 0xda, 0x1f, 0x1c, 0x4c, 0x8a, 0x69, 0x87, 0xbd, 0xe7,
- 0x35, 0xb2, 0xa7, 0xb0, 0x65, 0x50, 0x71, 0x92, 0xd7, 0x58, 0x36, 0x9c, 0x96, 0xe9, 0xd0, 0x73,
- 0x92, 0x1e, 0x3c, 0xe3, 0xb4, 0x64, 0x2f, 0x60, 0x5b, 0x48, 0x2a, 0xf5, 0xfc, 0x13, 0x2e, 0xa8,
- 0xac, 0xa4, 0xc1, 0x85, 0xcb, 0x9f, 0xc6, 0x9e, 0xcb, 0x84, 0xa4, 0x0f, 0xfe, 0xea, 0x4d, 0x7f,
- 0xc3, 0x4e, 0x60, 0xdf, 0xbd, 0xe0, 0x8a, 0xd0, 0xac, 0x38, 0xe1, 0xaf, 0x6f, 0x25, 0xda, 0x74,
- 0xb4, 0x3f, 0x3c, 0x98, 0x14, 0xbb, 0x42, 0xd2, 0x51, 0x4f, 0xfb, 0x39, 0x8d, 0x44, 0xeb, 0xfa,
- 0x13, 0xaa, 0x34, 0x6b, 0x4d, 0xe9, 0x38, 0xf4, 0x27, 0xd4, 0x1d, 0x9d, 0xcf, 0xe0, 0x7f, 0xa1,
- 0xca, 0xc6, 0x68, 0x5f, 0xc3, 0x4b, 0xdd, 0xf0, 0xb4, 0x2d, 0xa1, 0xce, 0x02, 0xea, 0xc4, 0xbe,
- 0x8b, 0x37, 0x07, 0x0f, 0xa2, 0x22, 0x76, 0x3a, 0xb3, 0x6f, 0x03, 0x98, 0x9c, 0x48, 0x7a, 0xad,
- 0xeb, 0x5a, 0x12, 0xfb, 0x0f, 0x22, 0x59, 0xa5, 0x03, 0xff, 0x28, 0x92, 0x15, 0x4b, 0x61, 0xc3,
- 0xb6, 0xbe, 0x19, 0x3f, 0xb4, 0xa4, 0xe8, 0x43, 0xc6, 0x20, 0x9e, 0xeb, 0xea, 0xc6, 0xcf, 0x29,
- 0x29, 0xfc, 0x99, 0x3d, 0x87, 0x31, 0x6f, 0x69, 0xa9, 0x8d, 0x9f, 0xc8, 0x74, 0xb6, 0x9d, 0x07,
- 0xc3, 0xf2, 0x90, 0xfd, 0xc8, 0xdf, 0x15, 0x1d, 0x87, 0xcd, 0x60, 0xb2, 0xf0, 0x38, 0xa1, 0x49,
- 0x47, 0x7f, 0x79, 0xf0, 0x83, 0xc6, 0x76, 0x01, 0x1a, 0x6e, 0x70, 0x45, 0xa5, 0xac, 0x6c, 0x3a,
- 0xf6, 0x93, 0x9b, 0x04, 0xe4, 0xb4, 0xb2, 0xec, 0x31, 0x4c, 0x5c, 0x23, 0xa5, 0x95, 0xb7, 0x41,
- 0xfa, 0xb0, 0xd8, 0x74, 0xc0, 0xb9, 0xbc, 0xc5, 0x6c, 0x09, 0xc9, 0xdd, 0xb4, 0x4e, 0x81, 0x1f,
- 0xd1, 0x20, 0x28, 0x70, 0x67, 0xb6, 0x0d, 0x23, 0xac, 0xb9, 0x54, 0x9d, 0xda, 0x10, 0xb0, 0x1c,
- 0xe2, 0x8a, 0x13, 0x7a, 0xad, 0xd3, 0xd9, 0x4e, 0x1e, 0xd6, 0x2f, 0xef, 0xd7, 0x2f, 0xbf, 0xe8,
- 0xd7, 0xaf, 0xf0, 0xbc, 0x2c, 0x03, 0x78, 0xfb, 0x59, 0xd2, 0x39, 0x71, 0x6a, 0xad, 0xcb, 0x79,
- 0xcd, 0x55, 0x1b, 0x0a, 0x8d, 0x8a, 0x10, 0x64, 0x17, 0x30, 0x3e, 0x36, 0x7c, 0xb5, 0x58, 0xde,
- 0xdb, 0xc7, 0x2b, 0xd8, 0x22, 0x6e, 0x04, 0x52, 0x19, 0xb4, 0xfb, 0x7e, 0xa6, 0xb3, 0x87, 0xfd,
- 0x7c, 0xd6, 0x8e, 0x15, 0x49, 0xe0, 0x85, 0x28, 0xfb, 0x3a, 0x80, 0xe1, 0x05, 0x17, 0xf7, 0xe6,
- 0x0c, 0xde, 0x46, 0x6b, 0x6f, 0x7f, 0xab, 0x31, 0xfc, 0xa7, 0x1a, 0x6e, 0x27, 0x6a, 0xb4, 0x96,
- 0x0b, 0xf4, 0x36, 0x27, 0x45, 0x1f, 0xba, 0x7f, 0xd6, 0x1d, 0x83, 0x03, 0x23, 0xef, 0xc0, 0xb4,
- 0xc3, 0x9c, 0x09, 0x6e, 0x45, 0x88, 0x0b, 0x81, 0xc6, 0x2f, 0xf0, 0x1f, 0x57, 0x24, 0x70, 0xb2,
- 0x2b, 0x88, 0x2f, 0x2d, 0x1a, 0xf6, 0x08, 0x46, 0x42, 0x95, 0xeb, 0xcd, 0x8c, 0x85, 0x3a, 0xad,
- 0xd6, 0x1a, 0xa3, 0xfb, 0xfc, 0x1b, 0xde, 0xf5, 0x6f, 0x0f, 0xa6, 0x42, 0x95, 0xad, 0x75, 0x9f,
- 0xab, 0xc6, 0xee, 0xbb, 0x82, 0x50, 0x97, 0x1d, 0x72, 0x0c, 0x1f, 0x37, 0x43, 0x1b, 0xcd, 0x7c,
- 0x3e, 0xf6, 0xb6, 0xbe, 0xfc, 0x1e, 0x00, 0x00, 0xff, 0xff, 0xce, 0x46, 0x02, 0xaa, 0x7b, 0x04,
- 0x00, 0x00,
+func init() { proto.RegisterFile("shared.proto", fileDescriptor12) }
+
+var fileDescriptor12 = []byte{
+ // 568 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x5f, 0x6f, 0xd3, 0x3e,
+ 0x14, 0x55, 0xd2, 0xb4, 0x5b, 0x6f, 0xb3, 0x9f, 0x7e, 0x98, 0x3d, 0x44, 0x43, 0xd3, 0x4a, 0x78,
+ 0xd9, 0x03, 0xca, 0x50, 0x91, 0x78, 0x1f, 0x7f, 0x34, 0x8d, 0x07, 0x40, 0xde, 0xf6, 0x1c, 0xb9,
+ 0xcd, 0x9d, 0x6b, 0xe4, 0x34, 0x95, 0x7d, 0x33, 0xb1, 0x3d, 0xf1, 0x01, 0xf9, 0x1e, 0x7c, 0x0d,
+ 0x64, 0x3b, 0xe9, 0x06, 0x14, 0xc4, 0x9b, 0xef, 0xf1, 0xf1, 0xf5, 0x3d, 0x3e, 0xc7, 0x90, 0xda,
+ 0xa5, 0x30, 0x58, 0x15, 0x6b, 0xd3, 0x50, 0xc3, 0x46, 0x52, 0x91, 0xd0, 0xb7, 0x07, 0x47, 0xb2,
+ 0x69, 0xa4, 0xc6, 0x13, 0x8f, 0xce, 0xdb, 0xeb, 0x13, 0x52, 0x35, 0x5a, 0x12, 0xf5, 0x3a, 0x10,
+ 0xf3, 0xaf, 0x31, 0x00, 0xc7, 0x75, 0x63, 0x15, 0x35, 0xe6, 0x96, 0x3d, 0x85, 0xd4, 0x52, 0x63,
+ 0x84, 0xc4, 0x72, 0x25, 0x6a, 0xcc, 0xe2, 0x69, 0x74, 0x3c, 0xe6, 0x93, 0x0e, 0xfb, 0x20, 0x6a,
+ 0x64, 0xcf, 0x60, 0xcf, 0xa0, 0x16, 0xa4, 0x6e, 0xb0, 0x5c, 0x0b, 0x5a, 0x66, 0x03, 0xcf, 0x49,
+ 0x7b, 0xf0, 0x93, 0xa0, 0x25, 0x7b, 0x01, 0xfb, 0x52, 0x51, 0xd9, 0xcc, 0x3f, 0xe3, 0x82, 0xca,
+ 0x4a, 0x19, 0x5c, 0xb8, 0xfe, 0x59, 0xe2, 0xb9, 0x4c, 0x2a, 0xfa, 0xe8, 0xb7, 0xde, 0xf6, 0x3b,
+ 0xec, 0x0c, 0xa6, 0xee, 0x84, 0xd0, 0x84, 0x66, 0x25, 0x08, 0x7f, 0x3d, 0xab, 0xd0, 0x66, 0xc3,
+ 0xe9, 0xe0, 0x78, 0xcc, 0x0f, 0xa5, 0xa2, 0xd3, 0x9e, 0xf6, 0x73, 0x1b, 0x85, 0xd6, 0xcd, 0x27,
+ 0x75, 0x69, 0x36, 0x9a, 0xb2, 0x51, 0x98, 0x4f, 0xea, 0x7b, 0x9d, 0xef, 0x93, 0xdd, 0xe8, 0xff,
+ 0x98, 0x27, 0x6e, 0xfe, 0xfc, 0x7b, 0x04, 0xe3, 0x33, 0x45, 0x6f, 0x9a, 0xba, 0x56, 0xc4, 0xfe,
+ 0x83, 0x58, 0x55, 0x59, 0xe4, 0xcf, 0xc4, 0xaa, 0x62, 0x19, 0xec, 0xd8, 0xd6, 0x5f, 0xe2, 0x1f,
+ 0x23, 0xe5, 0x7d, 0xc9, 0x18, 0x24, 0xf3, 0xa6, 0xba, 0xf5, 0xfa, 0x53, 0xee, 0xd7, 0xec, 0x39,
+ 0x8c, 0x44, 0x4b, 0xcb, 0xc6, 0x78, 0xa5, 0x93, 0xd9, 0x7e, 0x11, 0x8c, 0x28, 0x42, 0xf7, 0x53,
+ 0xbf, 0xc7, 0x3b, 0x0e, 0x9b, 0xc1, 0x78, 0xe1, 0x71, 0x42, 0x93, 0x0d, 0xff, 0x72, 0xe0, 0x9e,
+ 0xc6, 0x0e, 0x01, 0xd6, 0xc2, 0xe0, 0x8a, 0x4a, 0x55, 0xd9, 0x6c, 0xe4, 0x5f, 0x64, 0x1c, 0x90,
+ 0xf3, 0xca, 0xb2, 0x27, 0x30, 0x76, 0x83, 0x94, 0x56, 0xdd, 0x61, 0xb6, 0x33, 0x8d, 0x8e, 0x07,
+ 0x7c, 0xd7, 0x01, 0x17, 0xea, 0x0e, 0xf3, 0x25, 0xa4, 0x0f, 0xdb, 0x3a, 0x05, 0xde, 0xe5, 0x28,
+ 0x28, 0x70, 0x6b, 0xb6, 0x0f, 0x43, 0xac, 0x85, 0xd2, 0x9d, 0xda, 0x50, 0xb0, 0x02, 0x92, 0x4a,
+ 0x10, 0x7a, 0xad, 0x93, 0xd9, 0x41, 0x11, 0x62, 0x55, 0xf4, 0xb1, 0x2a, 0x2e, 0xfb, 0x58, 0x71,
+ 0xcf, 0xcb, 0x73, 0x80, 0x77, 0x5f, 0x14, 0x5d, 0x90, 0xa0, 0xd6, 0xba, 0x9e, 0x37, 0x42, 0xb7,
+ 0xe1, 0xa2, 0x21, 0x0f, 0x45, 0x7e, 0x09, 0xa3, 0xd7, 0x46, 0xac, 0x16, 0xcb, 0xad, 0x73, 0xbc,
+ 0x82, 0x3d, 0x12, 0x46, 0x22, 0x95, 0x41, 0xbb, 0x9f, 0x67, 0x32, 0x7b, 0xd4, 0xbf, 0xcf, 0xc6,
+ 0x31, 0x9e, 0x06, 0x5e, 0xa8, 0xf2, 0x6f, 0x11, 0x0c, 0x2e, 0x85, 0xdc, 0xda, 0x33, 0x78, 0x1b,
+ 0x6f, 0xbc, 0xfd, 0xed, 0x8e, 0xc1, 0x3f, 0xdd, 0xe1, 0x32, 0x51, 0xa3, 0xb5, 0x42, 0xa2, 0xb7,
+ 0x39, 0xe5, 0x7d, 0xe9, 0xfe, 0x4f, 0xb7, 0x0c, 0x0e, 0x0c, 0xbd, 0x03, 0x93, 0x0e, 0x73, 0x26,
+ 0xb8, 0x88, 0x90, 0x90, 0x12, 0x8d, 0x0f, 0xe6, 0x1f, 0x23, 0x12, 0x38, 0xf9, 0x35, 0x24, 0x57,
+ 0x16, 0x0d, 0x7b, 0x0c, 0x43, 0xa9, 0xcb, 0x4d, 0x32, 0x13, 0xa9, 0xcf, 0xab, 0x8d, 0xc6, 0x78,
+ 0x9b, 0x7f, 0x83, 0x87, 0xfe, 0x1d, 0xc1, 0x44, 0xea, 0xb2, 0xb5, 0xee, 0xd3, 0xd4, 0xd8, 0x7d,
+ 0x43, 0x90, 0xfa, 0xaa, 0x43, 0xe6, 0x23, 0x6f, 0xe5, 0xcb, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff,
+ 0xf1, 0xe6, 0xc7, 0x44, 0x47, 0x04, 0x00, 0x00,
}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/smarthttp.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/smarthttp.pb.go
index 826b2b1..11e99e3 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/smarthttp.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/smarthttp.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: smarthttp.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -28,7 +28,7 @@ type InfoRefsRequest struct {
func (m *InfoRefsRequest) Reset() { *m = InfoRefsRequest{} }
func (m *InfoRefsRequest) String() string { return proto.CompactTextString(m) }
func (*InfoRefsRequest) ProtoMessage() {}
-func (*InfoRefsRequest) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{0} }
+func (*InfoRefsRequest) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{0} }
func (m *InfoRefsRequest) GetRepository() *Repository {
if m != nil {
@@ -58,7 +58,7 @@ type InfoRefsResponse struct {
func (m *InfoRefsResponse) Reset() { *m = InfoRefsResponse{} }
func (m *InfoRefsResponse) String() string { return proto.CompactTextString(m) }
func (*InfoRefsResponse) ProtoMessage() {}
-func (*InfoRefsResponse) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{1} }
+func (*InfoRefsResponse) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{1} }
func (m *InfoRefsResponse) GetData() []byte {
if m != nil {
@@ -81,7 +81,7 @@ type PostUploadPackRequest struct {
func (m *PostUploadPackRequest) Reset() { *m = PostUploadPackRequest{} }
func (m *PostUploadPackRequest) String() string { return proto.CompactTextString(m) }
func (*PostUploadPackRequest) ProtoMessage() {}
-func (*PostUploadPackRequest) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{2} }
+func (*PostUploadPackRequest) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{2} }
func (m *PostUploadPackRequest) GetRepository() *Repository {
if m != nil {
@@ -119,7 +119,7 @@ type PostUploadPackResponse struct {
func (m *PostUploadPackResponse) Reset() { *m = PostUploadPackResponse{} }
func (m *PostUploadPackResponse) String() string { return proto.CompactTextString(m) }
func (*PostUploadPackResponse) ProtoMessage() {}
-func (*PostUploadPackResponse) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{3} }
+func (*PostUploadPackResponse) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{3} }
func (m *PostUploadPackResponse) GetData() []byte {
if m != nil {
@@ -147,7 +147,7 @@ type PostReceivePackRequest struct {
func (m *PostReceivePackRequest) Reset() { *m = PostReceivePackRequest{} }
func (m *PostReceivePackRequest) String() string { return proto.CompactTextString(m) }
func (*PostReceivePackRequest) ProtoMessage() {}
-func (*PostReceivePackRequest) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{4} }
+func (*PostReceivePackRequest) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{4} }
func (m *PostReceivePackRequest) GetRepository() *Repository {
if m != nil {
@@ -206,7 +206,7 @@ type PostReceivePackResponse struct {
func (m *PostReceivePackResponse) Reset() { *m = PostReceivePackResponse{} }
func (m *PostReceivePackResponse) String() string { return proto.CompactTextString(m) }
func (*PostReceivePackResponse) ProtoMessage() {}
-func (*PostReceivePackResponse) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{5} }
+func (*PostReceivePackResponse) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{5} }
func (m *PostReceivePackResponse) GetData() []byte {
if m != nil {
@@ -521,9 +521,9 @@ var _SmartHTTPService_serviceDesc = grpc.ServiceDesc{
Metadata: "smarthttp.proto",
}
-func init() { proto.RegisterFile("smarthttp.proto", fileDescriptor14) }
+func init() { proto.RegisterFile("smarthttp.proto", fileDescriptor13) }
-var fileDescriptor14 = []byte{
+var fileDescriptor13 = []byte{
// 423 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x53, 0xd1, 0x8a, 0xd3, 0x40,
0x14, 0x75, 0xd2, 0x6e, 0x65, 0x6f, 0xa3, 0x2d, 0x77, 0xd1, 0x0d, 0x01, 0xdd, 0x1a, 0x41, 0xf2,
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/ssh.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ssh.pb.go
index f3fc796..a4f2fe5 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/ssh.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ssh.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: ssh.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -31,7 +31,7 @@ type SSHUploadPackRequest struct {
func (m *SSHUploadPackRequest) Reset() { *m = SSHUploadPackRequest{} }
func (m *SSHUploadPackRequest) String() string { return proto.CompactTextString(m) }
func (*SSHUploadPackRequest) ProtoMessage() {}
-func (*SSHUploadPackRequest) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{0} }
+func (*SSHUploadPackRequest) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{0} }
func (m *SSHUploadPackRequest) GetRepository() *Repository {
if m != nil {
@@ -74,7 +74,7 @@ type SSHUploadPackResponse struct {
func (m *SSHUploadPackResponse) Reset() { *m = SSHUploadPackResponse{} }
func (m *SSHUploadPackResponse) String() string { return proto.CompactTextString(m) }
func (*SSHUploadPackResponse) ProtoMessage() {}
-func (*SSHUploadPackResponse) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{1} }
+func (*SSHUploadPackResponse) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{1} }
func (m *SSHUploadPackResponse) GetStdout() []byte {
if m != nil {
@@ -116,7 +116,7 @@ type SSHReceivePackRequest struct {
func (m *SSHReceivePackRequest) Reset() { *m = SSHReceivePackRequest{} }
func (m *SSHReceivePackRequest) String() string { return proto.CompactTextString(m) }
func (*SSHReceivePackRequest) ProtoMessage() {}
-func (*SSHReceivePackRequest) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{2} }
+func (*SSHReceivePackRequest) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{2} }
func (m *SSHReceivePackRequest) GetRepository() *Repository {
if m != nil {
@@ -180,7 +180,7 @@ type SSHReceivePackResponse struct {
func (m *SSHReceivePackResponse) Reset() { *m = SSHReceivePackResponse{} }
func (m *SSHReceivePackResponse) String() string { return proto.CompactTextString(m) }
func (*SSHReceivePackResponse) ProtoMessage() {}
-func (*SSHReceivePackResponse) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{3} }
+func (*SSHReceivePackResponse) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{3} }
func (m *SSHReceivePackResponse) GetStdout() []byte {
if m != nil {
@@ -213,7 +213,7 @@ type SSHUploadArchiveRequest struct {
func (m *SSHUploadArchiveRequest) Reset() { *m = SSHUploadArchiveRequest{} }
func (m *SSHUploadArchiveRequest) String() string { return proto.CompactTextString(m) }
func (*SSHUploadArchiveRequest) ProtoMessage() {}
-func (*SSHUploadArchiveRequest) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{4} }
+func (*SSHUploadArchiveRequest) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{4} }
func (m *SSHUploadArchiveRequest) GetRepository() *Repository {
if m != nil {
@@ -241,7 +241,7 @@ type SSHUploadArchiveResponse struct {
func (m *SSHUploadArchiveResponse) Reset() { *m = SSHUploadArchiveResponse{} }
func (m *SSHUploadArchiveResponse) String() string { return proto.CompactTextString(m) }
func (*SSHUploadArchiveResponse) ProtoMessage() {}
-func (*SSHUploadArchiveResponse) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{5} }
+func (*SSHUploadArchiveResponse) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{5} }
func (m *SSHUploadArchiveResponse) GetStdout() []byte {
if m != nil {
@@ -513,9 +513,9 @@ var _SSHService_serviceDesc = grpc.ServiceDesc{
Metadata: "ssh.proto",
}
-func init() { proto.RegisterFile("ssh.proto", fileDescriptor15) }
+func init() { proto.RegisterFile("ssh.proto", fileDescriptor14) }
-var fileDescriptor15 = []byte{
+var fileDescriptor14 = []byte{
// 452 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x53, 0xc1, 0x6e, 0xd3, 0x40,
0x10, 0xc5, 0x89, 0x13, 0xc8, 0xc4, 0x45, 0xd1, 0xd2, 0x16, 0x2b, 0x02, 0x6a, 0xcc, 0xc5, 0x07,
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/storage.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/storage.pb.go
new file mode 100644
index 0000000..e106695
--- /dev/null
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/storage.pb.go
@@ -0,0 +1,135 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: storage.proto
+
+package gitaly
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+import (
+ context "golang.org/x/net/context"
+ grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+type DeleteAllRepositoriesRequest struct {
+ StorageName string `protobuf:"bytes,1,opt,name=storage_name,json=storageName" json:"storage_name,omitempty"`
+}
+
+func (m *DeleteAllRepositoriesRequest) Reset() { *m = DeleteAllRepositoriesRequest{} }
+func (m *DeleteAllRepositoriesRequest) String() string { return proto.CompactTextString(m) }
+func (*DeleteAllRepositoriesRequest) ProtoMessage() {}
+func (*DeleteAllRepositoriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{0} }
+
+func (m *DeleteAllRepositoriesRequest) GetStorageName() string {
+ if m != nil {
+ return m.StorageName
+ }
+ return ""
+}
+
+type DeleteAllRepositoriesResponse struct {
+}
+
+func (m *DeleteAllRepositoriesResponse) Reset() { *m = DeleteAllRepositoriesResponse{} }
+func (m *DeleteAllRepositoriesResponse) String() string { return proto.CompactTextString(m) }
+func (*DeleteAllRepositoriesResponse) ProtoMessage() {}
+func (*DeleteAllRepositoriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{1} }
+
+func init() {
+ proto.RegisterType((*DeleteAllRepositoriesRequest)(nil), "gitaly.DeleteAllRepositoriesRequest")
+ proto.RegisterType((*DeleteAllRepositoriesResponse)(nil), "gitaly.DeleteAllRepositoriesResponse")
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// 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.SupportPackageIsVersion4
+
+// Client API for StorageService service
+
+type StorageServiceClient interface {
+ DeleteAllRepositories(ctx context.Context, in *DeleteAllRepositoriesRequest, opts ...grpc.CallOption) (*DeleteAllRepositoriesResponse, error)
+}
+
+type storageServiceClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewStorageServiceClient(cc *grpc.ClientConn) StorageServiceClient {
+ return &storageServiceClient{cc}
+}
+
+func (c *storageServiceClient) DeleteAllRepositories(ctx context.Context, in *DeleteAllRepositoriesRequest, opts ...grpc.CallOption) (*DeleteAllRepositoriesResponse, error) {
+ out := new(DeleteAllRepositoriesResponse)
+ err := grpc.Invoke(ctx, "/gitaly.StorageService/DeleteAllRepositories", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// Server API for StorageService service
+
+type StorageServiceServer interface {
+ DeleteAllRepositories(context.Context, *DeleteAllRepositoriesRequest) (*DeleteAllRepositoriesResponse, error)
+}
+
+func RegisterStorageServiceServer(s *grpc.Server, srv StorageServiceServer) {
+ s.RegisterService(&_StorageService_serviceDesc, srv)
+}
+
+func _StorageService_DeleteAllRepositories_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteAllRepositoriesRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServiceServer).DeleteAllRepositories(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/gitaly.StorageService/DeleteAllRepositories",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServiceServer).DeleteAllRepositories(ctx, req.(*DeleteAllRepositoriesRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _StorageService_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "gitaly.StorageService",
+ HandlerType: (*StorageServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "DeleteAllRepositories",
+ Handler: _StorageService_DeleteAllRepositories_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "storage.proto",
+}
+
+func init() { proto.RegisterFile("storage.proto", fileDescriptor15) }
+
+var fileDescriptor15 = []byte{
+ // 159 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2d, 0x2e, 0xc9, 0x2f,
+ 0x4a, 0x4c, 0x4f, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x4b, 0xcf, 0x2c, 0x49, 0xcc,
+ 0xa9, 0x54, 0x72, 0xe4, 0x92, 0x71, 0x49, 0xcd, 0x49, 0x2d, 0x49, 0x75, 0xcc, 0xc9, 0x09, 0x4a,
+ 0x2d, 0xc8, 0x2f, 0xce, 0x2c, 0xc9, 0x2f, 0xca, 0x4c, 0x2d, 0x0e, 0x4a, 0x2d, 0x2c, 0x4d, 0x2d,
+ 0x2e, 0x11, 0x52, 0xe4, 0xe2, 0x81, 0x6a, 0x8c, 0xcf, 0x4b, 0xcc, 0x4d, 0x95, 0x60, 0x54, 0x60,
+ 0xd4, 0xe0, 0x0c, 0xe2, 0x86, 0x8a, 0xf9, 0x25, 0xe6, 0xa6, 0x2a, 0xc9, 0x73, 0xc9, 0xe2, 0x30,
+ 0xa2, 0xb8, 0x20, 0x3f, 0xaf, 0x38, 0xd5, 0xa8, 0x82, 0x8b, 0x2f, 0x18, 0xa2, 0x3e, 0x38, 0xb5,
+ 0xa8, 0x2c, 0x33, 0x39, 0x55, 0x28, 0x8d, 0x4b, 0x14, 0xab, 0x16, 0x21, 0x15, 0x3d, 0x88, 0xbb,
+ 0xf4, 0xf0, 0x39, 0x4a, 0x4a, 0x95, 0x80, 0x2a, 0x88, 0xbd, 0x4a, 0x0c, 0x49, 0x6c, 0x60, 0xcf,
+ 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x21, 0xd8, 0x88, 0xfd, 0x00, 0x00, 0x00,
+}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/wiki.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/wiki.pb.go
index 5c83942..4930440 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/wiki.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/wiki.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: wiki.proto
-package gitalypb
+package gitaly
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -28,7 +28,7 @@ type WikiCommitDetails struct {
func (m *WikiCommitDetails) Reset() { *m = WikiCommitDetails{} }
func (m *WikiCommitDetails) String() string { return proto.CompactTextString(m) }
func (*WikiCommitDetails) ProtoMessage() {}
-func (*WikiCommitDetails) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{0} }
+func (*WikiCommitDetails) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{0} }
func (m *WikiCommitDetails) GetName() []byte {
if m != nil {
@@ -73,7 +73,7 @@ type WikiPageVersion struct {
func (m *WikiPageVersion) Reset() { *m = WikiPageVersion{} }
func (m *WikiPageVersion) String() string { return proto.CompactTextString(m) }
func (*WikiPageVersion) ProtoMessage() {}
-func (*WikiPageVersion) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{1} }
+func (*WikiPageVersion) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{1} }
func (m *WikiPageVersion) GetCommit() *GitCommit {
if m != nil {
@@ -105,7 +105,7 @@ type WikiPage struct {
func (m *WikiPage) Reset() { *m = WikiPage{} }
func (m *WikiPage) String() string { return proto.CompactTextString(m) }
func (*WikiPage) ProtoMessage() {}
-func (*WikiPage) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{2} }
+func (*WikiPage) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{2} }
func (m *WikiPage) GetVersion() *WikiPageVersion {
if m != nil {
@@ -173,7 +173,7 @@ type WikiGetPageVersionsRequest struct {
func (m *WikiGetPageVersionsRequest) Reset() { *m = WikiGetPageVersionsRequest{} }
func (m *WikiGetPageVersionsRequest) String() string { return proto.CompactTextString(m) }
func (*WikiGetPageVersionsRequest) ProtoMessage() {}
-func (*WikiGetPageVersionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{3} }
+func (*WikiGetPageVersionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{3} }
func (m *WikiGetPageVersionsRequest) GetRepository() *Repository {
if m != nil {
@@ -210,7 +210,7 @@ type WikiGetPageVersionsResponse struct {
func (m *WikiGetPageVersionsResponse) Reset() { *m = WikiGetPageVersionsResponse{} }
func (m *WikiGetPageVersionsResponse) String() string { return proto.CompactTextString(m) }
func (*WikiGetPageVersionsResponse) ProtoMessage() {}
-func (*WikiGetPageVersionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{4} }
+func (*WikiGetPageVersionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{4} }
func (m *WikiGetPageVersionsResponse) GetVersions() []*WikiPageVersion {
if m != nil {
@@ -233,7 +233,7 @@ type WikiWritePageRequest struct {
func (m *WikiWritePageRequest) Reset() { *m = WikiWritePageRequest{} }
func (m *WikiWritePageRequest) String() string { return proto.CompactTextString(m) }
func (*WikiWritePageRequest) ProtoMessage() {}
-func (*WikiWritePageRequest) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{5} }
+func (*WikiWritePageRequest) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{5} }
func (m *WikiWritePageRequest) GetRepository() *Repository {
if m != nil {
@@ -277,7 +277,7 @@ type WikiWritePageResponse struct {
func (m *WikiWritePageResponse) Reset() { *m = WikiWritePageResponse{} }
func (m *WikiWritePageResponse) String() string { return proto.CompactTextString(m) }
func (*WikiWritePageResponse) ProtoMessage() {}
-func (*WikiWritePageResponse) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{6} }
+func (*WikiWritePageResponse) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{6} }
func (m *WikiWritePageResponse) GetDuplicateError() []byte {
if m != nil {
@@ -300,7 +300,7 @@ type WikiUpdatePageRequest struct {
func (m *WikiUpdatePageRequest) Reset() { *m = WikiUpdatePageRequest{} }
func (m *WikiUpdatePageRequest) String() string { return proto.CompactTextString(m) }
func (*WikiUpdatePageRequest) ProtoMessage() {}
-func (*WikiUpdatePageRequest) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{7} }
+func (*WikiUpdatePageRequest) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{7} }
func (m *WikiUpdatePageRequest) GetRepository() *Repository {
if m != nil {
@@ -351,7 +351,7 @@ type WikiUpdatePageResponse struct {
func (m *WikiUpdatePageResponse) Reset() { *m = WikiUpdatePageResponse{} }
func (m *WikiUpdatePageResponse) String() string { return proto.CompactTextString(m) }
func (*WikiUpdatePageResponse) ProtoMessage() {}
-func (*WikiUpdatePageResponse) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{8} }
+func (*WikiUpdatePageResponse) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{8} }
func (m *WikiUpdatePageResponse) GetError() []byte {
if m != nil {
@@ -369,7 +369,7 @@ type WikiDeletePageRequest struct {
func (m *WikiDeletePageRequest) Reset() { *m = WikiDeletePageRequest{} }
func (m *WikiDeletePageRequest) String() string { return proto.CompactTextString(m) }
func (*WikiDeletePageRequest) ProtoMessage() {}
-func (*WikiDeletePageRequest) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{9} }
+func (*WikiDeletePageRequest) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{9} }
func (m *WikiDeletePageRequest) GetRepository() *Repository {
if m != nil {
@@ -398,7 +398,7 @@ type WikiDeletePageResponse struct {
func (m *WikiDeletePageResponse) Reset() { *m = WikiDeletePageResponse{} }
func (m *WikiDeletePageResponse) String() string { return proto.CompactTextString(m) }
func (*WikiDeletePageResponse) ProtoMessage() {}
-func (*WikiDeletePageResponse) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{10} }
+func (*WikiDeletePageResponse) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{10} }
type WikiFindPageRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
@@ -410,7 +410,7 @@ type WikiFindPageRequest struct {
func (m *WikiFindPageRequest) Reset() { *m = WikiFindPageRequest{} }
func (m *WikiFindPageRequest) String() string { return proto.CompactTextString(m) }
func (*WikiFindPageRequest) ProtoMessage() {}
-func (*WikiFindPageRequest) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{11} }
+func (*WikiFindPageRequest) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{11} }
func (m *WikiFindPageRequest) GetRepository() *Repository {
if m != nil {
@@ -449,7 +449,7 @@ type WikiFindPageResponse struct {
func (m *WikiFindPageResponse) Reset() { *m = WikiFindPageResponse{} }
func (m *WikiFindPageResponse) String() string { return proto.CompactTextString(m) }
func (*WikiFindPageResponse) ProtoMessage() {}
-func (*WikiFindPageResponse) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{12} }
+func (*WikiFindPageResponse) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{12} }
func (m *WikiFindPageResponse) GetPage() *WikiPage {
if m != nil {
@@ -468,7 +468,7 @@ type WikiFindFileRequest struct {
func (m *WikiFindFileRequest) Reset() { *m = WikiFindFileRequest{} }
func (m *WikiFindFileRequest) String() string { return proto.CompactTextString(m) }
func (*WikiFindFileRequest) ProtoMessage() {}
-func (*WikiFindFileRequest) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{13} }
+func (*WikiFindFileRequest) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{13} }
func (m *WikiFindFileRequest) GetRepository() *Repository {
if m != nil {
@@ -502,7 +502,7 @@ type WikiFindFileResponse struct {
func (m *WikiFindFileResponse) Reset() { *m = WikiFindFileResponse{} }
func (m *WikiFindFileResponse) String() string { return proto.CompactTextString(m) }
func (*WikiFindFileResponse) ProtoMessage() {}
-func (*WikiFindFileResponse) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{14} }
+func (*WikiFindFileResponse) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{14} }
func (m *WikiFindFileResponse) GetName() []byte {
if m != nil {
@@ -541,7 +541,7 @@ type WikiGetAllPagesRequest struct {
func (m *WikiGetAllPagesRequest) Reset() { *m = WikiGetAllPagesRequest{} }
func (m *WikiGetAllPagesRequest) String() string { return proto.CompactTextString(m) }
func (*WikiGetAllPagesRequest) ProtoMessage() {}
-func (*WikiGetAllPagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{15} }
+func (*WikiGetAllPagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{15} }
func (m *WikiGetAllPagesRequest) GetRepository() *Repository {
if m != nil {
@@ -567,7 +567,7 @@ type WikiGetAllPagesResponse struct {
func (m *WikiGetAllPagesResponse) Reset() { *m = WikiGetAllPagesResponse{} }
func (m *WikiGetAllPagesResponse) String() string { return proto.CompactTextString(m) }
func (*WikiGetAllPagesResponse) ProtoMessage() {}
-func (*WikiGetAllPagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{16} }
+func (*WikiGetAllPagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{16} }
func (m *WikiGetAllPagesResponse) GetPage() *WikiPage {
if m != nil {
@@ -593,7 +593,7 @@ type WikiGetFormattedDataRequest struct {
func (m *WikiGetFormattedDataRequest) Reset() { *m = WikiGetFormattedDataRequest{} }
func (m *WikiGetFormattedDataRequest) String() string { return proto.CompactTextString(m) }
func (*WikiGetFormattedDataRequest) ProtoMessage() {}
-func (*WikiGetFormattedDataRequest) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{17} }
+func (*WikiGetFormattedDataRequest) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{17} }
func (m *WikiGetFormattedDataRequest) GetRepository() *Repository {
if m != nil {
@@ -630,7 +630,7 @@ type WikiGetFormattedDataResponse struct {
func (m *WikiGetFormattedDataResponse) Reset() { *m = WikiGetFormattedDataResponse{} }
func (m *WikiGetFormattedDataResponse) String() string { return proto.CompactTextString(m) }
func (*WikiGetFormattedDataResponse) ProtoMessage() {}
-func (*WikiGetFormattedDataResponse) Descriptor() ([]byte, []int) { return fileDescriptor17, []int{18} }
+func (*WikiGetFormattedDataResponse) Descriptor() ([]byte, []int) { return fileDescriptor16, []int{18} }
func (m *WikiGetFormattedDataResponse) GetData() []byte {
if m != nil {
@@ -1170,9 +1170,9 @@ var _WikiService_serviceDesc = grpc.ServiceDesc{
Metadata: "wiki.proto",
}
-func init() { proto.RegisterFile("wiki.proto", fileDescriptor17) }
+func init() { proto.RegisterFile("wiki.proto", fileDescriptor16) }
-var fileDescriptor17 = []byte{
+var fileDescriptor16 = []byte{
// 937 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcd, 0x6e, 0xe4, 0x44,
0x10, 0x5e, 0x67, 0xfe, 0x3c, 0x95, 0x9f, 0x65, 0x9b, 0x65, 0xe3, 0x75, 0x42, 0x88, 0x9a, 0x95,
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly/NOTICE b/go/vendor/gitlab.com/gitlab-org/gitaly/NOTICE
index d07b264..dbb1e63 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly/NOTICE
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly/NOTICE
@@ -156,7 +156,7 @@ ISC License
Copyright (c) 2012-2016 Dave Collins <dave@davec.name>
-Permission to use, copy, modify, and/or distribute this software for any
+Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
@@ -199,7 +199,10 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LICENSE - gitlab.com/gitlab-org/gitaly/vendor/github.com/golang/protobuf
+Go support for Protocol Buffers - Google's data interchange format
+
Copyright 2010 The Go Authors. All rights reserved.
+https://github.com/golang/protobuf
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -653,17 +656,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LICENSE - gitlab.com/gitlab-org/gitaly/vendor/github.com/konsorten/go-windows-terminal-sequences
-(The MIT License)
-
-Copyright (c) 2017 marvin + konsorten GmbH (open-source@konsorten.de)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LICENSE - gitlab.com/gitlab-org/gitaly/vendor/github.com/matttproud/golang_protobuf_extensions
Apache License
Version 2.0, January 2004
@@ -870,31 +862,6 @@ LICENSE - gitlab.com/gitlab-org/gitaly/vendor/github.com/matttproud/golang_proto
NOTICE - gitlab.com/gitlab-org/gitaly/vendor/github.com/matttproud/golang_protobuf_extensions
Copyright 2012 Matt T. Proud (matt.proud@gmail.com)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LICENSE - gitlab.com/gitlab-org/gitaly/vendor/github.com/pkg/errors
-Copyright (c) 2015, Dave Cheney <dave@cheney.net>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LICENSE - gitlab.com/gitlab-org/gitaly/vendor/github.com/pmezard/go-difflib
Copyright (c) 2013, Patrick Mezard
All rights reserved.
@@ -1854,29 +1821,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LICENSE - gitlab.com/gitlab-org/gitaly/vendor/gitlab.com/gitlab-org/labkit
-The MIT License (MIT)
-
-Copyright (c) 2016-2017 GitLab B.V.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LICENSE - gitlab.com/gitlab-org/gitaly/vendor/golang.org/x/crypto
Copyright (c) 2009 The Go Authors. All rights reserved.
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly/client/address_parser.go b/go/vendor/gitlab.com/gitlab-org/gitaly/client/address_parser.go
deleted file mode 100644
index 55969e9..0000000
--- a/go/vendor/gitlab.com/gitlab-org/gitaly/client/address_parser.go
+++ /dev/null
@@ -1,24 +0,0 @@
-package client
-
-import (
- "fmt"
- "net/url"
-)
-
-func parseAddress(rawAddress string) (canonicalAddress string, err error) {
- u, err := url.Parse(rawAddress)
- if err != nil {
- return "", err
- }
-
- // tcp:// addresses are a special case which `grpc.Dial` expects in a
- // different format
- if u.Scheme == "tcp" || u.Scheme == "tls" {
- if u.Path != "" {
- return "", fmt.Errorf("%s addresses should not have a path", u.Scheme)
- }
- return u.Host, nil
- }
-
- return u.String(), nil
-}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly/client/dial.go b/go/vendor/gitlab.com/gitlab-org/gitaly/client/dial.go
index d0a51c0..89f2a10 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly/client/dial.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly/client/dial.go
@@ -1,36 +1,32 @@
package client
import (
- "google.golang.org/grpc/credentials"
-
+ "fmt"
+ "net"
"net/url"
+ "strings"
+ "time"
"google.golang.org/grpc"
)
// DefaultDialOpts hold the default DialOptions for connection to Gitaly over UNIX-socket
-var DefaultDialOpts = []grpc.DialOption{}
+var DefaultDialOpts = []grpc.DialOption{
+ grpc.WithInsecure(),
+}
// Dial gitaly
func Dial(rawAddress string, connOpts []grpc.DialOption) (*grpc.ClientConn, error) {
- canonicalAddress, err := parseAddress(rawAddress)
+ network, addr, err := parseAddress(rawAddress)
if err != nil {
return nil, err
}
- if isTLS(rawAddress) {
- certPool, err := systemCertPool()
- if err != nil {
- return nil, err
- }
-
- creds := credentials.NewClientTLSFromCert(certPool, "")
- connOpts = append(connOpts, grpc.WithTransportCredentials(creds))
- } else {
- connOpts = append(connOpts, grpc.WithInsecure())
- }
-
- conn, err := grpc.Dial(canonicalAddress, connOpts...)
+ connOpts = append(connOpts,
+ grpc.WithDialer(func(a string, timeout time.Duration) (net.Conn, error) {
+ return net.DialTimeout(network, a, timeout)
+ }))
+ conn, err := grpc.Dial(addr, connOpts...)
if err != nil {
return nil, err
}
@@ -38,7 +34,28 @@ func Dial(rawAddress string, connOpts []grpc.DialOption) (*grpc.ClientConn, erro
return conn, nil
}
-func isTLS(rawAddress string) bool {
+func parseAddress(rawAddress string) (network, addr string, err error) {
+ // Parsing unix:// URL's with url.Parse does not give the result we want
+ // so we do it manually.
+ for _, prefix := range []string{"unix://", "unix:"} {
+ if strings.HasPrefix(rawAddress, prefix) {
+ return "unix", strings.TrimPrefix(rawAddress, prefix), nil
+ }
+ }
+
u, err := url.Parse(rawAddress)
- return err == nil && u.Scheme == "tls"
+ if err != nil {
+ return "", "", err
+ }
+
+ if u.Scheme != "tcp" {
+ return "", "", fmt.Errorf("unknown scheme: %q", rawAddress)
+ }
+ if u.Host == "" {
+ return "", "", fmt.Errorf("network tcp requires host: %q", rawAddress)
+ }
+ if u.Path != "" {
+ return "", "", fmt.Errorf("network tcp should have no path: %q", rawAddress)
+ }
+ return "tcp", u.Host, nil
}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly/client/pool-darwin.go b/go/vendor/gitlab.com/gitlab-org/gitaly/client/pool-darwin.go
deleted file mode 100644
index e392a4d..0000000
--- a/go/vendor/gitlab.com/gitlab-org/gitaly/client/pool-darwin.go
+++ /dev/null
@@ -1,58 +0,0 @@
-// +build darwin
-
-package client
-
-import (
- "crypto/x509"
- "io/ioutil"
- "os"
- "path"
-)
-
-// systemCertPool circumvents the fact that Go on macOS does not support
-// SSL_CERT_{DIR,FILE}.
-func systemCertPool() (*x509.CertPool, error) {
- var certPem []byte
- count := 0
-
- if f := os.Getenv("SSL_CERT_FILE"); len(f) > 0 {
- pem, err := ioutil.ReadFile(f)
- if err != nil {
- return nil, err
- }
-
- pem = append(pem, '\n')
- certPem = append(certPem, pem...)
- count++
- }
-
- if d := os.Getenv("SSL_CERT_DIR"); len(d) > 0 {
- entries, err := ioutil.ReadDir(d)
- if err != nil {
- return nil, err
- }
-
- for _, entry := range entries {
- if entry.IsDir() {
- continue
- }
-
- pem, err := ioutil.ReadFile(path.Join(d, entry.Name()))
- if err != nil {
- return nil, err
- }
-
- pem = append(pem, '\n')
- certPem = append(certPem, pem...)
- count++
- }
- }
-
- pool, err := x509.SystemCertPool()
- if err != nil {
- return nil, err
- }
-
- pool.AppendCertsFromPEM(certPem)
- return pool, nil
-}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly/client/pool.go b/go/vendor/gitlab.com/gitlab-org/gitaly/client/pool.go
deleted file mode 100644
index e4d2164..0000000
--- a/go/vendor/gitlab.com/gitlab-org/gitaly/client/pool.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// +build !darwin
-
-package client
-
-import "crypto/x509"
-
-// systemCertPool has an override on macOS.
-func systemCertPool() (*x509.CertPool, error) { return x509.SystemCertPool() }
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go b/go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go
index 767b392..84dbe88 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go
@@ -3,18 +3,20 @@ package client
import (
"io"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
"gitlab.com/gitlab-org/gitaly/streamio"
+
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
+
"golang.org/x/net/context"
"google.golang.org/grpc"
)
// ReceivePack proxies an SSH git-receive-pack (git push) session to Gitaly
-func ReceivePack(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, stdout, stderr io.Writer, req *gitalypb.SSHReceivePackRequest) (int32, error) {
+func ReceivePack(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, stdout, stderr io.Writer, req *pb.SSHReceivePackRequest) (int32, error) {
ctx2, cancel := context.WithCancel(ctx)
defer cancel()
- ssh := gitalypb.NewSSHServiceClient(conn)
+ ssh := pb.NewSSHServiceClient(conn)
stream, err := ssh.SSHReceivePack(ctx2)
if err != nil {
return 0, err
@@ -25,7 +27,7 @@ func ReceivePack(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, st
}
inWriter := streamio.NewWriter(func(p []byte) error {
- return stream.Send(&gitalypb.SSHReceivePackRequest{Stdin: p})
+ return stream.Send(&pb.SSHReceivePackRequest{Stdin: p})
})
return streamHandler(func() (stdoutStderrResponse, error) {
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly/client/std_stream.go b/go/vendor/gitlab.com/gitlab-org/gitaly/client/std_stream.go
index 157aef4..83d2589 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly/client/std_stream.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly/client/std_stream.go
@@ -4,11 +4,11 @@ import (
"fmt"
"io"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
)
type stdoutStderrResponse interface {
- GetExitStatus() *gitalypb.ExitStatus
+ GetExitStatus() *pb.ExitStatus
GetStderr() []byte
GetStdout() []byte
}
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly/client/upload_archive.go b/go/vendor/gitlab.com/gitlab-org/gitaly/client/upload_archive.go
index 2459519..6b4d682 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly/client/upload_archive.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly/client/upload_archive.go
@@ -3,18 +3,20 @@ package client
import (
"io"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
"gitlab.com/gitlab-org/gitaly/streamio"
+
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
+
"golang.org/x/net/context"
"google.golang.org/grpc"
)
// UploadArchive proxies an SSH git-upload-archive (git archive --remote) session to Gitaly
-func UploadArchive(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, stdout, stderr io.Writer, req *gitalypb.SSHUploadArchiveRequest) (int32, error) {
+func UploadArchive(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, stdout, stderr io.Writer, req *pb.SSHUploadArchiveRequest) (int32, error) {
ctx2, cancel := context.WithCancel(ctx)
defer cancel()
- ssh := gitalypb.NewSSHServiceClient(conn)
+ ssh := pb.NewSSHServiceClient(conn)
stream, err := ssh.SSHUploadArchive(ctx2)
if err != nil {
return 0, err
@@ -25,7 +27,7 @@ func UploadArchive(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader,
}
inWriter := streamio.NewWriter(func(p []byte) error {
- return stream.Send(&gitalypb.SSHUploadArchiveRequest{Stdin: p})
+ return stream.Send(&pb.SSHUploadArchiveRequest{Stdin: p})
})
return streamHandler(func() (stdoutStderrResponse, error) {
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly/client/upload_pack.go b/go/vendor/gitlab.com/gitlab-org/gitaly/client/upload_pack.go
index 08372c5..690ae65 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly/client/upload_pack.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly/client/upload_pack.go
@@ -3,18 +3,20 @@ package client
import (
"io"
- "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"
"gitlab.com/gitlab-org/gitaly/streamio"
+
+ pb "gitlab.com/gitlab-org/gitaly-proto/go"
+
"golang.org/x/net/context"
"google.golang.org/grpc"
)
// UploadPack proxies an SSH git-upload-pack (git fetch) session to Gitaly
-func UploadPack(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, stdout, stderr io.Writer, req *gitalypb.SSHUploadPackRequest) (int32, error) {
+func UploadPack(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, stdout, stderr io.Writer, req *pb.SSHUploadPackRequest) (int32, error) {
ctx2, cancel := context.WithCancel(ctx)
defer cancel()
- ssh := gitalypb.NewSSHServiceClient(conn)
+ ssh := pb.NewSSHServiceClient(conn)
stream, err := ssh.SSHUploadPack(ctx2)
if err != nil {
return 0, err
@@ -25,7 +27,7 @@ func UploadPack(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, std
}
inWriter := streamio.NewWriter(func(p []byte) error {
- return stream.Send(&gitalypb.SSHUploadPackRequest{Stdin: p})
+ return stream.Send(&pb.SSHUploadPackRequest{Stdin: p})
})
return streamHandler(func() (stdoutStderrResponse, error) {
diff --git a/go/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/messages/messages.pb.go b/go/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/messages/messages.pb.go
new file mode 100644
index 0000000..f4a2712
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/messages/messages.pb.go
@@ -0,0 +1,615 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: grpc_lb_v1/messages/messages.proto
+
+/*
+Package messages is a generated protocol buffer package.
+
+It is generated from these files:
+ grpc_lb_v1/messages/messages.proto
+
+It has these top-level messages:
+ Duration
+ Timestamp
+ LoadBalanceRequest
+ InitialLoadBalanceRequest
+ ClientStats
+ LoadBalanceResponse
+ InitialLoadBalanceResponse
+ ServerList
+ Server
+*/
+package messages
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
+type Duration struct {
+ // Signed seconds of the span of time. Must be from -315,576,000,000
+ // to +315,576,000,000 inclusive.
+ Seconds int64 `protobuf:"varint,1,opt,name=seconds" json:"seconds,omitempty"`
+ // Signed fractions of a second at nanosecond resolution of the span
+ // of time. Durations less than one second are represented with a 0
+ // `seconds` field and a positive or negative `nanos` field. For durations
+ // of one second or more, a non-zero value for the `nanos` field must be
+ // of the same sign as the `seconds` field. Must be from -999,999,999
+ // to +999,999,999 inclusive.
+ Nanos int32 `protobuf:"varint,2,opt,name=nanos" json:"nanos,omitempty"`
+}
+
+func (m *Duration) Reset() { *m = Duration{} }
+func (m *Duration) String() string { return proto.CompactTextString(m) }
+func (*Duration) ProtoMessage() {}
+func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *Duration) GetSeconds() int64 {
+ if m != nil {
+ return m.Seconds
+ }
+ return 0
+}
+
+func (m *Duration) GetNanos() int32 {
+ if m != nil {
+ return m.Nanos
+ }
+ return 0
+}
+
+type Timestamp struct {
+ // Represents seconds of UTC time since Unix epoch
+ // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ // 9999-12-31T23:59:59Z inclusive.
+ Seconds int64 `protobuf:"varint,1,opt,name=seconds" json:"seconds,omitempty"`
+ // Non-negative fractions of a second at nanosecond resolution. Negative
+ // second values with fractions must still have non-negative nanos values
+ // that count forward in time. Must be from 0 to 999,999,999
+ // inclusive.
+ Nanos int32 `protobuf:"varint,2,opt,name=nanos" json:"nanos,omitempty"`
+}
+
+func (m *Timestamp) Reset() { *m = Timestamp{} }
+func (m *Timestamp) String() string { return proto.CompactTextString(m) }
+func (*Timestamp) ProtoMessage() {}
+func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *Timestamp) GetSeconds() int64 {
+ if m != nil {
+ return m.Seconds
+ }
+ return 0
+}
+
+func (m *Timestamp) GetNanos() int32 {
+ if m != nil {
+ return m.Nanos
+ }
+ return 0
+}
+
+type LoadBalanceRequest struct {
+ // Types that are valid to be assigned to LoadBalanceRequestType:
+ // *LoadBalanceRequest_InitialRequest
+ // *LoadBalanceRequest_ClientStats
+ LoadBalanceRequestType isLoadBalanceRequest_LoadBalanceRequestType `protobuf_oneof:"load_balance_request_type"`
+}
+
+func (m *LoadBalanceRequest) Reset() { *m = LoadBalanceRequest{} }
+func (m *LoadBalanceRequest) String() string { return proto.CompactTextString(m) }
+func (*LoadBalanceRequest) ProtoMessage() {}
+func (*LoadBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+type isLoadBalanceRequest_LoadBalanceRequestType interface {
+ isLoadBalanceRequest_LoadBalanceRequestType()
+}
+
+type LoadBalanceRequest_InitialRequest struct {
+ InitialRequest *InitialLoadBalanceRequest `protobuf:"bytes,1,opt,name=initial_request,json=initialRequest,oneof"`
+}
+type LoadBalanceRequest_ClientStats struct {
+ ClientStats *ClientStats `protobuf:"bytes,2,opt,name=client_stats,json=clientStats,oneof"`
+}
+
+func (*LoadBalanceRequest_InitialRequest) isLoadBalanceRequest_LoadBalanceRequestType() {}
+func (*LoadBalanceRequest_ClientStats) isLoadBalanceRequest_LoadBalanceRequestType() {}
+
+func (m *LoadBalanceRequest) GetLoadBalanceRequestType() isLoadBalanceRequest_LoadBalanceRequestType {
+ if m != nil {
+ return m.LoadBalanceRequestType
+ }
+ return nil
+}
+
+func (m *LoadBalanceRequest) GetInitialRequest() *InitialLoadBalanceRequest {
+ if x, ok := m.GetLoadBalanceRequestType().(*LoadBalanceRequest_InitialRequest); ok {
+ return x.InitialRequest
+ }
+ return nil
+}
+
+func (m *LoadBalanceRequest) GetClientStats() *ClientStats {
+ if x, ok := m.GetLoadBalanceRequestType().(*LoadBalanceRequest_ClientStats); ok {
+ return x.ClientStats
+ }
+ return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*LoadBalanceRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+ return _LoadBalanceRequest_OneofMarshaler, _LoadBalanceRequest_OneofUnmarshaler, _LoadBalanceRequest_OneofSizer, []interface{}{
+ (*LoadBalanceRequest_InitialRequest)(nil),
+ (*LoadBalanceRequest_ClientStats)(nil),
+ }
+}
+
+func _LoadBalanceRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+ m := msg.(*LoadBalanceRequest)
+ // load_balance_request_type
+ switch x := m.LoadBalanceRequestType.(type) {
+ case *LoadBalanceRequest_InitialRequest:
+ b.EncodeVarint(1<<3 | proto.WireBytes)
+ if err := b.EncodeMessage(x.InitialRequest); err != nil {
+ return err
+ }
+ case *LoadBalanceRequest_ClientStats:
+ b.EncodeVarint(2<<3 | proto.WireBytes)
+ if err := b.EncodeMessage(x.ClientStats); err != nil {
+ return err
+ }
+ case nil:
+ default:
+ return fmt.Errorf("LoadBalanceRequest.LoadBalanceRequestType has unexpected type %T", x)
+ }
+ return nil
+}
+
+func _LoadBalanceRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+ m := msg.(*LoadBalanceRequest)
+ switch tag {
+ case 1: // load_balance_request_type.initial_request
+ if wire != proto.WireBytes {
+ return true, proto.ErrInternalBadWireType
+ }
+ msg := new(InitialLoadBalanceRequest)
+ err := b.DecodeMessage(msg)
+ m.LoadBalanceRequestType = &LoadBalanceRequest_InitialRequest{msg}
+ return true, err
+ case 2: // load_balance_request_type.client_stats
+ if wire != proto.WireBytes {
+ return true, proto.ErrInternalBadWireType
+ }
+ msg := new(ClientStats)
+ err := b.DecodeMessage(msg)
+ m.LoadBalanceRequestType = &LoadBalanceRequest_ClientStats{msg}
+ return true, err
+ default:
+ return false, nil
+ }
+}
+
+func _LoadBalanceRequest_OneofSizer(msg proto.Message) (n int) {
+ m := msg.(*LoadBalanceRequest)
+ // load_balance_request_type
+ switch x := m.LoadBalanceRequestType.(type) {
+ case *LoadBalanceRequest_InitialRequest:
+ s := proto.Size(x.InitialRequest)
+ n += proto.SizeVarint(1<<3 | proto.WireBytes)
+ n += proto.SizeVarint(uint64(s))
+ n += s
+ case *LoadBalanceRequest_ClientStats:
+ s := proto.Size(x.ClientStats)
+ n += proto.SizeVarint(2<<3 | proto.WireBytes)
+ n += proto.SizeVarint(uint64(s))
+ n += s
+ case nil:
+ default:
+ panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+ }
+ return n
+}
+
+type InitialLoadBalanceRequest struct {
+ // Name of load balanced service (IE, balancer.service.com)
+ // length should be less than 256 bytes.
+ Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *InitialLoadBalanceRequest) Reset() { *m = InitialLoadBalanceRequest{} }
+func (m *InitialLoadBalanceRequest) String() string { return proto.CompactTextString(m) }
+func (*InitialLoadBalanceRequest) ProtoMessage() {}
+func (*InitialLoadBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *InitialLoadBalanceRequest) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+// Contains client level statistics that are useful to load balancing. Each
+// count except the timestamp should be reset to zero after reporting the stats.
+type ClientStats struct {
+ // The timestamp of generating the report.
+ Timestamp *Timestamp `protobuf:"bytes,1,opt,name=timestamp" json:"timestamp,omitempty"`
+ // The total number of RPCs that started.
+ NumCallsStarted int64 `protobuf:"varint,2,opt,name=num_calls_started,json=numCallsStarted" json:"num_calls_started,omitempty"`
+ // The total number of RPCs that finished.
+ NumCallsFinished int64 `protobuf:"varint,3,opt,name=num_calls_finished,json=numCallsFinished" json:"num_calls_finished,omitempty"`
+ // The total number of RPCs that were dropped by the client because of rate
+ // limiting.
+ NumCallsFinishedWithDropForRateLimiting int64 `protobuf:"varint,4,opt,name=num_calls_finished_with_drop_for_rate_limiting,json=numCallsFinishedWithDropForRateLimiting" json:"num_calls_finished_with_drop_for_rate_limiting,omitempty"`
+ // The total number of RPCs that were dropped by the client because of load
+ // balancing.
+ NumCallsFinishedWithDropForLoadBalancing int64 `protobuf:"varint,5,opt,name=num_calls_finished_with_drop_for_load_balancing,json=numCallsFinishedWithDropForLoadBalancing" json:"num_calls_finished_with_drop_for_load_balancing,omitempty"`
+ // The total number of RPCs that failed to reach a server except dropped RPCs.
+ NumCallsFinishedWithClientFailedToSend int64 `protobuf:"varint,6,opt,name=num_calls_finished_with_client_failed_to_send,json=numCallsFinishedWithClientFailedToSend" json:"num_calls_finished_with_client_failed_to_send,omitempty"`
+ // The total number of RPCs that finished and are known to have been received
+ // by a server.
+ NumCallsFinishedKnownReceived int64 `protobuf:"varint,7,opt,name=num_calls_finished_known_received,json=numCallsFinishedKnownReceived" json:"num_calls_finished_known_received,omitempty"`
+}
+
+func (m *ClientStats) Reset() { *m = ClientStats{} }
+func (m *ClientStats) String() string { return proto.CompactTextString(m) }
+func (*ClientStats) ProtoMessage() {}
+func (*ClientStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *ClientStats) GetTimestamp() *Timestamp {
+ if m != nil {
+ return m.Timestamp
+ }
+ return nil
+}
+
+func (m *ClientStats) GetNumCallsStarted() int64 {
+ if m != nil {
+ return m.NumCallsStarted
+ }
+ return 0
+}
+
+func (m *ClientStats) GetNumCallsFinished() int64 {
+ if m != nil {
+ return m.NumCallsFinished
+ }
+ return 0
+}
+
+func (m *ClientStats) GetNumCallsFinishedWithDropForRateLimiting() int64 {
+ if m != nil {
+ return m.NumCallsFinishedWithDropForRateLimiting
+ }
+ return 0
+}
+
+func (m *ClientStats) GetNumCallsFinishedWithDropForLoadBalancing() int64 {
+ if m != nil {
+ return m.NumCallsFinishedWithDropForLoadBalancing
+ }
+ return 0
+}
+
+func (m *ClientStats) GetNumCallsFinishedWithClientFailedToSend() int64 {
+ if m != nil {
+ return m.NumCallsFinishedWithClientFailedToSend
+ }
+ return 0
+}
+
+func (m *ClientStats) GetNumCallsFinishedKnownReceived() int64 {
+ if m != nil {
+ return m.NumCallsFinishedKnownReceived
+ }
+ return 0
+}
+
+type LoadBalanceResponse struct {
+ // Types that are valid to be assigned to LoadBalanceResponseType:
+ // *LoadBalanceResponse_InitialResponse
+ // *LoadBalanceResponse_ServerList
+ LoadBalanceResponseType isLoadBalanceResponse_LoadBalanceResponseType `protobuf_oneof:"load_balance_response_type"`
+}
+
+func (m *LoadBalanceResponse) Reset() { *m = LoadBalanceResponse{} }
+func (m *LoadBalanceResponse) String() string { return proto.CompactTextString(m) }
+func (*LoadBalanceResponse) ProtoMessage() {}
+func (*LoadBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+
+type isLoadBalanceResponse_LoadBalanceResponseType interface {
+ isLoadBalanceResponse_LoadBalanceResponseType()
+}
+
+type LoadBalanceResponse_InitialResponse struct {
+ InitialResponse *InitialLoadBalanceResponse `protobuf:"bytes,1,opt,name=initial_response,json=initialResponse,oneof"`
+}
+type LoadBalanceResponse_ServerList struct {
+ ServerList *ServerList `protobuf:"bytes,2,opt,name=server_list,json=serverList,oneof"`
+}
+
+func (*LoadBalanceResponse_InitialResponse) isLoadBalanceResponse_LoadBalanceResponseType() {}
+func (*LoadBalanceResponse_ServerList) isLoadBalanceResponse_LoadBalanceResponseType() {}
+
+func (m *LoadBalanceResponse) GetLoadBalanceResponseType() isLoadBalanceResponse_LoadBalanceResponseType {
+ if m != nil {
+ return m.LoadBalanceResponseType
+ }
+ return nil
+}
+
+func (m *LoadBalanceResponse) GetInitialResponse() *InitialLoadBalanceResponse {
+ if x, ok := m.GetLoadBalanceResponseType().(*LoadBalanceResponse_InitialResponse); ok {
+ return x.InitialResponse
+ }
+ return nil
+}
+
+func (m *LoadBalanceResponse) GetServerList() *ServerList {
+ if x, ok := m.GetLoadBalanceResponseType().(*LoadBalanceResponse_ServerList); ok {
+ return x.ServerList
+ }
+ return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*LoadBalanceResponse) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+ return _LoadBalanceResponse_OneofMarshaler, _LoadBalanceResponse_OneofUnmarshaler, _LoadBalanceResponse_OneofSizer, []interface{}{
+ (*LoadBalanceResponse_InitialResponse)(nil),
+ (*LoadBalanceResponse_ServerList)(nil),
+ }
+}
+
+func _LoadBalanceResponse_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+ m := msg.(*LoadBalanceResponse)
+ // load_balance_response_type
+ switch x := m.LoadBalanceResponseType.(type) {
+ case *LoadBalanceResponse_InitialResponse:
+ b.EncodeVarint(1<<3 | proto.WireBytes)
+ if err := b.EncodeMessage(x.InitialResponse); err != nil {
+ return err
+ }
+ case *LoadBalanceResponse_ServerList:
+ b.EncodeVarint(2<<3 | proto.WireBytes)
+ if err := b.EncodeMessage(x.ServerList); err != nil {
+ return err
+ }
+ case nil:
+ default:
+ return fmt.Errorf("LoadBalanceResponse.LoadBalanceResponseType has unexpected type %T", x)
+ }
+ return nil
+}
+
+func _LoadBalanceResponse_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+ m := msg.(*LoadBalanceResponse)
+ switch tag {
+ case 1: // load_balance_response_type.initial_response
+ if wire != proto.WireBytes {
+ return true, proto.ErrInternalBadWireType
+ }
+ msg := new(InitialLoadBalanceResponse)
+ err := b.DecodeMessage(msg)
+ m.LoadBalanceResponseType = &LoadBalanceResponse_InitialResponse{msg}
+ return true, err
+ case 2: // load_balance_response_type.server_list
+ if wire != proto.WireBytes {
+ return true, proto.ErrInternalBadWireType
+ }
+ msg := new(ServerList)
+ err := b.DecodeMessage(msg)
+ m.LoadBalanceResponseType = &LoadBalanceResponse_ServerList{msg}
+ return true, err
+ default:
+ return false, nil
+ }
+}
+
+func _LoadBalanceResponse_OneofSizer(msg proto.Message) (n int) {
+ m := msg.(*LoadBalanceResponse)
+ // load_balance_response_type
+ switch x := m.LoadBalanceResponseType.(type) {
+ case *LoadBalanceResponse_InitialResponse:
+ s := proto.Size(x.InitialResponse)
+ n += proto.SizeVarint(1<<3 | proto.WireBytes)
+ n += proto.SizeVarint(uint64(s))
+ n += s
+ case *LoadBalanceResponse_ServerList:
+ s := proto.Size(x.ServerList)
+ n += proto.SizeVarint(2<<3 | proto.WireBytes)
+ n += proto.SizeVarint(uint64(s))
+ n += s
+ case nil:
+ default:
+ panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+ }
+ return n
+}
+
+type InitialLoadBalanceResponse struct {
+ // This is an application layer redirect that indicates the client should use
+ // the specified server for load balancing. When this field is non-empty in
+ // the response, the client should open a separate connection to the
+ // load_balancer_delegate and call the BalanceLoad method. Its length should
+ // be less than 64 bytes.
+ LoadBalancerDelegate string `protobuf:"bytes,1,opt,name=load_balancer_delegate,json=loadBalancerDelegate" json:"load_balancer_delegate,omitempty"`
+ // This interval defines how often the client should send the client stats
+ // to the load balancer. Stats should only be reported when the duration is
+ // positive.
+ ClientStatsReportInterval *Duration `protobuf:"bytes,2,opt,name=client_stats_report_interval,json=clientStatsReportInterval" json:"client_stats_report_interval,omitempty"`
+}
+
+func (m *InitialLoadBalanceResponse) Reset() { *m = InitialLoadBalanceResponse{} }
+func (m *InitialLoadBalanceResponse) String() string { return proto.CompactTextString(m) }
+func (*InitialLoadBalanceResponse) ProtoMessage() {}
+func (*InitialLoadBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+
+func (m *InitialLoadBalanceResponse) GetLoadBalancerDelegate() string {
+ if m != nil {
+ return m.LoadBalancerDelegate
+ }
+ return ""
+}
+
+func (m *InitialLoadBalanceResponse) GetClientStatsReportInterval() *Duration {
+ if m != nil {
+ return m.ClientStatsReportInterval
+ }
+ return nil
+}
+
+type ServerList struct {
+ // Contains a list of servers selected by the load balancer. The list will
+ // be updated when server resolutions change or as needed to balance load
+ // across more servers. The client should consume the server list in order
+ // unless instructed otherwise via the client_config.
+ Servers []*Server `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"`
+}
+
+func (m *ServerList) Reset() { *m = ServerList{} }
+func (m *ServerList) String() string { return proto.CompactTextString(m) }
+func (*ServerList) ProtoMessage() {}
+func (*ServerList) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+
+func (m *ServerList) GetServers() []*Server {
+ if m != nil {
+ return m.Servers
+ }
+ return nil
+}
+
+// Contains server information. When none of the [drop_for_*] fields are true,
+// use the other fields. When drop_for_rate_limiting is true, ignore all other
+// fields. Use drop_for_load_balancing only when it is true and
+// drop_for_rate_limiting is false.
+type Server struct {
+ // A resolved address for the server, serialized in network-byte-order. It may
+ // either be an IPv4 or IPv6 address.
+ IpAddress []byte `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
+ // A resolved port number for the server.
+ Port int32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
+ // An opaque but printable token given to the frontend for each pick. All
+ // frontend requests for that pick must include the token in its initial
+ // metadata. The token is used by the backend to verify the request and to
+ // allow the backend to report load to the gRPC LB system.
+ //
+ // Its length is variable but less than 50 bytes.
+ LoadBalanceToken string `protobuf:"bytes,3,opt,name=load_balance_token,json=loadBalanceToken" json:"load_balance_token,omitempty"`
+ // Indicates whether this particular request should be dropped by the client
+ // for rate limiting.
+ DropForRateLimiting bool `protobuf:"varint,4,opt,name=drop_for_rate_limiting,json=dropForRateLimiting" json:"drop_for_rate_limiting,omitempty"`
+ // Indicates whether this particular request should be dropped by the client
+ // for load balancing.
+ DropForLoadBalancing bool `protobuf:"varint,5,opt,name=drop_for_load_balancing,json=dropForLoadBalancing" json:"drop_for_load_balancing,omitempty"`
+}
+
+func (m *Server) Reset() { *m = Server{} }
+func (m *Server) String() string { return proto.CompactTextString(m) }
+func (*Server) ProtoMessage() {}
+func (*Server) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
+
+func (m *Server) GetIpAddress() []byte {
+ if m != nil {
+ return m.IpAddress
+ }
+ return nil
+}
+
+func (m *Server) GetPort() int32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
+func (m *Server) GetLoadBalanceToken() string {
+ if m != nil {
+ return m.LoadBalanceToken
+ }
+ return ""
+}
+
+func (m *Server) GetDropForRateLimiting() bool {
+ if m != nil {
+ return m.DropForRateLimiting
+ }
+ return false
+}
+
+func (m *Server) GetDropForLoadBalancing() bool {
+ if m != nil {
+ return m.DropForLoadBalancing
+ }
+ return false
+}
+
+func init() {
+ proto.RegisterType((*Duration)(nil), "grpc.lb.v1.Duration")
+ proto.RegisterType((*Timestamp)(nil), "grpc.lb.v1.Timestamp")
+ proto.RegisterType((*LoadBalanceRequest)(nil), "grpc.lb.v1.LoadBalanceRequest")
+ proto.RegisterType((*InitialLoadBalanceRequest)(nil), "grpc.lb.v1.InitialLoadBalanceRequest")
+ proto.RegisterType((*ClientStats)(nil), "grpc.lb.v1.ClientStats")
+ proto.RegisterType((*LoadBalanceResponse)(nil), "grpc.lb.v1.LoadBalanceResponse")
+ proto.RegisterType((*InitialLoadBalanceResponse)(nil), "grpc.lb.v1.InitialLoadBalanceResponse")
+ proto.RegisterType((*ServerList)(nil), "grpc.lb.v1.ServerList")
+ proto.RegisterType((*Server)(nil), "grpc.lb.v1.Server")
+}
+
+func init() { proto.RegisterFile("grpc_lb_v1/messages/messages.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+ // 709 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x4e, 0x1b, 0x3b,
+ 0x10, 0x26, 0x27, 0x01, 0x92, 0x09, 0x3a, 0xe4, 0x98, 0x1c, 0x08, 0x14, 0x24, 0xba, 0x52, 0x69,
+ 0x54, 0xd1, 0x20, 0xa0, 0xbd, 0xe8, 0xcf, 0x45, 0x1b, 0x10, 0x0a, 0x2d, 0x17, 0x95, 0x43, 0x55,
+ 0xa9, 0x52, 0x65, 0x39, 0xd9, 0x21, 0x58, 0x6c, 0xec, 0xad, 0xed, 0x04, 0xf5, 0x11, 0xfa, 0x28,
+ 0x7d, 0x8c, 0xaa, 0xcf, 0xd0, 0xf7, 0xa9, 0xd6, 0xbb, 0x9b, 0x5d, 0x20, 0x80, 0x7a, 0x67, 0x8f,
+ 0xbf, 0xf9, 0xbe, 0xf1, 0xac, 0xbf, 0x59, 0xf0, 0x06, 0x3a, 0xec, 0xb3, 0xa0, 0xc7, 0xc6, 0xbb,
+ 0x3b, 0x43, 0x34, 0x86, 0x0f, 0xd0, 0x4c, 0x16, 0xad, 0x50, 0x2b, 0xab, 0x08, 0x44, 0x98, 0x56,
+ 0xd0, 0x6b, 0x8d, 0x77, 0xbd, 0x97, 0x50, 0x3e, 0x1c, 0x69, 0x6e, 0x85, 0x92, 0xa4, 0x01, 0xf3,
+ 0x06, 0xfb, 0x4a, 0xfa, 0xa6, 0x51, 0xd8, 0x2c, 0x34, 0x8b, 0x34, 0xdd, 0x92, 0x3a, 0xcc, 0x4a,
+ 0x2e, 0x95, 0x69, 0xfc, 0xb3, 0x59, 0x68, 0xce, 0xd2, 0x78, 0xe3, 0xbd, 0x82, 0xca, 0xa9, 0x18,
+ 0xa2, 0xb1, 0x7c, 0x18, 0xfe, 0x75, 0xf2, 0xcf, 0x02, 0x90, 0x13, 0xc5, 0xfd, 0x36, 0x0f, 0xb8,
+ 0xec, 0x23, 0xc5, 0xaf, 0x23, 0x34, 0x96, 0x7c, 0x80, 0x45, 0x21, 0x85, 0x15, 0x3c, 0x60, 0x3a,
+ 0x0e, 0x39, 0xba, 0xea, 0xde, 0xa3, 0x56, 0x56, 0x75, 0xeb, 0x38, 0x86, 0xdc, 0xcc, 0xef, 0xcc,
+ 0xd0, 0x7f, 0x93, 0xfc, 0x94, 0xf1, 0x35, 0x2c, 0xf4, 0x03, 0x81, 0xd2, 0x32, 0x63, 0xb9, 0x8d,
+ 0xab, 0xa8, 0xee, 0xad, 0xe4, 0xe9, 0x0e, 0xdc, 0x79, 0x37, 0x3a, 0xee, 0xcc, 0xd0, 0x6a, 0x3f,
+ 0xdb, 0xb6, 0x1f, 0xc0, 0x6a, 0xa0, 0xb8, 0xcf, 0x7a, 0xb1, 0x4c, 0x5a, 0x14, 0xb3, 0xdf, 0x42,
+ 0xf4, 0x76, 0x60, 0xf5, 0xd6, 0x4a, 0x08, 0x81, 0x92, 0xe4, 0x43, 0x74, 0xe5, 0x57, 0xa8, 0x5b,
+ 0x7b, 0xdf, 0x4b, 0x50, 0xcd, 0x89, 0x91, 0x7d, 0xa8, 0xd8, 0xb4, 0x83, 0xc9, 0x3d, 0xff, 0xcf,
+ 0x17, 0x36, 0x69, 0x2f, 0xcd, 0x70, 0xe4, 0x09, 0xfc, 0x27, 0x47, 0x43, 0xd6, 0xe7, 0x41, 0x60,
+ 0xa2, 0x3b, 0x69, 0x8b, 0xbe, 0xbb, 0x55, 0x91, 0x2e, 0xca, 0xd1, 0xf0, 0x20, 0x8a, 0x77, 0xe3,
+ 0x30, 0xd9, 0x06, 0x92, 0x61, 0xcf, 0x84, 0x14, 0xe6, 0x1c, 0xfd, 0x46, 0xd1, 0x81, 0x6b, 0x29,
+ 0xf8, 0x28, 0x89, 0x13, 0x06, 0xad, 0x9b, 0x68, 0x76, 0x29, 0xec, 0x39, 0xf3, 0xb5, 0x0a, 0xd9,
+ 0x99, 0xd2, 0x4c, 0x73, 0x8b, 0x2c, 0x10, 0x43, 0x61, 0x85, 0x1c, 0x34, 0x4a, 0x8e, 0xe9, 0xf1,
+ 0x75, 0xa6, 0x4f, 0xc2, 0x9e, 0x1f, 0x6a, 0x15, 0x1e, 0x29, 0x4d, 0xb9, 0xc5, 0x93, 0x04, 0x4e,
+ 0x38, 0xec, 0xdc, 0x2b, 0x90, 0x6b, 0x77, 0xa4, 0x30, 0xeb, 0x14, 0x9a, 0x77, 0x28, 0x64, 0xbd,
+ 0x8f, 0x24, 0xbe, 0xc0, 0xd3, 0xdb, 0x24, 0x92, 0x67, 0x70, 0xc6, 0x45, 0x80, 0x3e, 0xb3, 0x8a,
+ 0x19, 0x94, 0x7e, 0x63, 0xce, 0x09, 0x6c, 0x4d, 0x13, 0x88, 0x3f, 0xd5, 0x91, 0xc3, 0x9f, 0xaa,
+ 0x2e, 0x4a, 0x9f, 0x74, 0xe0, 0xe1, 0x14, 0xfa, 0x0b, 0xa9, 0x2e, 0x25, 0xd3, 0xd8, 0x47, 0x31,
+ 0x46, 0xbf, 0x31, 0xef, 0x28, 0x37, 0xae, 0x53, 0xbe, 0x8f, 0x50, 0x34, 0x01, 0x79, 0xbf, 0x0a,
+ 0xb0, 0x74, 0xe5, 0xd9, 0x98, 0x50, 0x49, 0x83, 0xa4, 0x0b, 0xb5, 0xcc, 0x01, 0x71, 0x2c, 0x79,
+ 0x1a, 0x5b, 0xf7, 0x59, 0x20, 0x46, 0x77, 0x66, 0xe8, 0xe2, 0xc4, 0x03, 0x09, 0xe9, 0x0b, 0xa8,
+ 0x1a, 0xd4, 0x63, 0xd4, 0x2c, 0x10, 0xc6, 0x26, 0x1e, 0x58, 0xce, 0xf3, 0x75, 0xdd, 0xf1, 0x89,
+ 0x70, 0x1e, 0x02, 0x33, 0xd9, 0xb5, 0xd7, 0x61, 0xed, 0x9a, 0x03, 0x62, 0xce, 0xd8, 0x02, 0x3f,
+ 0x0a, 0xb0, 0x76, 0x7b, 0x29, 0xe4, 0x19, 0x2c, 0xe7, 0x93, 0x35, 0xf3, 0x31, 0xc0, 0x01, 0xb7,
+ 0xa9, 0x2d, 0xea, 0x41, 0x96, 0xa4, 0x0f, 0x93, 0x33, 0xf2, 0x11, 0xd6, 0xf3, 0x96, 0x65, 0x1a,
+ 0x43, 0xa5, 0x2d, 0x13, 0xd2, 0xa2, 0x1e, 0xf3, 0x20, 0x29, 0xbf, 0x9e, 0x2f, 0x3f, 0x1d, 0x62,
+ 0x74, 0x35, 0xe7, 0x5e, 0xea, 0xf2, 0x8e, 0x93, 0x34, 0xef, 0x0d, 0x40, 0x76, 0x4b, 0xb2, 0x1d,
+ 0x0d, 0xac, 0x68, 0x17, 0x0d, 0xac, 0x62, 0xb3, 0xba, 0x47, 0x6e, 0xb6, 0x83, 0xa6, 0x90, 0x77,
+ 0xa5, 0x72, 0xb1, 0x56, 0xf2, 0x7e, 0x17, 0x60, 0x2e, 0x3e, 0x21, 0x1b, 0x00, 0x22, 0x64, 0xdc,
+ 0xf7, 0x35, 0x9a, 0x78, 0xe4, 0x2d, 0xd0, 0x8a, 0x08, 0xdf, 0xc6, 0x81, 0xc8, 0xfd, 0x91, 0x76,
+ 0x32, 0xf3, 0xdc, 0x3a, 0x32, 0xe3, 0x95, 0x4e, 0x5a, 0x75, 0x81, 0xd2, 0x99, 0xb1, 0x42, 0x6b,
+ 0xb9, 0x46, 0x9c, 0x46, 0x71, 0xb2, 0x0f, 0xcb, 0x77, 0x98, 0xae, 0x4c, 0x97, 0xfc, 0x29, 0x06,
+ 0x7b, 0x0e, 0x2b, 0x77, 0x19, 0xa9, 0x4c, 0xeb, 0xfe, 0x14, 0xd3, 0xb4, 0xe1, 0x73, 0x39, 0xfd,
+ 0x47, 0xf4, 0xe6, 0xdc, 0x4f, 0x62, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x36, 0x86,
+ 0xa6, 0x4a, 0x06, 0x00, 0x00,
+}
diff --git a/go/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/messages/messages.proto b/go/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/messages/messages.proto
new file mode 100644
index 0000000..42d99c1
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/messages/messages.proto
@@ -0,0 +1,155 @@
+// Copyright 2016 gRPC authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package grpc.lb.v1;
+option go_package = "google.golang.org/grpc/grpclb/grpc_lb_v1/messages";
+
+message Duration {
+ // Signed seconds of the span of time. Must be from -315,576,000,000
+ // to +315,576,000,000 inclusive.
+ int64 seconds = 1;
+
+ // Signed fractions of a second at nanosecond resolution of the span
+ // of time. Durations less than one second are represented with a 0
+ // `seconds` field and a positive or negative `nanos` field. For durations
+ // of one second or more, a non-zero value for the `nanos` field must be
+ // of the same sign as the `seconds` field. Must be from -999,999,999
+ // to +999,999,999 inclusive.
+ int32 nanos = 2;
+}
+
+message Timestamp {
+ // Represents seconds of UTC time since Unix epoch
+ // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ // 9999-12-31T23:59:59Z inclusive.
+ int64 seconds = 1;
+
+ // Non-negative fractions of a second at nanosecond resolution. Negative
+ // second values with fractions must still have non-negative nanos values
+ // that count forward in time. Must be from 0 to 999,999,999
+ // inclusive.
+ int32 nanos = 2;
+}
+
+message LoadBalanceRequest {
+ oneof load_balance_request_type {
+ // This message should be sent on the first request to the load balancer.
+ InitialLoadBalanceRequest initial_request = 1;
+
+ // The client stats should be periodically reported to the load balancer
+ // based on the duration defined in the InitialLoadBalanceResponse.
+ ClientStats client_stats = 2;
+ }
+}
+
+message InitialLoadBalanceRequest {
+ // Name of load balanced service (IE, balancer.service.com)
+ // length should be less than 256 bytes.
+ string name = 1;
+}
+
+// Contains client level statistics that are useful to load balancing. Each
+// count except the timestamp should be reset to zero after reporting the stats.
+message ClientStats {
+ // The timestamp of generating the report.
+ Timestamp timestamp = 1;
+
+ // The total number of RPCs that started.
+ int64 num_calls_started = 2;
+
+ // The total number of RPCs that finished.
+ int64 num_calls_finished = 3;
+
+ // The total number of RPCs that were dropped by the client because of rate
+ // limiting.
+ int64 num_calls_finished_with_drop_for_rate_limiting = 4;
+
+ // The total number of RPCs that were dropped by the client because of load
+ // balancing.
+ int64 num_calls_finished_with_drop_for_load_balancing = 5;
+
+ // The total number of RPCs that failed to reach a server except dropped RPCs.
+ int64 num_calls_finished_with_client_failed_to_send = 6;
+
+ // The total number of RPCs that finished and are known to have been received
+ // by a server.
+ int64 num_calls_finished_known_received = 7;
+}
+
+message LoadBalanceResponse {
+ oneof load_balance_response_type {
+ // This message should be sent on the first response to the client.
+ InitialLoadBalanceResponse initial_response = 1;
+
+ // Contains the list of servers selected by the load balancer. The client
+ // should send requests to these servers in the specified order.
+ ServerList server_list = 2;
+ }
+}
+
+message InitialLoadBalanceResponse {
+ // This is an application layer redirect that indicates the client should use
+ // the specified server for load balancing. When this field is non-empty in
+ // the response, the client should open a separate connection to the
+ // load_balancer_delegate and call the BalanceLoad method. Its length should
+ // be less than 64 bytes.
+ string load_balancer_delegate = 1;
+
+ // This interval defines how often the client should send the client stats
+ // to the load balancer. Stats should only be reported when the duration is
+ // positive.
+ Duration client_stats_report_interval = 2;
+}
+
+message ServerList {
+ // Contains a list of servers selected by the load balancer. The list will
+ // be updated when server resolutions change or as needed to balance load
+ // across more servers. The client should consume the server list in order
+ // unless instructed otherwise via the client_config.
+ repeated Server servers = 1;
+
+ // Was google.protobuf.Duration expiration_interval.
+ reserved 3;
+}
+
+// Contains server information. When none of the [drop_for_*] fields are true,
+// use the other fields. When drop_for_rate_limiting is true, ignore all other
+// fields. Use drop_for_load_balancing only when it is true and
+// drop_for_rate_limiting is false.
+message Server {
+ // A resolved address for the server, serialized in network-byte-order. It may
+ // either be an IPv4 or IPv6 address.
+ bytes ip_address = 1;
+
+ // A resolved port number for the server.
+ int32 port = 2;
+
+ // An opaque but printable token given to the frontend for each pick. All
+ // frontend requests for that pick must include the token in its initial
+ // metadata. The token is used by the backend to verify the request and to
+ // allow the backend to report load to the gRPC LB system.
+ //
+ // Its length is variable but less than 50 bytes.
+ string load_balance_token = 3;
+
+ // Indicates whether this particular request should be dropped by the client
+ // for rate limiting.
+ bool drop_for_rate_limiting = 4;
+
+ // Indicates whether this particular request should be dropped by the client
+ // for load balancing.
+ bool drop_for_load_balancing = 5;
+}
diff --git a/go/vendor/google.golang.org/grpc/transport/bdp_estimator.go b/go/vendor/google.golang.org/grpc/transport/bdp_estimator.go
new file mode 100644
index 0000000..63cd262
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/transport/bdp_estimator.go
@@ -0,0 +1,140 @@
+/*
+ *
+ * Copyright 2017 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package transport
+
+import (
+ "sync"
+ "time"
+)
+
+const (
+ // bdpLimit is the maximum value the flow control windows
+ // will be increased to.
+ bdpLimit = (1 << 20) * 4
+ // alpha is a constant factor used to keep a moving average
+ // of RTTs.
+ alpha = 0.9
+ // If the current bdp sample is greater than or equal to
+ // our beta * our estimated bdp and the current bandwidth
+ // sample is the maximum bandwidth observed so far, we
+ // increase our bbp estimate by a factor of gamma.
+ beta = 0.66
+ // To put our bdp to be smaller than or equal to twice the real BDP,
+ // we should multiply our current sample with 4/3, however to round things out
+ // we use 2 as the multiplication factor.
+ gamma = 2
+)
+
+// Adding arbitrary data to ping so that its ack can be identified.
+// Easter-egg: what does the ping message say?
+var bdpPing = &ping{data: [8]byte{2, 4, 16, 16, 9, 14, 7, 7}}
+
+type bdpEstimator struct {
+ // sentAt is the time when the ping was sent.
+ sentAt time.Time
+
+ mu sync.Mutex
+ // bdp is the current bdp estimate.
+ bdp uint32
+ // sample is the number of bytes received in one measurement cycle.
+ sample uint32
+ // bwMax is the maximum bandwidth noted so far (bytes/sec).
+ bwMax float64
+ // bool to keep track of the beginning of a new measurement cycle.
+ isSent bool
+ // Callback to update the window sizes.
+ updateFlowControl func(n uint32)
+ // sampleCount is the number of samples taken so far.
+ sampleCount uint64
+ // round trip time (seconds)
+ rtt float64
+}
+
+// timesnap registers the time bdp ping was sent out so that
+// network rtt can be calculated when its ack is received.
+// It is called (by controller) when the bdpPing is
+// being written on the wire.
+func (b *bdpEstimator) timesnap(d [8]byte) {
+ if bdpPing.data != d {
+ return
+ }
+ b.sentAt = time.Now()
+}
+
+// add adds bytes to the current sample for calculating bdp.
+// It returns true only if a ping must be sent. This can be used
+// by the caller (handleData) to make decision about batching
+// a window update with it.
+func (b *bdpEstimator) add(n uint32) bool {
+ b.mu.Lock()
+ defer b.mu.Unlock()
+ if b.bdp == bdpLimit {
+ return false
+ }
+ if !b.isSent {
+ b.isSent = true
+ b.sample = n
+ b.sentAt = time.Time{}
+ b.sampleCount++
+ return true
+ }
+ b.sample += n
+ return false
+}
+
+// calculate is called when an ack for a bdp ping is received.
+// Here we calculate the current bdp and bandwidth sample and
+// decide if the flow control windows should go up.
+func (b *bdpEstimator) calculate(d [8]byte) {
+ // Check if the ping acked for was the bdp ping.
+ if bdpPing.data != d {
+ return
+ }
+ b.mu.Lock()
+ rttSample := time.Since(b.sentAt).Seconds()
+ if b.sampleCount < 10 {
+ // Bootstrap rtt with an average of first 10 rtt samples.
+ b.rtt += (rttSample - b.rtt) / float64(b.sampleCount)
+ } else {
+ // Heed to the recent past more.
+ b.rtt += (rttSample - b.rtt) * float64(alpha)
+ }
+ b.isSent = false
+ // The number of bytes accumulated so far in the sample is smaller
+ // than or equal to 1.5 times the real BDP on a saturated connection.
+ bwCurrent := float64(b.sample) / (b.rtt * float64(1.5))
+ if bwCurrent > b.bwMax {
+ b.bwMax = bwCurrent
+ }
+ // If the current sample (which is smaller than or equal to the 1.5 times the real BDP) is
+ // greater than or equal to 2/3rd our perceived bdp AND this is the maximum bandwidth seen so far, we
+ // should update our perception of the network BDP.
+ if float64(b.sample) >= beta*float64(b.bdp) && bwCurrent == b.bwMax && b.bdp != bdpLimit {
+ sampleFloat := float64(b.sample)
+ b.bdp = uint32(gamma * sampleFloat)
+ if b.bdp > bdpLimit {
+ b.bdp = bdpLimit
+ }
+ bdp := b.bdp
+ b.mu.Unlock()
+ b.updateFlowControl(bdp)
+ return
+ }
+ b.mu.Unlock()
+}
diff --git a/go/vendor/google.golang.org/grpc/transport/control.go b/go/vendor/google.golang.org/grpc/transport/control.go
new file mode 100644
index 0000000..0474b09
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/transport/control.go
@@ -0,0 +1,334 @@
+/*
+ *
+ * Copyright 2014 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package transport
+
+import (
+ "fmt"
+ "io"
+ "math"
+ "sync"
+ "time"
+
+ "golang.org/x/net/http2"
+ "golang.org/x/net/http2/hpack"
+)
+
+const (
+ // The default value of flow control window size in HTTP2 spec.
+ defaultWindowSize = 65535
+ // The initial window size for flow control.
+ initialWindowSize = defaultWindowSize // for an RPC
+ infinity = time.Duration(math.MaxInt64)
+ defaultClientKeepaliveTime = infinity
+ defaultClientKeepaliveTimeout = time.Duration(20 * time.Second)
+ defaultMaxStreamsClient = 100
+ defaultMaxConnectionIdle = infinity
+ defaultMaxConnectionAge = infinity
+ defaultMaxConnectionAgeGrace = infinity
+ defaultServerKeepaliveTime = time.Duration(2 * time.Hour)
+ defaultServerKeepaliveTimeout = time.Duration(20 * time.Second)
+ defaultKeepalivePolicyMinTime = time.Duration(5 * time.Minute)
+ // max window limit set by HTTP2 Specs.
+ maxWindowSize = math.MaxInt32
+ // defaultLocalSendQuota sets is default value for number of data
+ // bytes that each stream can schedule before some of it being
+ // flushed out.
+ defaultLocalSendQuota = 128 * 1024
+)
+
+// The following defines various control items which could flow through
+// the control buffer of transport. They represent different aspects of
+// control tasks, e.g., flow control, settings, streaming resetting, etc.
+
+type headerFrame struct {
+ streamID uint32
+ hf []hpack.HeaderField
+ endStream bool
+}
+
+func (*headerFrame) item() {}
+
+type continuationFrame struct {
+ streamID uint32
+ endHeaders bool
+ headerBlockFragment []byte
+}
+
+type dataFrame struct {
+ streamID uint32
+ endStream bool
+ d []byte
+ f func()
+}
+
+func (*dataFrame) item() {}
+
+func (*continuationFrame) item() {}
+
+type windowUpdate struct {
+ streamID uint32
+ increment uint32
+}
+
+func (*windowUpdate) item() {}
+
+type settings struct {
+ ss []http2.Setting
+}
+
+func (*settings) item() {}
+
+type settingsAck struct {
+}
+
+func (*settingsAck) item() {}
+
+type resetStream struct {
+ streamID uint32
+ code http2.ErrCode
+}
+
+func (*resetStream) item() {}
+
+type goAway struct {
+ code http2.ErrCode
+ debugData []byte
+ headsUp bool
+ closeConn bool
+}
+
+func (*goAway) item() {}
+
+type flushIO struct {
+ closeTr bool
+}
+
+func (*flushIO) item() {}
+
+type ping struct {
+ ack bool
+ data [8]byte
+}
+
+func (*ping) item() {}
+
+// quotaPool is a pool which accumulates the quota and sends it to acquire()
+// when it is available.
+type quotaPool struct {
+ mu sync.Mutex
+ c chan struct{}
+ version uint32
+ quota int
+}
+
+// newQuotaPool creates a quotaPool which has quota q available to consume.
+func newQuotaPool(q int) *quotaPool {
+ qb := &quotaPool{
+ quota: q,
+ c: make(chan struct{}, 1),
+ }
+ return qb
+}
+
+// add cancels the pending quota sent on acquired, incremented by v and sends
+// it back on acquire.
+func (qb *quotaPool) add(v int) {
+ qb.mu.Lock()
+ defer qb.mu.Unlock()
+ qb.lockedAdd(v)
+}
+
+func (qb *quotaPool) lockedAdd(v int) {
+ var wakeUp bool
+ if qb.quota <= 0 {
+ wakeUp = true // Wake up potential waiters.
+ }
+ qb.quota += v
+ if wakeUp && qb.quota > 0 {
+ select {
+ case qb.c <- struct{}{}:
+ default:
+ }
+ }
+}
+
+func (qb *quotaPool) addAndUpdate(v int) {
+ qb.mu.Lock()
+ qb.lockedAdd(v)
+ qb.version++
+ qb.mu.Unlock()
+}
+
+func (qb *quotaPool) get(v int, wc waiters) (int, uint32, error) {
+ qb.mu.Lock()
+ if qb.quota > 0 {
+ if v > qb.quota {
+ v = qb.quota
+ }
+ qb.quota -= v
+ ver := qb.version
+ qb.mu.Unlock()
+ return v, ver, nil
+ }
+ qb.mu.Unlock()
+ for {
+ select {
+ case <-wc.ctx.Done():
+ return 0, 0, ContextErr(wc.ctx.Err())
+ case <-wc.tctx.Done():
+ return 0, 0, ErrConnClosing
+ case <-wc.done:
+ return 0, 0, io.EOF
+ case <-wc.goAway:
+ return 0, 0, errStreamDrain
+ case <-qb.c:
+ qb.mu.Lock()
+ if qb.quota > 0 {
+ if v > qb.quota {
+ v = qb.quota
+ }
+ qb.quota -= v
+ ver := qb.version
+ if qb.quota > 0 {
+ select {
+ case qb.c <- struct{}{}:
+ default:
+ }
+ }
+ qb.mu.Unlock()
+ return v, ver, nil
+
+ }
+ qb.mu.Unlock()
+ }
+ }
+}
+
+func (qb *quotaPool) compareAndExecute(version uint32, success, failure func()) bool {
+ qb.mu.Lock()
+ if version == qb.version {
+ success()
+ qb.mu.Unlock()
+ return true
+ }
+ failure()
+ qb.mu.Unlock()
+ return false
+}
+
+// inFlow deals with inbound flow control
+type inFlow struct {
+ mu sync.Mutex
+ // The inbound flow control limit for pending data.
+ limit uint32
+ // pendingData is the overall data which have been received but not been
+ // consumed by applications.
+ pendingData uint32
+ // The amount of data the application has consumed but grpc has not sent
+ // window update for them. Used to reduce window update frequency.
+ pendingUpdate uint32
+ // delta is the extra window update given by receiver when an application
+ // is reading data bigger in size than the inFlow limit.
+ delta uint32
+}
+
+// newLimit updates the inflow window to a new value n.
+// It assumes that n is always greater than the old limit.
+func (f *inFlow) newLimit(n uint32) uint32 {
+ f.mu.Lock()
+ defer f.mu.Unlock()
+ d := n - f.limit
+ f.limit = n
+ return d
+}
+
+func (f *inFlow) maybeAdjust(n uint32) uint32 {
+ if n > uint32(math.MaxInt32) {
+ n = uint32(math.MaxInt32)
+ }
+ f.mu.Lock()
+ defer f.mu.Unlock()
+ // estSenderQuota is the receiver's view of the maximum number of bytes the sender
+ // can send without a window update.
+ estSenderQuota := int32(f.limit - (f.pendingData + f.pendingUpdate))
+ // estUntransmittedData is the maximum number of bytes the sends might not have put
+ // on the wire yet. A value of 0 or less means that we have already received all or
+ // more bytes than the application is requesting to read.
+ estUntransmittedData := int32(n - f.pendingData) // Casting into int32 since it could be negative.
+ // This implies that unless we send a window update, the sender won't be able to send all the bytes
+ // for this message. Therefore we must send an update over the limit since there's an active read
+ // request from the application.
+ if estUntransmittedData > estSenderQuota {
+ // Sender's window shouldn't go more than 2^31 - 1 as speecified in the HTTP spec.
+ if f.limit+n > maxWindowSize {
+ f.delta = maxWindowSize - f.limit
+ } else {
+ // Send a window update for the whole message and not just the difference between
+ // estUntransmittedData and estSenderQuota. This will be helpful in case the message
+ // is padded; We will fallback on the current available window(at least a 1/4th of the limit).
+ f.delta = n
+ }
+ return f.delta
+ }
+ return 0
+}
+
+// onData is invoked when some data frame is received. It updates pendingData.
+func (f *inFlow) onData(n uint32) error {
+ f.mu.Lock()
+ defer f.mu.Unlock()
+ f.pendingData += n
+ if f.pendingData+f.pendingUpdate > f.limit+f.delta {
+ return fmt.Errorf("received %d-bytes data exceeding the limit %d bytes", f.pendingData+f.pendingUpdate, f.limit)
+ }
+ return nil
+}
+
+// onRead is invoked when the application reads the data. It returns the window size
+// to be sent to the peer.
+func (f *inFlow) onRead(n uint32) uint32 {
+ f.mu.Lock()
+ defer f.mu.Unlock()
+ if f.pendingData == 0 {
+ return 0
+ }
+ f.pendingData -= n
+ if n > f.delta {
+ n -= f.delta
+ f.delta = 0
+ } else {
+ f.delta -= n
+ n = 0
+ }
+ f.pendingUpdate += n
+ if f.pendingUpdate >= f.limit/4 {
+ wu := f.pendingUpdate
+ f.pendingUpdate = 0
+ return wu
+ }
+ return 0
+}
+
+func (f *inFlow) resetPendingUpdate() uint32 {
+ f.mu.Lock()
+ defer f.mu.Unlock()
+ n := f.pendingUpdate
+ f.pendingUpdate = 0
+ return n
+}
diff --git a/go/vendor/google.golang.org/grpc/transport/go16.go b/go/vendor/google.golang.org/grpc/transport/go16.go
new file mode 100644
index 0000000..5babcf9
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/transport/go16.go
@@ -0,0 +1,51 @@
+// +build go1.6,!go1.7
+
+/*
+ *
+ * Copyright 2016 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package transport
+
+import (
+ "net"
+ "net/http"
+
+ "google.golang.org/grpc/codes"
+
+ "golang.org/x/net/context"
+)
+
+// dialContext connects to the address on the named network.
+func dialContext(ctx context.Context, network, address string) (net.Conn, error) {
+ return (&net.Dialer{Cancel: ctx.Done()}).Dial(network, address)
+}
+
+// ContextErr converts the error from context package into a StreamError.
+func ContextErr(err error) StreamError {
+ switch err {
+ case context.DeadlineExceeded:
+ return streamErrorf(codes.DeadlineExceeded, "%v", err)
+ case context.Canceled:
+ return streamErrorf(codes.Canceled, "%v", err)
+ }
+ return streamErrorf(codes.Internal, "Unexpected error from context packet: %v", err)
+}
+
+// contextFromRequest returns a background context.
+func contextFromRequest(r *http.Request) context.Context {
+ return context.Background()
+}
diff --git a/go/vendor/google.golang.org/grpc/transport/go17.go b/go/vendor/google.golang.org/grpc/transport/go17.go
new file mode 100644
index 0000000..b7fa6bd
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/transport/go17.go
@@ -0,0 +1,52 @@
+// +build go1.7
+
+/*
+ *
+ * Copyright 2016 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package transport
+
+import (
+ "context"
+ "net"
+ "net/http"
+
+ "google.golang.org/grpc/codes"
+
+ netctx "golang.org/x/net/context"
+)
+
+// dialContext connects to the address on the named network.
+func dialContext(ctx context.Context, network, address string) (net.Conn, error) {
+ return (&net.Dialer{}).DialContext(ctx, network, address)
+}
+
+// ContextErr converts the error from context package into a StreamError.
+func ContextErr(err error) StreamError {
+ switch err {
+ case context.DeadlineExceeded, netctx.DeadlineExceeded:
+ return streamErrorf(codes.DeadlineExceeded, "%v", err)
+ case context.Canceled, netctx.Canceled:
+ return streamErrorf(codes.Canceled, "%v", err)
+ }
+ return streamErrorf(codes.Internal, "Unexpected error from context packet: %v", err)
+}
+
+// contextFromRequest returns a context from the HTTP Request.
+func contextFromRequest(r *http.Request) context.Context {
+ return r.Context()
+}
diff --git a/go/vendor/google.golang.org/grpc/transport/handler_server.go b/go/vendor/google.golang.org/grpc/transport/handler_server.go
new file mode 100644
index 0000000..27c4ebb
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/transport/handler_server.go
@@ -0,0 +1,413 @@
+/*
+ *
+ * Copyright 2016 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// This file is the implementation of a gRPC server using HTTP/2 which
+// uses the standard Go http2 Server implementation (via the
+// http.Handler interface), rather than speaking low-level HTTP/2
+// frames itself. It is the implementation of *grpc.Server.ServeHTTP.
+
+package transport
+
+import (
+ "errors"
+ "fmt"
+ "io"
+ "net"
+ "net/http"
+ "strings"
+ "sync"
+ "time"
+
+ "github.com/golang/protobuf/proto"
+ "golang.org/x/net/context"
+ "golang.org/x/net/http2"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/credentials"
+ "google.golang.org/grpc/metadata"
+ "google.golang.org/grpc/peer"
+ "google.golang.org/grpc/status"
+)
+
+// NewServerHandlerTransport returns a ServerTransport handling gRPC
+// from inside an http.Handler. It requires that the http Server
+// supports HTTP/2.
+func NewServerHandlerTransport(w http.ResponseWriter, r *http.Request) (ServerTransport, error) {
+ if r.ProtoMajor != 2 {
+ return nil, errors.New("gRPC requires HTTP/2")
+ }
+ if r.Method != "POST" {
+ return nil, errors.New("invalid gRPC request method")
+ }
+ if !validContentType(r.Header.Get("Content-Type")) {
+ return nil, errors.New("invalid gRPC request content-type")
+ }
+ if _, ok := w.(http.Flusher); !ok {
+ return nil, errors.New("gRPC requires a ResponseWriter supporting http.Flusher")
+ }
+ if _, ok := w.(http.CloseNotifier); !ok {
+ return nil, errors.New("gRPC requires a ResponseWriter supporting http.CloseNotifier")
+ }
+
+ st := &serverHandlerTransport{
+ rw: w,
+ req: r,
+ closedCh: make(chan struct{}),
+ writes: make(chan func()),
+ }
+
+ if v := r.Header.Get("grpc-timeout"); v != "" {
+ to, err := decodeTimeout(v)
+ if err != nil {
+ return nil, streamErrorf(codes.Internal, "malformed time-out: %v", err)
+ }
+ st.timeoutSet = true
+ st.timeout = to
+ }
+
+ var metakv []string
+ if r.Host != "" {
+ metakv = append(metakv, ":authority", r.Host)
+ }
+ for k, vv := range r.Header {
+ k = strings.ToLower(k)
+ if isReservedHeader(k) && !isWhitelistedPseudoHeader(k) {
+ continue
+ }
+ for _, v := range vv {
+ v, err := decodeMetadataHeader(k, v)
+ if err != nil {
+ return nil, streamErrorf(codes.InvalidArgument, "malformed binary metadata: %v", err)
+ }
+ metakv = append(metakv, k, v)
+ }
+ }
+ st.headerMD = metadata.Pairs(metakv...)
+
+ return st, nil
+}
+
+// serverHandlerTransport is an implementation of ServerTransport
+// which replies to exactly one gRPC request (exactly one HTTP request),
+// using the net/http.Handler interface. This http.Handler is guaranteed
+// at this point to be speaking over HTTP/2, so it's able to speak valid
+// gRPC.
+type serverHandlerTransport struct {
+ rw http.ResponseWriter
+ req *http.Request
+ timeoutSet bool
+ timeout time.Duration
+ didCommonHeaders bool
+
+ headerMD metadata.MD
+
+ closeOnce sync.Once
+ closedCh chan struct{} // closed on Close
+
+ // writes is a channel of code to run serialized in the
+ // ServeHTTP (HandleStreams) goroutine. The channel is closed
+ // when WriteStatus is called.
+ writes chan func()
+
+ // block concurrent WriteStatus calls
+ // e.g. grpc/(*serverStream).SendMsg/RecvMsg
+ writeStatusMu sync.Mutex
+}
+
+func (ht *serverHandlerTransport) Close() error {
+ ht.closeOnce.Do(ht.closeCloseChanOnce)
+ return nil
+}
+
+func (ht *serverHandlerTransport) closeCloseChanOnce() { close(ht.closedCh) }
+
+func (ht *serverHandlerTransport) RemoteAddr() net.Addr { return strAddr(ht.req.RemoteAddr) }
+
+// strAddr is a net.Addr backed by either a TCP "ip:port" string, or
+// the empty string if unknown.
+type strAddr string
+
+func (a strAddr) Network() string {
+ if a != "" {
+ // Per the documentation on net/http.Request.RemoteAddr, if this is
+ // set, it's set to the IP:port of the peer (hence, TCP):
+ // https://golang.org/pkg/net/http/#Request
+ //
+ // If we want to support Unix sockets later, we can
+ // add our own grpc-specific convention within the
+ // grpc codebase to set RemoteAddr to a different
+ // format, or probably better: we can attach it to the
+ // context and use that from serverHandlerTransport.RemoteAddr.
+ return "tcp"
+ }
+ return ""
+}
+
+func (a strAddr) String() string { return string(a) }
+
+// do runs fn in the ServeHTTP goroutine.
+func (ht *serverHandlerTransport) do(fn func()) error {
+ // Avoid a panic writing to closed channel. Imperfect but maybe good enough.
+ select {
+ case <-ht.closedCh:
+ return ErrConnClosing
+ default:
+ select {
+ case ht.writes <- fn:
+ return nil
+ case <-ht.closedCh:
+ return ErrConnClosing
+ }
+ }
+}
+
+func (ht *serverHandlerTransport) WriteStatus(s *Stream, st *status.Status) error {
+ ht.writeStatusMu.Lock()
+ defer ht.writeStatusMu.Unlock()
+
+ err := ht.do(func() {
+ ht.writeCommonHeaders(s)
+
+ // And flush, in case no header or body has been sent yet.
+ // This forces a separation of headers and trailers if this is the
+ // first call (for example, in end2end tests's TestNoService).
+ ht.rw.(http.Flusher).Flush()
+
+ h := ht.rw.Header()
+ h.Set("Grpc-Status", fmt.Sprintf("%d", st.Code()))
+ if m := st.Message(); m != "" {
+ h.Set("Grpc-Message", encodeGrpcMessage(m))
+ }
+
+ if p := st.Proto(); p != nil && len(p.Details) > 0 {
+ stBytes, err := proto.Marshal(p)
+ if err != nil {
+ // TODO: return error instead, when callers are able to handle it.
+ panic(err)
+ }
+
+ h.Set("Grpc-Status-Details-Bin", encodeBinHeader(stBytes))
+ }
+
+ if md := s.Trailer(); len(md) > 0 {
+ for k, vv := range md {
+ // Clients don't tolerate reading restricted headers after some non restricted ones were sent.
+ if isReservedHeader(k) {
+ continue
+ }
+ for _, v := range vv {
+ // http2 ResponseWriter mechanism to send undeclared Trailers after
+ // the headers have possibly been written.
+ h.Add(http2.TrailerPrefix+k, encodeMetadataHeader(k, v))
+ }
+ }
+ }
+ })
+
+ if err == nil { // transport has not been closed
+ ht.Close()
+ close(ht.writes)
+ }
+ return err
+}
+
+// writeCommonHeaders sets common headers on the first write
+// call (Write, WriteHeader, or WriteStatus).
+func (ht *serverHandlerTransport) writeCommonHeaders(s *Stream) {
+ if ht.didCommonHeaders {
+ return
+ }
+ ht.didCommonHeaders = true
+
+ h := ht.rw.Header()
+ h["Date"] = nil // suppress Date to make tests happy; TODO: restore
+ h.Set("Content-Type", "application/grpc")
+
+ // Predeclare trailers we'll set later in WriteStatus (after the body).
+ // This is a SHOULD in the HTTP RFC, and the way you add (known)
+ // Trailers per the net/http.ResponseWriter contract.
+ // See https://golang.org/pkg/net/http/#ResponseWriter
+ // and https://golang.org/pkg/net/http/#example_ResponseWriter_trailers
+ h.Add("Trailer", "Grpc-Status")
+ h.Add("Trailer", "Grpc-Message")
+ h.Add("Trailer", "Grpc-Status-Details-Bin")
+
+ if s.sendCompress != "" {
+ h.Set("Grpc-Encoding", s.sendCompress)
+ }
+}
+
+func (ht *serverHandlerTransport) Write(s *Stream, hdr []byte, data []byte, opts *Options) error {
+ return ht.do(func() {
+ ht.writeCommonHeaders(s)
+ ht.rw.Write(hdr)
+ ht.rw.Write(data)
+ if !opts.Delay {
+ ht.rw.(http.Flusher).Flush()
+ }
+ })
+}
+
+func (ht *serverHandlerTransport) WriteHeader(s *Stream, md metadata.MD) error {
+ return ht.do(func() {
+ ht.writeCommonHeaders(s)
+ h := ht.rw.Header()
+ for k, vv := range md {
+ // Clients don't tolerate reading restricted headers after some non restricted ones were sent.
+ if isReservedHeader(k) {
+ continue
+ }
+ for _, v := range vv {
+ v = encodeMetadataHeader(k, v)
+ h.Add(k, v)
+ }
+ }
+ ht.rw.WriteHeader(200)
+ ht.rw.(http.Flusher).Flush()
+ })
+}
+
+func (ht *serverHandlerTransport) HandleStreams(startStream func(*Stream), traceCtx func(context.Context, string) context.Context) {
+ // With this transport type there will be exactly 1 stream: this HTTP request.
+
+ ctx := contextFromRequest(ht.req)
+ var cancel context.CancelFunc
+ if ht.timeoutSet {
+ ctx, cancel = context.WithTimeout(ctx, ht.timeout)
+ } else {
+ ctx, cancel = context.WithCancel(ctx)
+ }
+
+ // requestOver is closed when either the request's context is done
+ // or the status has been written via WriteStatus.
+ requestOver := make(chan struct{})
+
+ // clientGone receives a single value if peer is gone, either
+ // because the underlying connection is dead or because the
+ // peer sends an http2 RST_STREAM.
+ clientGone := ht.rw.(http.CloseNotifier).CloseNotify()
+ go func() {
+ select {
+ case <-requestOver:
+ return
+ case <-ht.closedCh:
+ case <-clientGone:
+ }
+ cancel()
+ }()
+
+ req := ht.req
+
+ s := &Stream{
+ id: 0, // irrelevant
+ requestRead: func(int) {},
+ cancel: cancel,
+ buf: newRecvBuffer(),
+ st: ht,
+ method: req.URL.Path,
+ recvCompress: req.Header.Get("grpc-encoding"),
+ }
+ pr := &peer.Peer{
+ Addr: ht.RemoteAddr(),
+ }
+ if req.TLS != nil {
+ pr.AuthInfo = credentials.TLSInfo{State: *req.TLS}
+ }
+ ctx = metadata.NewIncomingContext(ctx, ht.headerMD)
+ ctx = peer.NewContext(ctx, pr)
+ s.ctx = newContextWithStream(ctx, s)
+ s.trReader = &transportReader{
+ reader: &recvBufferReader{ctx: s.ctx, recv: s.buf},
+ windowHandler: func(int) {},
+ }
+
+ // readerDone is closed when the Body.Read-ing goroutine exits.
+ readerDone := make(chan struct{})
+ go func() {
+ defer close(readerDone)
+
+ // TODO: minimize garbage, optimize recvBuffer code/ownership
+ const readSize = 8196
+ for buf := make([]byte, readSize); ; {
+ n, err := req.Body.Read(buf)
+ if n > 0 {
+ s.buf.put(recvMsg{data: buf[:n:n]})
+ buf = buf[n:]
+ }
+ if err != nil {
+ s.buf.put(recvMsg{err: mapRecvMsgError(err)})
+ return
+ }
+ if len(buf) == 0 {
+ buf = make([]byte, readSize)
+ }
+ }
+ }()
+
+ // startStream is provided by the *grpc.Server's serveStreams.
+ // It starts a goroutine serving s and exits immediately.
+ // The goroutine that is started is the one that then calls
+ // into ht, calling WriteHeader, Write, WriteStatus, Close, etc.
+ startStream(s)
+
+ ht.runStream()
+ close(requestOver)
+
+ // Wait for reading goroutine to finish.
+ req.Body.Close()
+ <-readerDone
+}
+
+func (ht *serverHandlerTransport) runStream() {
+ for {
+ select {
+ case fn, ok := <-ht.writes:
+ if !ok {
+ return
+ }
+ fn()
+ case <-ht.closedCh:
+ return
+ }
+ }
+}
+
+func (ht *serverHandlerTransport) Drain() {
+ panic("Drain() is not implemented")
+}
+
+// mapRecvMsgError returns the non-nil err into the appropriate
+// error value as expected by callers of *grpc.parser.recvMsg.
+// In particular, in can only be:
+// * io.EOF
+// * io.ErrUnexpectedEOF
+// * of type transport.ConnectionError
+// * of type transport.StreamError
+func mapRecvMsgError(err error) error {
+ if err == io.EOF || err == io.ErrUnexpectedEOF {
+ return err
+ }
+ if se, ok := err.(http2.StreamError); ok {
+ if code, ok := http2ErrConvTab[se.Code]; ok {
+ return StreamError{
+ Code: code,
+ Desc: se.Error(),
+ }
+ }
+ }
+ return connectionErrorf(true, err, err.Error())
+}
diff --git a/go/vendor/google.golang.org/grpc/transport/http2_client.go b/go/vendor/google.golang.org/grpc/transport/http2_client.go
new file mode 100644
index 0000000..4a12269
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/transport/http2_client.go
@@ -0,0 +1,1376 @@
+/*
+ *
+ * Copyright 2014 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package transport
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+ "math"
+ "net"
+ "strings"
+ "sync"
+ "sync/atomic"
+ "time"
+
+ "golang.org/x/net/context"
+ "golang.org/x/net/http2"
+ "golang.org/x/net/http2/hpack"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/credentials"
+ "google.golang.org/grpc/keepalive"
+ "google.golang.org/grpc/metadata"
+ "google.golang.org/grpc/peer"
+ "google.golang.org/grpc/stats"
+ "google.golang.org/grpc/status"
+)
+
+// http2Client implements the ClientTransport interface with HTTP2.
+type http2Client struct {
+ ctx context.Context
+ cancel context.CancelFunc
+ userAgent string
+ md interface{}
+ conn net.Conn // underlying communication channel
+ remoteAddr net.Addr
+ localAddr net.Addr
+ authInfo credentials.AuthInfo // auth info about the connection
+ nextID uint32 // the next stream ID to be used
+
+ // goAway is closed to notify the upper layer (i.e., addrConn.transportMonitor)
+ // that the server sent GoAway on this transport.
+ goAway chan struct{}
+ // awakenKeepalive is used to wake up keepalive when after it has gone dormant.
+ awakenKeepalive chan struct{}
+
+ framer *framer
+ hBuf *bytes.Buffer // the buffer for HPACK encoding
+ hEnc *hpack.Encoder // HPACK encoder
+
+ // controlBuf delivers all the control related tasks (e.g., window
+ // updates, reset streams, and various settings) to the controller.
+ controlBuf *controlBuffer
+ fc *inFlow
+ // sendQuotaPool provides flow control to outbound message.
+ sendQuotaPool *quotaPool
+ // localSendQuota limits the amount of data that can be scheduled
+ // for writing before it is actually written out.
+ localSendQuota *quotaPool
+ // streamsQuota limits the max number of concurrent streams.
+ streamsQuota *quotaPool
+
+ // The scheme used: https if TLS is on, http otherwise.
+ scheme string
+
+ isSecure bool
+
+ creds []credentials.PerRPCCredentials
+
+ // Boolean to keep track of reading activity on transport.
+ // 1 is true and 0 is false.
+ activity uint32 // Accessed atomically.
+ kp keepalive.ClientParameters
+
+ statsHandler stats.Handler
+
+ initialWindowSize int32
+
+ bdpEst *bdpEstimator
+ outQuotaVersion uint32
+
+ // onSuccess is a callback that client transport calls upon
+ // receiving server preface to signal that a succefull HTTP2
+ // connection was established.
+ onSuccess func()
+
+ mu sync.Mutex // guard the following variables
+ state transportState // the state of underlying connection
+ activeStreams map[uint32]*Stream
+ // The max number of concurrent streams
+ maxStreams int
+ // the per-stream outbound flow control window size set by the peer.
+ streamSendQuota uint32
+ // prevGoAway ID records the Last-Stream-ID in the previous GOAway frame.
+ prevGoAwayID uint32
+ // goAwayReason records the http2.ErrCode and debug data received with the
+ // GoAway frame.
+ goAwayReason GoAwayReason
+}
+
+func dial(ctx context.Context, fn func(context.Context, string) (net.Conn, error), addr string) (net.Conn, error) {
+ if fn != nil {
+ return fn(ctx, addr)
+ }
+ return dialContext(ctx, "tcp", addr)
+}
+
+func isTemporary(err error) bool {
+ switch err {
+ case io.EOF:
+ // Connection closures may be resolved upon retry, and are thus
+ // treated as temporary.
+ return true
+ case context.DeadlineExceeded:
+ // In Go 1.7, context.DeadlineExceeded implements Timeout(), and this
+ // special case is not needed. Until then, we need to keep this
+ // clause.
+ return true
+ }
+
+ switch err := err.(type) {
+ case interface {
+ Temporary() bool
+ }:
+ return err.Temporary()
+ case interface {
+ Timeout() bool
+ }:
+ // Timeouts may be resolved upon retry, and are thus treated as
+ // temporary.
+ return err.Timeout()
+ }
+ return false
+}
+
+// newHTTP2Client constructs a connected ClientTransport to addr based on HTTP2
+// and starts to receive messages on it. Non-nil error returns if construction
+// fails.
+func newHTTP2Client(connectCtx, ctx context.Context, addr TargetInfo, opts ConnectOptions, onSuccess func()) (_ ClientTransport, err error) {
+ scheme := "http"
+ ctx, cancel := context.WithCancel(ctx)
+ defer func() {
+ if err != nil {
+ cancel()
+ }
+ }()
+
+ conn, err := dial(connectCtx, opts.Dialer, addr.Addr)
+ if err != nil {
+ if opts.FailOnNonTempDialError {
+ return nil, connectionErrorf(isTemporary(err), err, "transport: error while dialing: %v", err)
+ }
+ return nil, connectionErrorf(true, err, "transport: Error while dialing %v", err)
+ }
+ // Any further errors will close the underlying connection
+ defer func(conn net.Conn) {
+ if err != nil {
+ conn.Close()
+ }
+ }(conn)
+ var (
+ isSecure bool
+ authInfo credentials.AuthInfo
+ )
+ if creds := opts.TransportCredentials; creds != nil {
+ scheme = "https"
+ conn, authInfo, err = creds.ClientHandshake(connectCtx, addr.Authority, conn)
+ if err != nil {
+ // Credentials handshake errors are typically considered permanent
+ // to avoid retrying on e.g. bad certificates.
+ temp := isTemporary(err)
+ return nil, connectionErrorf(temp, err, "transport: authentication handshake failed: %v", err)
+ }
+ isSecure = true
+ }
+ kp := opts.KeepaliveParams
+ // Validate keepalive parameters.
+ if kp.Time == 0 {
+ kp.Time = defaultClientKeepaliveTime
+ }
+ if kp.Timeout == 0 {
+ kp.Timeout = defaultClientKeepaliveTimeout
+ }
+ dynamicWindow := true
+ icwz := int32(initialWindowSize)
+ if opts.InitialConnWindowSize >= defaultWindowSize {
+ icwz = opts.InitialConnWindowSize
+ dynamicWindow = false
+ }
+ var buf bytes.Buffer
+ writeBufSize := defaultWriteBufSize
+ if opts.WriteBufferSize > 0 {
+ writeBufSize = opts.WriteBufferSize
+ }
+ readBufSize := defaultReadBufSize
+ if opts.ReadBufferSize > 0 {
+ readBufSize = opts.ReadBufferSize
+ }
+ t := &http2Client{
+ ctx: ctx,
+ cancel: cancel,
+ userAgent: opts.UserAgent,
+ md: addr.Metadata,
+ conn: conn,
+ remoteAddr: conn.RemoteAddr(),
+ localAddr: conn.LocalAddr(),
+ authInfo: authInfo,
+ // The client initiated stream id is odd starting from 1.
+ nextID: 1,
+ goAway: make(chan struct{}),
+ awakenKeepalive: make(chan struct{}, 1),
+ hBuf: &buf,
+ hEnc: hpack.NewEncoder(&buf),
+ framer: newFramer(conn, writeBufSize, readBufSize),
+ controlBuf: newControlBuffer(),
+ fc: &inFlow{limit: uint32(icwz)},
+ sendQuotaPool: newQuotaPool(defaultWindowSize),
+ localSendQuota: newQuotaPool(defaultLocalSendQuota),
+ scheme: scheme,
+ state: reachable,
+ activeStreams: make(map[uint32]*Stream),
+ isSecure: isSecure,
+ creds: opts.PerRPCCredentials,
+ maxStreams: defaultMaxStreamsClient,
+ streamsQuota: newQuotaPool(defaultMaxStreamsClient),
+ streamSendQuota: defaultWindowSize,
+ kp: kp,
+ statsHandler: opts.StatsHandler,
+ initialWindowSize: initialWindowSize,
+ onSuccess: onSuccess,
+ }
+ if opts.InitialWindowSize >= defaultWindowSize {
+ t.initialWindowSize = opts.InitialWindowSize
+ dynamicWindow = false
+ }
+ if dynamicWindow {
+ t.bdpEst = &bdpEstimator{
+ bdp: initialWindowSize,
+ updateFlowControl: t.updateFlowControl,
+ }
+ }
+ // Make sure awakenKeepalive can't be written upon.
+ // keepalive routine will make it writable, if need be.
+ t.awakenKeepalive <- struct{}{}
+ if t.statsHandler != nil {
+ t.ctx = t.statsHandler.TagConn(t.ctx, &stats.ConnTagInfo{
+ RemoteAddr: t.remoteAddr,
+ LocalAddr: t.localAddr,
+ })
+ connBegin := &stats.ConnBegin{
+ Client: true,
+ }
+ t.statsHandler.HandleConn(t.ctx, connBegin)
+ }
+ // Start the reader goroutine for incoming message. Each transport has
+ // a dedicated goroutine which reads HTTP2 frame from network. Then it
+ // dispatches the frame to the corresponding stream entity.
+ go t.reader()
+ // Send connection preface to server.
+ n, err := t.conn.Write(clientPreface)
+ if err != nil {
+ t.Close()
+ return nil, connectionErrorf(true, err, "transport: failed to write client preface: %v", err)
+ }
+ if n != len(clientPreface) {
+ t.Close()
+ return nil, connectionErrorf(true, err, "transport: preface mismatch, wrote %d bytes; want %d", n, len(clientPreface))
+ }
+ if t.initialWindowSize != defaultWindowSize {
+ err = t.framer.fr.WriteSettings(http2.Setting{
+ ID: http2.SettingInitialWindowSize,
+ Val: uint32(t.initialWindowSize),
+ })
+ } else {
+ err = t.framer.fr.WriteSettings()
+ }
+ if err != nil {
+ t.Close()
+ return nil, connectionErrorf(true, err, "transport: failed to write initial settings frame: %v", err)
+ }
+ // Adjust the connection flow control window if needed.
+ if delta := uint32(icwz - defaultWindowSize); delta > 0 {
+ if err := t.framer.fr.WriteWindowUpdate(0, delta); err != nil {
+ t.Close()
+ return nil, connectionErrorf(true, err, "transport: failed to write window update: %v", err)
+ }
+ }
+ t.framer.writer.Flush()
+ go func() {
+ loopyWriter(t.ctx, t.controlBuf, t.itemHandler)
+ t.conn.Close()
+ }()
+ if t.kp.Time != infinity {
+ go t.keepalive()
+ }
+ return t, nil
+}
+
+func (t *http2Client) newStream(ctx context.Context, callHdr *CallHdr) *Stream {
+ // TODO(zhaoq): Handle uint32 overflow of Stream.id.
+ s := &Stream{
+ id: t.nextID,
+ done: make(chan struct{}),
+ goAway: make(chan struct{}),
+ method: callHdr.Method,
+ sendCompress: callHdr.SendCompress,
+ buf: newRecvBuffer(),
+ fc: &inFlow{limit: uint32(t.initialWindowSize)},
+ sendQuotaPool: newQuotaPool(int(t.streamSendQuota)),
+ headerChan: make(chan struct{}),
+ }
+ t.nextID += 2
+ s.requestRead = func(n int) {
+ t.adjustWindow(s, uint32(n))
+ }
+ // The client side stream context should have exactly the same life cycle with the user provided context.
+ // That means, s.ctx should be read-only. And s.ctx is done iff ctx is done.
+ // So we use the original context here instead of creating a copy.
+ s.ctx = ctx
+ s.trReader = &transportReader{
+ reader: &recvBufferReader{
+ ctx: s.ctx,
+ goAway: s.goAway,
+ recv: s.buf,
+ },
+ windowHandler: func(n int) {
+ t.updateWindow(s, uint32(n))
+ },
+ }
+ s.waiters = waiters{
+ ctx: s.ctx,
+ tctx: t.ctx,
+ done: s.done,
+ goAway: s.goAway,
+ }
+ return s
+}
+
+// NewStream creates a stream and registers it into the transport as "active"
+// streams.
+func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Stream, err error) {
+ pr := &peer.Peer{
+ Addr: t.remoteAddr,
+ }
+ // Attach Auth info if there is any.
+ if t.authInfo != nil {
+ pr.AuthInfo = t.authInfo
+ }
+ ctx = peer.NewContext(ctx, pr)
+ var (
+ authData = make(map[string]string)
+ audience string
+ )
+ // Create an audience string only if needed.
+ if len(t.creds) > 0 || callHdr.Creds != nil {
+ // Construct URI required to get auth request metadata.
+ // Omit port if it is the default one.
+ host := strings.TrimSuffix(callHdr.Host, ":443")
+ pos := strings.LastIndex(callHdr.Method, "/")
+ if pos == -1 {
+ pos = len(callHdr.Method)
+ }
+ audience = "https://" + host + callHdr.Method[:pos]
+ }
+ for _, c := range t.creds {
+ data, err := c.GetRequestMetadata(ctx, audience)
+ if err != nil {
+ return nil, streamErrorf(codes.Internal, "transport: %v", err)
+ }
+ for k, v := range data {
+ // Capital header names are illegal in HTTP/2.
+ k = strings.ToLower(k)
+ authData[k] = v
+ }
+ }
+ callAuthData := map[string]string{}
+ // Check if credentials.PerRPCCredentials were provided via call options.
+ // Note: if these credentials are provided both via dial options and call
+ // options, then both sets of credentials will be applied.
+ if callCreds := callHdr.Creds; callCreds != nil {
+ if !t.isSecure && callCreds.RequireTransportSecurity() {
+ return nil, streamErrorf(codes.Unauthenticated, "transport: cannot send secure credentials on an insecure connection")
+ }
+ data, err := callCreds.GetRequestMetadata(ctx, audience)
+ if err != nil {
+ return nil, streamErrorf(codes.Internal, "transport: %v", err)
+ }
+ for k, v := range data {
+ // Capital header names are illegal in HTTP/2
+ k = strings.ToLower(k)
+ callAuthData[k] = v
+ }
+ }
+ t.mu.Lock()
+ if t.activeStreams == nil {
+ t.mu.Unlock()
+ return nil, ErrConnClosing
+ }
+ if t.state == draining {
+ t.mu.Unlock()
+ return nil, errStreamDrain
+ }
+ if t.state != reachable {
+ t.mu.Unlock()
+ return nil, ErrConnClosing
+ }
+ t.mu.Unlock()
+ // Get a quota of 1 from streamsQuota.
+ if _, _, err := t.streamsQuota.get(1, waiters{ctx: ctx, tctx: t.ctx}); err != nil {
+ return nil, err
+ }
+ // TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields
+ // first and create a slice of that exact size.
+ // Make the slice of certain predictable size to reduce allocations made by append.
+ hfLen := 7 // :method, :scheme, :path, :authority, content-type, user-agent, te
+ hfLen += len(authData) + len(callAuthData)
+ headerFields := make([]hpack.HeaderField, 0, hfLen)
+ headerFields = append(headerFields, hpack.HeaderField{Name: ":method", Value: "POST"})
+ headerFields = append(headerFields, hpack.HeaderField{Name: ":scheme", Value: t.scheme})
+ headerFields = append(headerFields, hpack.HeaderField{Name: ":path", Value: callHdr.Method})
+ headerFields = append(headerFields, hpack.HeaderField{Name: ":authority", Value: callHdr.Host})
+ headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: "application/grpc"})
+ headerFields = append(headerFields, hpack.HeaderField{Name: "user-agent", Value: t.userAgent})
+ headerFields = append(headerFields, hpack.HeaderField{Name: "te", Value: "trailers"})
+
+ if callHdr.SendCompress != "" {
+ headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-encoding", Value: callHdr.SendCompress})
+ }
+ if dl, ok := ctx.Deadline(); ok {
+ // Send out timeout regardless its value. The server can detect timeout context by itself.
+ // TODO(mmukhi): Perhaps this field should be updated when actually writing out to the wire.
+ timeout := dl.Sub(time.Now())
+ headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-timeout", Value: encodeTimeout(timeout)})
+ }
+ for k, v := range authData {
+ headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
+ }
+ for k, v := range callAuthData {
+ headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
+ }
+ if b := stats.OutgoingTags(ctx); b != nil {
+ headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-tags-bin", Value: encodeBinHeader(b)})
+ }
+ if b := stats.OutgoingTrace(ctx); b != nil {
+ headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-trace-bin", Value: encodeBinHeader(b)})
+ }
+ if md, ok := metadata.FromOutgoingContext(ctx); ok {
+ for k, vv := range md {
+ // HTTP doesn't allow you to set pseudoheaders after non pseudoheaders were set.
+ if isReservedHeader(k) {
+ continue
+ }
+ for _, v := range vv {
+ headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
+ }
+ }
+ }
+ if md, ok := t.md.(*metadata.MD); ok {
+ for k, vv := range *md {
+ if isReservedHeader(k) {
+ continue
+ }
+ for _, v := range vv {
+ headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
+ }
+ }
+ }
+ t.mu.Lock()
+ if t.state == draining {
+ t.mu.Unlock()
+ t.streamsQuota.add(1)
+ return nil, errStreamDrain
+ }
+ if t.state != reachable {
+ t.mu.Unlock()
+ return nil, ErrConnClosing
+ }
+ s := t.newStream(ctx, callHdr)
+ t.activeStreams[s.id] = s
+ // If the number of active streams change from 0 to 1, then check if keepalive
+ // has gone dormant. If so, wake it up.
+ if len(t.activeStreams) == 1 {
+ select {
+ case t.awakenKeepalive <- struct{}{}:
+ t.controlBuf.put(&ping{data: [8]byte{}})
+ // Fill the awakenKeepalive channel again as this channel must be
+ // kept non-writable except at the point that the keepalive()
+ // goroutine is waiting either to be awaken or shutdown.
+ t.awakenKeepalive <- struct{}{}
+ default:
+ }
+ }
+ t.controlBuf.put(&headerFrame{
+ streamID: s.id,
+ hf: headerFields,
+ endStream: false,
+ })
+ t.mu.Unlock()
+
+ if t.statsHandler != nil {
+ outHeader := &stats.OutHeader{
+ Client: true,
+ FullMethod: callHdr.Method,
+ RemoteAddr: t.remoteAddr,
+ LocalAddr: t.localAddr,
+ Compression: callHdr.SendCompress,
+ }
+ t.statsHandler.HandleRPC(s.ctx, outHeader)
+ }
+ return s, nil
+}
+
+// CloseStream clears the footprint of a stream when the stream is not needed any more.
+// This must not be executed in reader's goroutine.
+func (t *http2Client) CloseStream(s *Stream, err error) {
+ t.mu.Lock()
+ if t.activeStreams == nil {
+ t.mu.Unlock()
+ return
+ }
+ if err != nil {
+ // notify in-flight streams, before the deletion
+ s.write(recvMsg{err: err})
+ }
+ delete(t.activeStreams, s.id)
+ if t.state == draining && len(t.activeStreams) == 0 {
+ // The transport is draining and s is the last live stream on t.
+ t.mu.Unlock()
+ t.Close()
+ return
+ }
+ t.mu.Unlock()
+ // rstStream is true in case the stream is being closed at the client-side
+ // and the server needs to be intimated about it by sending a RST_STREAM
+ // frame.
+ // To make sure this frame is written to the wire before the headers of the
+ // next stream waiting for streamsQuota, we add to streamsQuota pool only
+ // after having acquired the writableChan to send RST_STREAM out (look at
+ // the controller() routine).
+ var rstStream bool
+ var rstError http2.ErrCode
+ defer func() {
+ // In case, the client doesn't have to send RST_STREAM to server
+ // we can safely add back to streamsQuota pool now.
+ if !rstStream {
+ t.streamsQuota.add(1)
+ return
+ }
+ t.controlBuf.put(&resetStream{s.id, rstError})
+ }()
+ s.mu.Lock()
+ rstStream = s.rstStream
+ rstError = s.rstError
+ if s.state == streamDone {
+ s.mu.Unlock()
+ return
+ }
+ if !s.headerDone {
+ close(s.headerChan)
+ s.headerDone = true
+ }
+ s.state = streamDone
+ s.mu.Unlock()
+ if _, ok := err.(StreamError); ok {
+ rstStream = true
+ rstError = http2.ErrCodeCancel
+ }
+}
+
+// Close kicks off the shutdown process of the transport. This should be called
+// only once on a transport. Once it is called, the transport should not be
+// accessed any more.
+func (t *http2Client) Close() error {
+ t.mu.Lock()
+ if t.state == closing {
+ t.mu.Unlock()
+ return nil
+ }
+ t.state = closing
+ t.mu.Unlock()
+ t.cancel()
+ err := t.conn.Close()
+ t.mu.Lock()
+ streams := t.activeStreams
+ t.activeStreams = nil
+ t.mu.Unlock()
+ // Notify all active streams.
+ for _, s := range streams {
+ s.mu.Lock()
+ if !s.headerDone {
+ close(s.headerChan)
+ s.headerDone = true
+ }
+ s.mu.Unlock()
+ s.write(recvMsg{err: ErrConnClosing})
+ }
+ if t.statsHandler != nil {
+ connEnd := &stats.ConnEnd{
+ Client: true,
+ }
+ t.statsHandler.HandleConn(t.ctx, connEnd)
+ }
+ return err
+}
+
+// GracefulClose sets the state to draining, which prevents new streams from
+// being created and causes the transport to be closed when the last active
+// stream is closed. If there are no active streams, the transport is closed
+// immediately. This does nothing if the transport is already draining or
+// closing.
+func (t *http2Client) GracefulClose() error {
+ t.mu.Lock()
+ switch t.state {
+ case closing, draining:
+ t.mu.Unlock()
+ return nil
+ }
+ t.state = draining
+ active := len(t.activeStreams)
+ t.mu.Unlock()
+ if active == 0 {
+ return t.Close()
+ }
+ return nil
+}
+
+// Write formats the data into HTTP2 data frame(s) and sends it out. The caller
+// should proceed only if Write returns nil.
+func (t *http2Client) Write(s *Stream, hdr []byte, data []byte, opts *Options) error {
+ select {
+ case <-s.ctx.Done():
+ return ContextErr(s.ctx.Err())
+ case <-t.ctx.Done():
+ return ErrConnClosing
+ default:
+ }
+
+ if hdr == nil && data == nil && opts.Last {
+ // stream.CloseSend uses this to send an empty frame with endStream=True
+ t.controlBuf.put(&dataFrame{streamID: s.id, endStream: true, f: func() {}})
+ return nil
+ }
+ // Add data to header frame so that we can equally distribute data across frames.
+ emptyLen := http2MaxFrameLen - len(hdr)
+ if emptyLen > len(data) {
+ emptyLen = len(data)
+ }
+ hdr = append(hdr, data[:emptyLen]...)
+ data = data[emptyLen:]
+ var (
+ streamQuota int
+ streamQuotaVer uint32
+ err error
+ )
+ for idx, r := range [][]byte{hdr, data} {
+ for len(r) > 0 {
+ size := http2MaxFrameLen
+ if size > len(r) {
+ size = len(r)
+ }
+ if streamQuota == 0 { // Used up all the locally cached stream quota.
+ // Get all the stream quota there is.
+ streamQuota, streamQuotaVer, err = s.sendQuotaPool.get(math.MaxInt32, s.waiters)
+ if err != nil {
+ return err
+ }
+ }
+ if size > streamQuota {
+ size = streamQuota
+ }
+
+ // Get size worth quota from transport.
+ tq, _, err := t.sendQuotaPool.get(size, s.waiters)
+ if err != nil {
+ return err
+ }
+ if tq < size {
+ size = tq
+ }
+ ltq, _, err := t.localSendQuota.get(size, s.waiters)
+ if err != nil {
+ return err
+ }
+ // even if ltq is smaller than size we don't adjust size since
+ // ltq is only a soft limit.
+ streamQuota -= size
+ p := r[:size]
+ var endStream bool
+ // See if this is the last frame to be written.
+ if opts.Last {
+ if len(r)-size == 0 { // No more data in r after this iteration.
+ if idx == 0 { // We're writing data header.
+ if len(data) == 0 { // There's no data to follow.
+ endStream = true
+ }
+ } else { // We're writing data.
+ endStream = true
+ }
+ }
+ }
+ success := func() {
+ ltq := ltq
+ t.controlBuf.put(&dataFrame{streamID: s.id, endStream: endStream, d: p, f: func() { t.localSendQuota.add(ltq) }})
+ r = r[size:]
+ }
+ failure := func() { // The stream quota version must have changed.
+ // Our streamQuota cache is invalidated now, so give it back.
+ s.sendQuotaPool.lockedAdd(streamQuota + size)
+ }
+ if !s.sendQuotaPool.compareAndExecute(streamQuotaVer, success, failure) {
+ // Couldn't send this chunk out.
+ t.sendQuotaPool.add(size)
+ t.localSendQuota.add(ltq)
+ streamQuota = 0
+ }
+ }
+ }
+ if streamQuota > 0 { // Add the left over quota back to stream.
+ s.sendQuotaPool.add(streamQuota)
+ }
+ if !opts.Last {
+ return nil
+ }
+ s.mu.Lock()
+ if s.state != streamDone {
+ s.state = streamWriteDone
+ }
+ s.mu.Unlock()
+ return nil
+}
+
+func (t *http2Client) getStream(f http2.Frame) (*Stream, bool) {
+ t.mu.Lock()
+ defer t.mu.Unlock()
+ s, ok := t.activeStreams[f.Header().StreamID]
+ return s, ok
+}
+
+// adjustWindow sends out extra window update over the initial window size
+// of stream if the application is requesting data larger in size than
+// the window.
+func (t *http2Client) adjustWindow(s *Stream, n uint32) {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ if s.state == streamDone {
+ return
+ }
+ if w := s.fc.maybeAdjust(n); w > 0 {
+ // Piggyback connection's window update along.
+ if cw := t.fc.resetPendingUpdate(); cw > 0 {
+ t.controlBuf.put(&windowUpdate{0, cw})
+ }
+ t.controlBuf.put(&windowUpdate{s.id, w})
+ }
+}
+
+// updateWindow adjusts the inbound quota for the stream and the transport.
+// Window updates will deliver to the controller for sending when
+// the cumulative quota exceeds the corresponding threshold.
+func (t *http2Client) updateWindow(s *Stream, n uint32) {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ if s.state == streamDone {
+ return
+ }
+ if w := s.fc.onRead(n); w > 0 {
+ if cw := t.fc.resetPendingUpdate(); cw > 0 {
+ t.controlBuf.put(&windowUpdate{0, cw})
+ }
+ t.controlBuf.put(&windowUpdate{s.id, w})
+ }
+}
+
+// updateFlowControl updates the incoming flow control windows
+// for the transport and the stream based on the current bdp
+// estimation.
+func (t *http2Client) updateFlowControl(n uint32) {
+ t.mu.Lock()
+ for _, s := range t.activeStreams {
+ s.fc.newLimit(n)
+ }
+ t.initialWindowSize = int32(n)
+ t.mu.Unlock()
+ t.controlBuf.put(&windowUpdate{0, t.fc.newLimit(n)})
+ t.controlBuf.put(&settings{
+ ss: []http2.Setting{
+ {
+ ID: http2.SettingInitialWindowSize,
+ Val: uint32(n),
+ },
+ },
+ })
+}
+
+func (t *http2Client) handleData(f *http2.DataFrame) {
+ size := f.Header().Length
+ var sendBDPPing bool
+ if t.bdpEst != nil {
+ sendBDPPing = t.bdpEst.add(uint32(size))
+ }
+ // Decouple connection's flow control from application's read.
+ // An update on connection's flow control should not depend on
+ // whether user application has read the data or not. Such a
+ // restriction is already imposed on the stream's flow control,
+ // and therefore the sender will be blocked anyways.
+ // Decoupling the connection flow control will prevent other
+ // active(fast) streams from starving in presence of slow or
+ // inactive streams.
+ //
+ // Furthermore, if a bdpPing is being sent out we can piggyback
+ // connection's window update for the bytes we just received.
+ if sendBDPPing {
+ if size != 0 { // Could've been an empty data frame.
+ t.controlBuf.put(&windowUpdate{0, uint32(size)})
+ }
+ t.controlBuf.put(bdpPing)
+ } else {
+ if err := t.fc.onData(uint32(size)); err != nil {
+ t.Close()
+ return
+ }
+ if w := t.fc.onRead(uint32(size)); w > 0 {
+ t.controlBuf.put(&windowUpdate{0, w})
+ }
+ }
+ // Select the right stream to dispatch.
+ s, ok := t.getStream(f)
+ if !ok {
+ return
+ }
+ if size > 0 {
+ s.mu.Lock()
+ if s.state == streamDone {
+ s.mu.Unlock()
+ return
+ }
+ if err := s.fc.onData(uint32(size)); err != nil {
+ s.rstStream = true
+ s.rstError = http2.ErrCodeFlowControl
+ s.finish(status.New(codes.Internal, err.Error()))
+ s.mu.Unlock()
+ s.write(recvMsg{err: io.EOF})
+ return
+ }
+ if f.Header().Flags.Has(http2.FlagDataPadded) {
+ if w := s.fc.onRead(uint32(size) - uint32(len(f.Data()))); w > 0 {
+ t.controlBuf.put(&windowUpdate{s.id, w})
+ }
+ }
+ s.mu.Unlock()
+ // TODO(bradfitz, zhaoq): A copy is required here because there is no
+ // guarantee f.Data() is consumed before the arrival of next frame.
+ // Can this copy be eliminated?
+ if len(f.Data()) > 0 {
+ data := make([]byte, len(f.Data()))
+ copy(data, f.Data())
+ s.write(recvMsg{data: data})
+ }
+ }
+ // The server has closed the stream without sending trailers. Record that
+ // the read direction is closed, and set the status appropriately.
+ if f.FrameHeader.Flags.Has(http2.FlagDataEndStream) {
+ s.mu.Lock()
+ if s.state == streamDone {
+ s.mu.Unlock()
+ return
+ }
+ s.finish(status.New(codes.Internal, "server closed the stream without sending trailers"))
+ s.mu.Unlock()
+ s.write(recvMsg{err: io.EOF})
+ }
+}
+
+func (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) {
+ s, ok := t.getStream(f)
+ if !ok {
+ return
+ }
+ s.mu.Lock()
+ if s.state == streamDone {
+ s.mu.Unlock()
+ return
+ }
+ if !s.headerDone {
+ close(s.headerChan)
+ s.headerDone = true
+ }
+
+ code := http2.ErrCode(f.ErrCode)
+ if code == http2.ErrCodeRefusedStream {
+ // The stream was unprocessed by the server.
+ s.unprocessed = true
+ }
+ statusCode, ok := http2ErrConvTab[code]
+ if !ok {
+ warningf("transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error %v", f.ErrCode)
+ statusCode = codes.Unknown
+ }
+ s.finish(status.Newf(statusCode, "stream terminated by RST_STREAM with error code: %v", f.ErrCode))
+ s.mu.Unlock()
+ s.write(recvMsg{err: io.EOF})
+}
+
+func (t *http2Client) handleSettings(f *http2.SettingsFrame, isFirst bool) {
+ if f.IsAck() {
+ return
+ }
+ var rs []http2.Setting
+ var ps []http2.Setting
+ isMaxConcurrentStreamsMissing := true
+ f.ForeachSetting(func(s http2.Setting) error {
+ if s.ID == http2.SettingMaxConcurrentStreams {
+ isMaxConcurrentStreamsMissing = false
+ }
+ if t.isRestrictive(s) {
+ rs = append(rs, s)
+ } else {
+ ps = append(ps, s)
+ }
+ return nil
+ })
+ if isFirst && isMaxConcurrentStreamsMissing {
+ // This means server is imposing no limits on
+ // maximum number of concurrent streams initiated by client.
+ // So we must remove our self-imposed limit.
+ ps = append(ps, http2.Setting{
+ ID: http2.SettingMaxConcurrentStreams,
+ Val: math.MaxUint32,
+ })
+ }
+ t.applySettings(rs)
+ t.controlBuf.put(&settingsAck{})
+ t.applySettings(ps)
+}
+
+func (t *http2Client) isRestrictive(s http2.Setting) bool {
+ switch s.ID {
+ case http2.SettingMaxConcurrentStreams:
+ return int(s.Val) < t.maxStreams
+ case http2.SettingInitialWindowSize:
+ // Note: we don't acquire a lock here to read streamSendQuota
+ // because the same goroutine updates it later.
+ return s.Val < t.streamSendQuota
+ }
+ return false
+}
+
+func (t *http2Client) handlePing(f *http2.PingFrame) {
+ if f.IsAck() {
+ // Maybe it's a BDP ping.
+ if t.bdpEst != nil {
+ t.bdpEst.calculate(f.Data)
+ }
+ return
+ }
+ pingAck := &ping{ack: true}
+ copy(pingAck.data[:], f.Data[:])
+ t.controlBuf.put(pingAck)
+}
+
+func (t *http2Client) handleGoAway(f *http2.GoAwayFrame) {
+ t.mu.Lock()
+ if t.state != reachable && t.state != draining {
+ t.mu.Unlock()
+ return
+ }
+ if f.ErrCode == http2.ErrCodeEnhanceYourCalm {
+ infof("Client received GoAway with http2.ErrCodeEnhanceYourCalm.")
+ }
+ id := f.LastStreamID
+ if id > 0 && id%2 != 1 {
+ t.mu.Unlock()
+ t.Close()
+ return
+ }
+ // A client can receive multiple GoAways from the server (see
+ // https://github.com/grpc/grpc-go/issues/1387). The idea is that the first
+ // GoAway will be sent with an ID of MaxInt32 and the second GoAway will be
+ // sent after an RTT delay with the ID of the last stream the server will
+ // process.
+ //
+ // Therefore, when we get the first GoAway we don't necessarily close any
+ // streams. While in case of second GoAway we close all streams created after
+ // the GoAwayId. This way streams that were in-flight while the GoAway from
+ // server was being sent don't get killed.
+ select {
+ case <-t.goAway: // t.goAway has been closed (i.e.,multiple GoAways).
+ // If there are multiple GoAways the first one should always have an ID greater than the following ones.
+ if id > t.prevGoAwayID {
+ t.mu.Unlock()
+ t.Close()
+ return
+ }
+ default:
+ t.setGoAwayReason(f)
+ close(t.goAway)
+ t.state = draining
+ }
+ // All streams with IDs greater than the GoAwayId
+ // and smaller than the previous GoAway ID should be killed.
+ upperLimit := t.prevGoAwayID
+ if upperLimit == 0 { // This is the first GoAway Frame.
+ upperLimit = math.MaxUint32 // Kill all streams after the GoAway ID.
+ }
+ for streamID, stream := range t.activeStreams {
+ if streamID > id && streamID <= upperLimit {
+ // The stream was unprocessed by the server.
+ stream.mu.Lock()
+ stream.unprocessed = true
+ stream.finish(statusGoAway)
+ stream.mu.Unlock()
+ close(stream.goAway)
+ }
+ }
+ t.prevGoAwayID = id
+ active := len(t.activeStreams)
+ t.mu.Unlock()
+ if active == 0 {
+ t.Close()
+ }
+}
+
+// setGoAwayReason sets the value of t.goAwayReason based
+// on the GoAway frame received.
+// It expects a lock on transport's mutext to be held by
+// the caller.
+func (t *http2Client) setGoAwayReason(f *http2.GoAwayFrame) {
+ t.goAwayReason = GoAwayNoReason
+ switch f.ErrCode {
+ case http2.ErrCodeEnhanceYourCalm:
+ if string(f.DebugData()) == "too_many_pings" {
+ t.goAwayReason = GoAwayTooManyPings
+ }
+ }
+}
+
+func (t *http2Client) GetGoAwayReason() GoAwayReason {
+ t.mu.Lock()
+ defer t.mu.Unlock()
+ return t.goAwayReason
+}
+
+func (t *http2Client) handleWindowUpdate(f *http2.WindowUpdateFrame) {
+ id := f.Header().StreamID
+ incr := f.Increment
+ if id == 0 {
+ t.sendQuotaPool.add(int(incr))
+ return
+ }
+ if s, ok := t.getStream(f); ok {
+ s.sendQuotaPool.add(int(incr))
+ }
+}
+
+// operateHeaders takes action on the decoded headers.
+func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
+ s, ok := t.getStream(frame)
+ if !ok {
+ return
+ }
+ s.mu.Lock()
+ s.bytesReceived = true
+ s.mu.Unlock()
+ var state decodeState
+ if err := state.decodeResponseHeader(frame); err != nil {
+ s.mu.Lock()
+ if !s.headerDone {
+ close(s.headerChan)
+ s.headerDone = true
+ }
+ s.mu.Unlock()
+ s.write(recvMsg{err: err})
+ // Something wrong. Stops reading even when there is remaining.
+ return
+ }
+
+ endStream := frame.StreamEnded()
+ var isHeader bool
+ defer func() {
+ if t.statsHandler != nil {
+ if isHeader {
+ inHeader := &stats.InHeader{
+ Client: true,
+ WireLength: int(frame.Header().Length),
+ }
+ t.statsHandler.HandleRPC(s.ctx, inHeader)
+ } else {
+ inTrailer := &stats.InTrailer{
+ Client: true,
+ WireLength: int(frame.Header().Length),
+ }
+ t.statsHandler.HandleRPC(s.ctx, inTrailer)
+ }
+ }
+ }()
+
+ s.mu.Lock()
+ if !endStream {
+ s.recvCompress = state.encoding
+ }
+ if !s.headerDone {
+ if !endStream && len(state.mdata) > 0 {
+ s.header = state.mdata
+ }
+ close(s.headerChan)
+ s.headerDone = true
+ isHeader = true
+ }
+ if !endStream || s.state == streamDone {
+ s.mu.Unlock()
+ return
+ }
+ if len(state.mdata) > 0 {
+ s.trailer = state.mdata
+ }
+ s.finish(state.status())
+ s.mu.Unlock()
+ s.write(recvMsg{err: io.EOF})
+}
+
+func handleMalformedHTTP2(s *Stream, err error) {
+ s.mu.Lock()
+ if !s.headerDone {
+ close(s.headerChan)
+ s.headerDone = true
+ }
+ s.mu.Unlock()
+ s.write(recvMsg{err: err})
+}
+
+// reader runs as a separate goroutine in charge of reading data from network
+// connection.
+//
+// TODO(zhaoq): currently one reader per transport. Investigate whether this is
+// optimal.
+// TODO(zhaoq): Check the validity of the incoming frame sequence.
+func (t *http2Client) reader() {
+ // Check the validity of server preface.
+ frame, err := t.framer.fr.ReadFrame()
+ if err != nil {
+ t.Close()
+ return
+ }
+ atomic.CompareAndSwapUint32(&t.activity, 0, 1)
+ sf, ok := frame.(*http2.SettingsFrame)
+ if !ok {
+ t.Close()
+ return
+ }
+ t.onSuccess()
+ t.handleSettings(sf, true)
+
+ // loop to keep reading incoming messages on this transport.
+ for {
+ frame, err := t.framer.fr.ReadFrame()
+ atomic.CompareAndSwapUint32(&t.activity, 0, 1)
+ if err != nil {
+ // Abort an active stream if the http2.Framer returns a
+ // http2.StreamError. This can happen only if the server's response
+ // is malformed http2.
+ if se, ok := err.(http2.StreamError); ok {
+ t.mu.Lock()
+ s := t.activeStreams[se.StreamID]
+ t.mu.Unlock()
+ if s != nil {
+ // use error detail to provide better err message
+ handleMalformedHTTP2(s, streamErrorf(http2ErrConvTab[se.Code], "%v", t.framer.fr.ErrorDetail()))
+ }
+ continue
+ } else {
+ // Transport error.
+ t.Close()
+ return
+ }
+ }
+ switch frame := frame.(type) {
+ case *http2.MetaHeadersFrame:
+ t.operateHeaders(frame)
+ case *http2.DataFrame:
+ t.handleData(frame)
+ case *http2.RSTStreamFrame:
+ t.handleRSTStream(frame)
+ case *http2.SettingsFrame:
+ t.handleSettings(frame, false)
+ case *http2.PingFrame:
+ t.handlePing(frame)
+ case *http2.GoAwayFrame:
+ t.handleGoAway(frame)
+ case *http2.WindowUpdateFrame:
+ t.handleWindowUpdate(frame)
+ default:
+ errorf("transport: http2Client.reader got unhandled frame type %v.", frame)
+ }
+ }
+}
+
+func (t *http2Client) applySettings(ss []http2.Setting) {
+ for _, s := range ss {
+ switch s.ID {
+ case http2.SettingMaxConcurrentStreams:
+ // TODO(zhaoq): This is a hack to avoid significant refactoring of the
+ // code to deal with the unrealistic int32 overflow. Probably will try
+ // to find a better way to handle this later.
+ if s.Val > math.MaxInt32 {
+ s.Val = math.MaxInt32
+ }
+ ms := t.maxStreams
+ t.maxStreams = int(s.Val)
+ t.streamsQuota.add(int(s.Val) - ms)
+ case http2.SettingInitialWindowSize:
+ t.mu.Lock()
+ for _, stream := range t.activeStreams {
+ // Adjust the sending quota for each stream.
+ stream.sendQuotaPool.addAndUpdate(int(s.Val) - int(t.streamSendQuota))
+ }
+ t.streamSendQuota = s.Val
+ t.mu.Unlock()
+ }
+ }
+}
+
+// TODO(mmukhi): A lot of this code(and code in other places in the tranpsort layer)
+// is duplicated between the client and the server.
+// The transport layer needs to be refactored to take care of this.
+func (t *http2Client) itemHandler(i item) (err error) {
+ defer func() {
+ if err != nil {
+ errorf(" error in itemHandler: %v", err)
+ }
+ }()
+ switch i := i.(type) {
+ case *dataFrame:
+ if err := t.framer.fr.WriteData(i.streamID, i.endStream, i.d); err != nil {
+ return err
+ }
+ i.f()
+ return nil
+ case *headerFrame:
+ t.hBuf.Reset()
+ for _, f := range i.hf {
+ t.hEnc.WriteField(f)
+ }
+ endHeaders := false
+ first := true
+ for !endHeaders {
+ size := t.hBuf.Len()
+ if size > http2MaxFrameLen {
+ size = http2MaxFrameLen
+ } else {
+ endHeaders = true
+ }
+ if first {
+ first = false
+ err = t.framer.fr.WriteHeaders(http2.HeadersFrameParam{
+ StreamID: i.streamID,
+ BlockFragment: t.hBuf.Next(size),
+ EndStream: i.endStream,
+ EndHeaders: endHeaders,
+ })
+ } else {
+ err = t.framer.fr.WriteContinuation(
+ i.streamID,
+ endHeaders,
+ t.hBuf.Next(size),
+ )
+ }
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+ case *windowUpdate:
+ return t.framer.fr.WriteWindowUpdate(i.streamID, i.increment)
+ case *settings:
+ return t.framer.fr.WriteSettings(i.ss...)
+ case *settingsAck:
+ return t.framer.fr.WriteSettingsAck()
+ case *resetStream:
+ // If the server needs to be to intimated about stream closing,
+ // then we need to make sure the RST_STREAM frame is written to
+ // the wire before the headers of the next stream waiting on
+ // streamQuota. We ensure this by adding to the streamsQuota pool
+ // only after having acquired the writableChan to send RST_STREAM.
+ err := t.framer.fr.WriteRSTStream(i.streamID, i.code)
+ t.streamsQuota.add(1)
+ return err
+ case *flushIO:
+ return t.framer.writer.Flush()
+ case *ping:
+ if !i.ack {
+ t.bdpEst.timesnap(i.data)
+ }
+ return t.framer.fr.WritePing(i.ack, i.data)
+ default:
+ errorf("transport: http2Client.controller got unexpected item type %v", i)
+ return fmt.Errorf("transport: http2Client.controller got unexpected item type %v", i)
+ }
+}
+
+// keepalive running in a separate goroutune makes sure the connection is alive by sending pings.
+func (t *http2Client) keepalive() {
+ p := &ping{data: [8]byte{}}
+ timer := time.NewTimer(t.kp.Time)
+ for {
+ select {
+ case <-timer.C:
+ if atomic.CompareAndSwapUint32(&t.activity, 1, 0) {
+ timer.Reset(t.kp.Time)
+ continue
+ }
+ // Check if keepalive should go dormant.
+ t.mu.Lock()
+ if len(t.activeStreams) < 1 && !t.kp.PermitWithoutStream {
+ // Make awakenKeepalive writable.
+ <-t.awakenKeepalive
+ t.mu.Unlock()
+ select {
+ case <-t.awakenKeepalive:
+ // If the control gets here a ping has been sent
+ // need to reset the timer with keepalive.Timeout.
+ case <-t.ctx.Done():
+ return
+ }
+ } else {
+ t.mu.Unlock()
+ // Send ping.
+ t.controlBuf.put(p)
+ }
+
+ // By the time control gets here a ping has been sent one way or the other.
+ timer.Reset(t.kp.Timeout)
+ select {
+ case <-timer.C:
+ if atomic.CompareAndSwapUint32(&t.activity, 1, 0) {
+ timer.Reset(t.kp.Time)
+ continue
+ }
+ t.Close()
+ return
+ case <-t.ctx.Done():
+ if !timer.Stop() {
+ <-timer.C
+ }
+ return
+ }
+ case <-t.ctx.Done():
+ if !timer.Stop() {
+ <-timer.C
+ }
+ return
+ }
+ }
+}
+
+func (t *http2Client) Error() <-chan struct{} {
+ return t.ctx.Done()
+}
+
+func (t *http2Client) GoAway() <-chan struct{} {
+ return t.goAway
+}
diff --git a/go/vendor/google.golang.org/grpc/transport/http2_server.go b/go/vendor/google.golang.org/grpc/transport/http2_server.go
new file mode 100644
index 0000000..6d252c5
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/transport/http2_server.go
@@ -0,0 +1,1215 @@
+/*
+ *
+ * Copyright 2014 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package transport
+
+import (
+ "bytes"
+ "errors"
+ "fmt"
+ "io"
+ "math"
+ "math/rand"
+ "net"
+ "strconv"
+ "sync"
+ "sync/atomic"
+ "time"
+
+ "github.com/golang/protobuf/proto"
+ "golang.org/x/net/context"
+ "golang.org/x/net/http2"
+ "golang.org/x/net/http2/hpack"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/credentials"
+ "google.golang.org/grpc/keepalive"
+ "google.golang.org/grpc/metadata"
+ "google.golang.org/grpc/peer"
+ "google.golang.org/grpc/stats"
+ "google.golang.org/grpc/status"
+ "google.golang.org/grpc/tap"
+)
+
+// ErrIllegalHeaderWrite indicates that setting header is illegal because of
+// the stream's state.
+var ErrIllegalHeaderWrite = errors.New("transport: the stream is done or WriteHeader was already called")
+
+// http2Server implements the ServerTransport interface with HTTP2.
+type http2Server struct {
+ ctx context.Context
+ cancel context.CancelFunc
+ conn net.Conn
+ remoteAddr net.Addr
+ localAddr net.Addr
+ maxStreamID uint32 // max stream ID ever seen
+ authInfo credentials.AuthInfo // auth info about the connection
+ inTapHandle tap.ServerInHandle
+ framer *framer
+ hBuf *bytes.Buffer // the buffer for HPACK encoding
+ hEnc *hpack.Encoder // HPACK encoder
+ // The max number of concurrent streams.
+ maxStreams uint32
+ // controlBuf delivers all the control related tasks (e.g., window
+ // updates, reset streams, and various settings) to the controller.
+ controlBuf *controlBuffer
+ fc *inFlow
+ // sendQuotaPool provides flow control to outbound message.
+ sendQuotaPool *quotaPool
+ // localSendQuota limits the amount of data that can be scheduled
+ // for writing before it is actually written out.
+ localSendQuota *quotaPool
+ stats stats.Handler
+ // Flag to keep track of reading activity on transport.
+ // 1 is true and 0 is false.
+ activity uint32 // Accessed atomically.
+ // Keepalive and max-age parameters for the server.
+ kp keepalive.ServerParameters
+
+ // Keepalive enforcement policy.
+ kep keepalive.EnforcementPolicy
+ // The time instance last ping was received.
+ lastPingAt time.Time
+ // Number of times the client has violated keepalive ping policy so far.
+ pingStrikes uint8
+ // Flag to signify that number of ping strikes should be reset to 0.
+ // This is set whenever data or header frames are sent.
+ // 1 means yes.
+ resetPingStrikes uint32 // Accessed atomically.
+ initialWindowSize int32
+ bdpEst *bdpEstimator
+
+ mu sync.Mutex // guard the following
+
+ // drainChan is initialized when drain(...) is called the first time.
+ // After which the server writes out the first GoAway(with ID 2^31-1) frame.
+ // Then an independent goroutine will be launched to later send the second GoAway.
+ // During this time we don't want to write another first GoAway(with ID 2^31 -1) frame.
+ // Thus call to drain(...) will be a no-op if drainChan is already initialized since draining is
+ // already underway.
+ drainChan chan struct{}
+ state transportState
+ activeStreams map[uint32]*Stream
+ // the per-stream outbound flow control window size set by the peer.
+ streamSendQuota uint32
+ // idle is the time instant when the connection went idle.
+ // This is either the beginning of the connection or when the number of
+ // RPCs go down to 0.
+ // When the connection is busy, this value is set to 0.
+ idle time.Time
+}
+
+// newHTTP2Server constructs a ServerTransport based on HTTP2. ConnectionError is
+// returned if something goes wrong.
+func newHTTP2Server(conn net.Conn, config *ServerConfig) (_ ServerTransport, err error) {
+ writeBufSize := defaultWriteBufSize
+ if config.WriteBufferSize > 0 {
+ writeBufSize = config.WriteBufferSize
+ }
+ readBufSize := defaultReadBufSize
+ if config.ReadBufferSize > 0 {
+ readBufSize = config.ReadBufferSize
+ }
+ framer := newFramer(conn, writeBufSize, readBufSize)
+ // Send initial settings as connection preface to client.
+ var isettings []http2.Setting
+ // TODO(zhaoq): Have a better way to signal "no limit" because 0 is
+ // permitted in the HTTP2 spec.
+ maxStreams := config.MaxStreams
+ if maxStreams == 0 {
+ maxStreams = math.MaxUint32
+ } else {
+ isettings = append(isettings, http2.Setting{
+ ID: http2.SettingMaxConcurrentStreams,
+ Val: maxStreams,
+ })
+ }
+ dynamicWindow := true
+ iwz := int32(initialWindowSize)
+ if config.InitialWindowSize >= defaultWindowSize {
+ iwz = config.InitialWindowSize
+ dynamicWindow = false
+ }
+ icwz := int32(initialWindowSize)
+ if config.InitialConnWindowSize >= defaultWindowSize {
+ icwz = config.InitialConnWindowSize
+ dynamicWindow = false
+ }
+ if iwz != defaultWindowSize {
+ isettings = append(isettings, http2.Setting{
+ ID: http2.SettingInitialWindowSize,
+ Val: uint32(iwz)})
+ }
+ if err := framer.fr.WriteSettings(isettings...); err != nil {
+ return nil, connectionErrorf(false, err, "transport: %v", err)
+ }
+ // Adjust the connection flow control window if needed.
+ if delta := uint32(icwz - defaultWindowSize); delta > 0 {
+ if err := framer.fr.WriteWindowUpdate(0, delta); err != nil {
+ return nil, connectionErrorf(false, err, "transport: %v", err)
+ }
+ }
+ kp := config.KeepaliveParams
+ if kp.MaxConnectionIdle == 0 {
+ kp.MaxConnectionIdle = defaultMaxConnectionIdle
+ }
+ if kp.MaxConnectionAge == 0 {
+ kp.MaxConnectionAge = defaultMaxConnectionAge
+ }
+ // Add a jitter to MaxConnectionAge.
+ kp.MaxConnectionAge += getJitter(kp.MaxConnectionAge)
+ if kp.MaxConnectionAgeGrace == 0 {
+ kp.MaxConnectionAgeGrace = defaultMaxConnectionAgeGrace
+ }
+ if kp.Time == 0 {
+ kp.Time = defaultServerKeepaliveTime
+ }
+ if kp.Timeout == 0 {
+ kp.Timeout = defaultServerKeepaliveTimeout
+ }
+ kep := config.KeepalivePolicy
+ if kep.MinTime == 0 {
+ kep.MinTime = defaultKeepalivePolicyMinTime
+ }
+ var buf bytes.Buffer
+ ctx, cancel := context.WithCancel(context.Background())
+ t := &http2Server{
+ ctx: ctx,
+ cancel: cancel,
+ conn: conn,
+ remoteAddr: conn.RemoteAddr(),
+ localAddr: conn.LocalAddr(),
+ authInfo: config.AuthInfo,
+ framer: framer,
+ hBuf: &buf,
+ hEnc: hpack.NewEncoder(&buf),
+ maxStreams: maxStreams,
+ inTapHandle: config.InTapHandle,
+ controlBuf: newControlBuffer(),
+ fc: &inFlow{limit: uint32(icwz)},
+ sendQuotaPool: newQuotaPool(defaultWindowSize),
+ localSendQuota: newQuotaPool(defaultLocalSendQuota),
+ state: reachable,
+ activeStreams: make(map[uint32]*Stream),
+ streamSendQuota: defaultWindowSize,
+ stats: config.StatsHandler,
+ kp: kp,
+ idle: time.Now(),
+ kep: kep,
+ initialWindowSize: iwz,
+ }
+ if dynamicWindow {
+ t.bdpEst = &bdpEstimator{
+ bdp: initialWindowSize,
+ updateFlowControl: t.updateFlowControl,
+ }
+ }
+ if t.stats != nil {
+ t.ctx = t.stats.TagConn(t.ctx, &stats.ConnTagInfo{
+ RemoteAddr: t.remoteAddr,
+ LocalAddr: t.localAddr,
+ })
+ connBegin := &stats.ConnBegin{}
+ t.stats.HandleConn(t.ctx, connBegin)
+ }
+ t.framer.writer.Flush()
+
+ defer func() {
+ if err != nil {
+ t.Close()
+ }
+ }()
+
+ // Check the validity of client preface.
+ preface := make([]byte, len(clientPreface))
+ if _, err := io.ReadFull(t.conn, preface); err != nil {
+ return nil, connectionErrorf(false, err, "transport: http2Server.HandleStreams failed to receive the preface from client: %v", err)
+ }
+ if !bytes.Equal(preface, clientPreface) {
+ return nil, connectionErrorf(false, nil, "transport: http2Server.HandleStreams received bogus greeting from client: %q", preface)
+ }
+
+ frame, err := t.framer.fr.ReadFrame()
+ if err == io.EOF || err == io.ErrUnexpectedEOF {
+ return nil, err
+ }
+ if err != nil {
+ return nil, connectionErrorf(false, err, "transport: http2Server.HandleStreams failed to read initial settings frame: %v", err)
+ }
+ atomic.StoreUint32(&t.activity, 1)
+ sf, ok := frame.(*http2.SettingsFrame)
+ if !ok {
+ return nil, connectionErrorf(false, nil, "transport: http2Server.HandleStreams saw invalid preface type %T from client", frame)
+ }
+ t.handleSettings(sf)
+
+ go func() {
+ loopyWriter(t.ctx, t.controlBuf, t.itemHandler)
+ t.conn.Close()
+ }()
+ go t.keepalive()
+ return t, nil
+}
+
+// operateHeader takes action on the decoded headers.
+func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(*Stream), traceCtx func(context.Context, string) context.Context) (close bool) {
+ streamID := frame.Header().StreamID
+
+ var state decodeState
+ for _, hf := range frame.Fields {
+ if err := state.processHeaderField(hf); err != nil {
+ if se, ok := err.(StreamError); ok {
+ t.controlBuf.put(&resetStream{streamID, statusCodeConvTab[se.Code]})
+ }
+ return
+ }
+ }
+
+ buf := newRecvBuffer()
+ s := &Stream{
+ id: streamID,
+ st: t,
+ buf: buf,
+ fc: &inFlow{limit: uint32(t.initialWindowSize)},
+ recvCompress: state.encoding,
+ method: state.method,
+ }
+
+ if frame.StreamEnded() {
+ // s is just created by the caller. No lock needed.
+ s.state = streamReadDone
+ }
+ if state.timeoutSet {
+ s.ctx, s.cancel = context.WithTimeout(t.ctx, state.timeout)
+ } else {
+ s.ctx, s.cancel = context.WithCancel(t.ctx)
+ }
+ pr := &peer.Peer{
+ Addr: t.remoteAddr,
+ }
+ // Attach Auth info if there is any.
+ if t.authInfo != nil {
+ pr.AuthInfo = t.authInfo
+ }
+ s.ctx = peer.NewContext(s.ctx, pr)
+ // Cache the current stream to the context so that the server application
+ // can find out. Required when the server wants to send some metadata
+ // back to the client (unary call only).
+ s.ctx = newContextWithStream(s.ctx, s)
+ // Attach the received metadata to the context.
+ if len(state.mdata) > 0 {
+ s.ctx = metadata.NewIncomingContext(s.ctx, state.mdata)
+ }
+ if state.statsTags != nil {
+ s.ctx = stats.SetIncomingTags(s.ctx, state.statsTags)
+ }
+ if state.statsTrace != nil {
+ s.ctx = stats.SetIncomingTrace(s.ctx, state.statsTrace)
+ }
+ if t.inTapHandle != nil {
+ var err error
+ info := &tap.Info{
+ FullMethodName: state.method,
+ }
+ s.ctx, err = t.inTapHandle(s.ctx, info)
+ if err != nil {
+ warningf("transport: http2Server.operateHeaders got an error from InTapHandle: %v", err)
+ t.controlBuf.put(&resetStream{s.id, http2.ErrCodeRefusedStream})
+ return
+ }
+ }
+ t.mu.Lock()
+ if t.state != reachable {
+ t.mu.Unlock()
+ return
+ }
+ if uint32(len(t.activeStreams)) >= t.maxStreams {
+ t.mu.Unlock()
+ t.controlBuf.put(&resetStream{streamID, http2.ErrCodeRefusedStream})
+ return
+ }
+ if streamID%2 != 1 || streamID <= t.maxStreamID {
+ t.mu.Unlock()
+ // illegal gRPC stream id.
+ errorf("transport: http2Server.HandleStreams received an illegal stream id: %v", streamID)
+ return true
+ }
+ t.maxStreamID = streamID
+ s.sendQuotaPool = newQuotaPool(int(t.streamSendQuota))
+ t.activeStreams[streamID] = s
+ if len(t.activeStreams) == 1 {
+ t.idle = time.Time{}
+ }
+ t.mu.Unlock()
+ s.requestRead = func(n int) {
+ t.adjustWindow(s, uint32(n))
+ }
+ s.ctx = traceCtx(s.ctx, s.method)
+ if t.stats != nil {
+ s.ctx = t.stats.TagRPC(s.ctx, &stats.RPCTagInfo{FullMethodName: s.method})
+ inHeader := &stats.InHeader{
+ FullMethod: s.method,
+ RemoteAddr: t.remoteAddr,
+ LocalAddr: t.localAddr,
+ Compression: s.recvCompress,
+ WireLength: int(frame.Header().Length),
+ }
+ t.stats.HandleRPC(s.ctx, inHeader)
+ }
+ s.trReader = &transportReader{
+ reader: &recvBufferReader{
+ ctx: s.ctx,
+ recv: s.buf,
+ },
+ windowHandler: func(n int) {
+ t.updateWindow(s, uint32(n))
+ },
+ }
+ s.waiters = waiters{
+ ctx: s.ctx,
+ tctx: t.ctx,
+ }
+ handle(s)
+ return
+}
+
+// HandleStreams receives incoming streams using the given handler. This is
+// typically run in a separate goroutine.
+// traceCtx attaches trace to ctx and returns the new context.
+func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.Context, string) context.Context) {
+ for {
+ frame, err := t.framer.fr.ReadFrame()
+ atomic.StoreUint32(&t.activity, 1)
+ if err != nil {
+ if se, ok := err.(http2.StreamError); ok {
+ t.mu.Lock()
+ s := t.activeStreams[se.StreamID]
+ t.mu.Unlock()
+ if s != nil {
+ t.closeStream(s)
+ }
+ t.controlBuf.put(&resetStream{se.StreamID, se.Code})
+ continue
+ }
+ if err == io.EOF || err == io.ErrUnexpectedEOF {
+ t.Close()
+ return
+ }
+ warningf("transport: http2Server.HandleStreams failed to read frame: %v", err)
+ t.Close()
+ return
+ }
+ switch frame := frame.(type) {
+ case *http2.MetaHeadersFrame:
+ if t.operateHeaders(frame, handle, traceCtx) {
+ t.Close()
+ break
+ }
+ case *http2.DataFrame:
+ t.handleData(frame)
+ case *http2.RSTStreamFrame:
+ t.handleRSTStream(frame)
+ case *http2.SettingsFrame:
+ t.handleSettings(frame)
+ case *http2.PingFrame:
+ t.handlePing(frame)
+ case *http2.WindowUpdateFrame:
+ t.handleWindowUpdate(frame)
+ case *http2.GoAwayFrame:
+ // TODO: Handle GoAway from the client appropriately.
+ default:
+ errorf("transport: http2Server.HandleStreams found unhandled frame type %v.", frame)
+ }
+ }
+}
+
+func (t *http2Server) getStream(f http2.Frame) (*Stream, bool) {
+ t.mu.Lock()
+ defer t.mu.Unlock()
+ if t.activeStreams == nil {
+ // The transport is closing.
+ return nil, false
+ }
+ s, ok := t.activeStreams[f.Header().StreamID]
+ if !ok {
+ // The stream is already done.
+ return nil, false
+ }
+ return s, true
+}
+
+// adjustWindow sends out extra window update over the initial window size
+// of stream if the application is requesting data larger in size than
+// the window.
+func (t *http2Server) adjustWindow(s *Stream, n uint32) {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ if s.state == streamDone {
+ return
+ }
+ if w := s.fc.maybeAdjust(n); w > 0 {
+ if cw := t.fc.resetPendingUpdate(); cw > 0 {
+ t.controlBuf.put(&windowUpdate{0, cw})
+ }
+ t.controlBuf.put(&windowUpdate{s.id, w})
+ }
+}
+
+// updateWindow adjusts the inbound quota for the stream and the transport.
+// Window updates will deliver to the controller for sending when
+// the cumulative quota exceeds the corresponding threshold.
+func (t *http2Server) updateWindow(s *Stream, n uint32) {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ if s.state == streamDone {
+ return
+ }
+ if w := s.fc.onRead(n); w > 0 {
+ if cw := t.fc.resetPendingUpdate(); cw > 0 {
+ t.controlBuf.put(&windowUpdate{0, cw})
+ }
+ t.controlBuf.put(&windowUpdate{s.id, w})
+ }
+}
+
+// updateFlowControl updates the incoming flow control windows
+// for the transport and the stream based on the current bdp
+// estimation.
+func (t *http2Server) updateFlowControl(n uint32) {
+ t.mu.Lock()
+ for _, s := range t.activeStreams {
+ s.fc.newLimit(n)
+ }
+ t.initialWindowSize = int32(n)
+ t.mu.Unlock()
+ t.controlBuf.put(&windowUpdate{0, t.fc.newLimit(n)})
+ t.controlBuf.put(&settings{
+ ss: []http2.Setting{
+ {
+ ID: http2.SettingInitialWindowSize,
+ Val: uint32(n),
+ },
+ },
+ })
+
+}
+
+func (t *http2Server) handleData(f *http2.DataFrame) {
+ size := f.Header().Length
+ var sendBDPPing bool
+ if t.bdpEst != nil {
+ sendBDPPing = t.bdpEst.add(uint32(size))
+ }
+ // Decouple connection's flow control from application's read.
+ // An update on connection's flow control should not depend on
+ // whether user application has read the data or not. Such a
+ // restriction is already imposed on the stream's flow control,
+ // and therefore the sender will be blocked anyways.
+ // Decoupling the connection flow control will prevent other
+ // active(fast) streams from starving in presence of slow or
+ // inactive streams.
+ //
+ // Furthermore, if a bdpPing is being sent out we can piggyback
+ // connection's window update for the bytes we just received.
+ if sendBDPPing {
+ if size != 0 { // Could be an empty frame.
+ t.controlBuf.put(&windowUpdate{0, uint32(size)})
+ }
+ t.controlBuf.put(bdpPing)
+ } else {
+ if err := t.fc.onData(uint32(size)); err != nil {
+ errorf("transport: http2Server %v", err)
+ t.Close()
+ return
+ }
+ if w := t.fc.onRead(uint32(size)); w > 0 {
+ t.controlBuf.put(&windowUpdate{0, w})
+ }
+ }
+ // Select the right stream to dispatch.
+ s, ok := t.getStream(f)
+ if !ok {
+ return
+ }
+ if size > 0 {
+ s.mu.Lock()
+ if s.state == streamDone {
+ s.mu.Unlock()
+ return
+ }
+ if err := s.fc.onData(uint32(size)); err != nil {
+ s.mu.Unlock()
+ t.closeStream(s)
+ t.controlBuf.put(&resetStream{s.id, http2.ErrCodeFlowControl})
+ return
+ }
+ if f.Header().Flags.Has(http2.FlagDataPadded) {
+ if w := s.fc.onRead(uint32(size) - uint32(len(f.Data()))); w > 0 {
+ t.controlBuf.put(&windowUpdate{s.id, w})
+ }
+ }
+ s.mu.Unlock()
+ // TODO(bradfitz, zhaoq): A copy is required here because there is no
+ // guarantee f.Data() is consumed before the arrival of next frame.
+ // Can this copy be eliminated?
+ if len(f.Data()) > 0 {
+ data := make([]byte, len(f.Data()))
+ copy(data, f.Data())
+ s.write(recvMsg{data: data})
+ }
+ }
+ if f.Header().Flags.Has(http2.FlagDataEndStream) {
+ // Received the end of stream from the client.
+ s.mu.Lock()
+ if s.state != streamDone {
+ s.state = streamReadDone
+ }
+ s.mu.Unlock()
+ s.write(recvMsg{err: io.EOF})
+ }
+}
+
+func (t *http2Server) handleRSTStream(f *http2.RSTStreamFrame) {
+ s, ok := t.getStream(f)
+ if !ok {
+ return
+ }
+ t.closeStream(s)
+}
+
+func (t *http2Server) handleSettings(f *http2.SettingsFrame) {
+ if f.IsAck() {
+ return
+ }
+ var rs []http2.Setting
+ var ps []http2.Setting
+ f.ForeachSetting(func(s http2.Setting) error {
+ if t.isRestrictive(s) {
+ rs = append(rs, s)
+ } else {
+ ps = append(ps, s)
+ }
+ return nil
+ })
+ t.applySettings(rs)
+ t.controlBuf.put(&settingsAck{})
+ t.applySettings(ps)
+}
+
+func (t *http2Server) isRestrictive(s http2.Setting) bool {
+ switch s.ID {
+ case http2.SettingInitialWindowSize:
+ // Note: we don't acquire a lock here to read streamSendQuota
+ // because the same goroutine updates it later.
+ return s.Val < t.streamSendQuota
+ }
+ return false
+}
+
+func (t *http2Server) applySettings(ss []http2.Setting) {
+ for _, s := range ss {
+ if s.ID == http2.SettingInitialWindowSize {
+ t.mu.Lock()
+ for _, stream := range t.activeStreams {
+ stream.sendQuotaPool.addAndUpdate(int(s.Val) - int(t.streamSendQuota))
+ }
+ t.streamSendQuota = s.Val
+ t.mu.Unlock()
+ }
+
+ }
+}
+
+const (
+ maxPingStrikes = 2
+ defaultPingTimeout = 2 * time.Hour
+)
+
+func (t *http2Server) handlePing(f *http2.PingFrame) {
+ if f.IsAck() {
+ if f.Data == goAwayPing.data && t.drainChan != nil {
+ close(t.drainChan)
+ return
+ }
+ // Maybe it's a BDP ping.
+ if t.bdpEst != nil {
+ t.bdpEst.calculate(f.Data)
+ }
+ return
+ }
+ pingAck := &ping{ack: true}
+ copy(pingAck.data[:], f.Data[:])
+ t.controlBuf.put(pingAck)
+
+ now := time.Now()
+ defer func() {
+ t.lastPingAt = now
+ }()
+ // A reset ping strikes means that we don't need to check for policy
+ // violation for this ping and the pingStrikes counter should be set
+ // to 0.
+ if atomic.CompareAndSwapUint32(&t.resetPingStrikes, 1, 0) {
+ t.pingStrikes = 0
+ return
+ }
+ t.mu.Lock()
+ ns := len(t.activeStreams)
+ t.mu.Unlock()
+ if ns < 1 && !t.kep.PermitWithoutStream {
+ // Keepalive shouldn't be active thus, this new ping should
+ // have come after at least defaultPingTimeout.
+ if t.lastPingAt.Add(defaultPingTimeout).After(now) {
+ t.pingStrikes++
+ }
+ } else {
+ // Check if keepalive policy is respected.
+ if t.lastPingAt.Add(t.kep.MinTime).After(now) {
+ t.pingStrikes++
+ }
+ }
+
+ if t.pingStrikes > maxPingStrikes {
+ // Send goaway and close the connection.
+ errorf("transport: Got too many pings from the client, closing the connection.")
+ t.controlBuf.put(&goAway{code: http2.ErrCodeEnhanceYourCalm, debugData: []byte("too_many_pings"), closeConn: true})
+ }
+}
+
+func (t *http2Server) handleWindowUpdate(f *http2.WindowUpdateFrame) {
+ id := f.Header().StreamID
+ incr := f.Increment
+ if id == 0 {
+ t.sendQuotaPool.add(int(incr))
+ return
+ }
+ if s, ok := t.getStream(f); ok {
+ s.sendQuotaPool.add(int(incr))
+ }
+}
+
+// WriteHeader sends the header metedata md back to the client.
+func (t *http2Server) WriteHeader(s *Stream, md metadata.MD) error {
+ select {
+ case <-s.ctx.Done():
+ return ContextErr(s.ctx.Err())
+ case <-t.ctx.Done():
+ return ErrConnClosing
+ default:
+ }
+
+ s.mu.Lock()
+ if s.headerOk || s.state == streamDone {
+ s.mu.Unlock()
+ return ErrIllegalHeaderWrite
+ }
+ s.headerOk = true
+ if md.Len() > 0 {
+ if s.header.Len() > 0 {
+ s.header = metadata.Join(s.header, md)
+ } else {
+ s.header = md
+ }
+ }
+ md = s.header
+ s.mu.Unlock()
+ // TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields
+ // first and create a slice of that exact size.
+ headerFields := make([]hpack.HeaderField, 0, 2) // at least :status, content-type will be there if none else.
+ headerFields = append(headerFields, hpack.HeaderField{Name: ":status", Value: "200"})
+ headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: "application/grpc"})
+ if s.sendCompress != "" {
+ headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-encoding", Value: s.sendCompress})
+ }
+ for k, vv := range md {
+ if isReservedHeader(k) {
+ // Clients don't tolerate reading restricted headers after some non restricted ones were sent.
+ continue
+ }
+ for _, v := range vv {
+ headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
+ }
+ }
+ t.controlBuf.put(&headerFrame{
+ streamID: s.id,
+ hf: headerFields,
+ endStream: false,
+ })
+ if t.stats != nil {
+ outHeader := &stats.OutHeader{
+ //WireLength: // TODO(mmukhi): Revisit this later, if needed.
+ }
+ t.stats.HandleRPC(s.Context(), outHeader)
+ }
+ return nil
+}
+
+// WriteStatus sends stream status to the client and terminates the stream.
+// There is no further I/O operations being able to perform on this stream.
+// TODO(zhaoq): Now it indicates the end of entire stream. Revisit if early
+// OK is adopted.
+func (t *http2Server) WriteStatus(s *Stream, st *status.Status) error {
+ select {
+ case <-t.ctx.Done():
+ return ErrConnClosing
+ default:
+ }
+
+ var headersSent, hasHeader bool
+ s.mu.Lock()
+ if s.state == streamDone {
+ s.mu.Unlock()
+ return nil
+ }
+ if s.headerOk {
+ headersSent = true
+ }
+ if s.header.Len() > 0 {
+ hasHeader = true
+ }
+ s.mu.Unlock()
+
+ if !headersSent && hasHeader {
+ t.WriteHeader(s, nil)
+ headersSent = true
+ }
+
+ // TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields
+ // first and create a slice of that exact size.
+ headerFields := make([]hpack.HeaderField, 0, 2) // grpc-status and grpc-message will be there if none else.
+ if !headersSent {
+ headerFields = append(headerFields, hpack.HeaderField{Name: ":status", Value: "200"})
+ headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: "application/grpc"})
+ }
+ headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-status", Value: strconv.Itoa(int(st.Code()))})
+ headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-message", Value: encodeGrpcMessage(st.Message())})
+
+ if p := st.Proto(); p != nil && len(p.Details) > 0 {
+ stBytes, err := proto.Marshal(p)
+ if err != nil {
+ // TODO: return error instead, when callers are able to handle it.
+ panic(err)
+ }
+
+ headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-status-details-bin", Value: encodeBinHeader(stBytes)})
+ }
+
+ // Attach the trailer metadata.
+ for k, vv := range s.trailer {
+ // Clients don't tolerate reading restricted headers after some non restricted ones were sent.
+ if isReservedHeader(k) {
+ continue
+ }
+ for _, v := range vv {
+ headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
+ }
+ }
+ t.controlBuf.put(&headerFrame{
+ streamID: s.id,
+ hf: headerFields,
+ endStream: true,
+ })
+ if t.stats != nil {
+ t.stats.HandleRPC(s.Context(), &stats.OutTrailer{})
+ }
+ t.closeStream(s)
+ return nil
+}
+
+// Write converts the data into HTTP2 data frame and sends it out. Non-nil error
+// is returns if it fails (e.g., framing error, transport error).
+func (t *http2Server) Write(s *Stream, hdr []byte, data []byte, opts *Options) error {
+ select {
+ case <-s.ctx.Done():
+ return ContextErr(s.ctx.Err())
+ case <-t.ctx.Done():
+ return ErrConnClosing
+ default:
+ }
+
+ var writeHeaderFrame bool
+ s.mu.Lock()
+ if s.state == streamDone {
+ s.mu.Unlock()
+ return streamErrorf(codes.Unknown, "the stream has been done")
+ }
+ if !s.headerOk {
+ writeHeaderFrame = true
+ }
+ s.mu.Unlock()
+ if writeHeaderFrame {
+ t.WriteHeader(s, nil)
+ }
+ // Add data to header frame so that we can equally distribute data across frames.
+ emptyLen := http2MaxFrameLen - len(hdr)
+ if emptyLen > len(data) {
+ emptyLen = len(data)
+ }
+ hdr = append(hdr, data[:emptyLen]...)
+ data = data[emptyLen:]
+ var (
+ streamQuota int
+ streamQuotaVer uint32
+ err error
+ )
+ for _, r := range [][]byte{hdr, data} {
+ for len(r) > 0 {
+ size := http2MaxFrameLen
+ if size > len(r) {
+ size = len(r)
+ }
+ if streamQuota == 0 { // Used up all the locally cached stream quota.
+ // Get all the stream quota there is.
+ streamQuota, streamQuotaVer, err = s.sendQuotaPool.get(math.MaxInt32, s.waiters)
+ if err != nil {
+ return err
+ }
+ }
+ if size > streamQuota {
+ size = streamQuota
+ }
+ // Get size worth quota from transport.
+ tq, _, err := t.sendQuotaPool.get(size, s.waiters)
+ if err != nil {
+ return err
+ }
+ if tq < size {
+ size = tq
+ }
+ ltq, _, err := t.localSendQuota.get(size, s.waiters)
+ if err != nil {
+ return err
+ }
+ // even if ltq is smaller than size we don't adjust size since,
+ // ltq is only a soft limit.
+ streamQuota -= size
+ p := r[:size]
+ // Reset ping strikes when sending data since this might cause
+ // the peer to send ping.
+ atomic.StoreUint32(&t.resetPingStrikes, 1)
+ success := func() {
+ ltq := ltq
+ t.controlBuf.put(&dataFrame{streamID: s.id, endStream: false, d: p, f: func() {
+ t.localSendQuota.add(ltq)
+ }})
+ r = r[size:]
+ }
+ failure := func() { // The stream quota version must have changed.
+ // Our streamQuota cache is invalidated now, so give it back.
+ s.sendQuotaPool.lockedAdd(streamQuota + size)
+ }
+ if !s.sendQuotaPool.compareAndExecute(streamQuotaVer, success, failure) {
+ // Couldn't send this chunk out.
+ t.sendQuotaPool.add(size)
+ t.localSendQuota.add(ltq)
+ streamQuota = 0
+ }
+ }
+ }
+ if streamQuota > 0 {
+ // ADd the left over quota back to stream.
+ s.sendQuotaPool.add(streamQuota)
+ }
+ return nil
+}
+
+// keepalive running in a separate goroutine does the following:
+// 1. Gracefully closes an idle connection after a duration of keepalive.MaxConnectionIdle.
+// 2. Gracefully closes any connection after a duration of keepalive.MaxConnectionAge.
+// 3. Forcibly closes a connection after an additive period of keepalive.MaxConnectionAgeGrace over keepalive.MaxConnectionAge.
+// 4. Makes sure a connection is alive by sending pings with a frequency of keepalive.Time and closes a non-responsive connection
+// after an additional duration of keepalive.Timeout.
+func (t *http2Server) keepalive() {
+ p := &ping{}
+ var pingSent bool
+ maxIdle := time.NewTimer(t.kp.MaxConnectionIdle)
+ maxAge := time.NewTimer(t.kp.MaxConnectionAge)
+ keepalive := time.NewTimer(t.kp.Time)
+ // NOTE: All exit paths of this function should reset their
+ // respective timers. A failure to do so will cause the
+ // following clean-up to deadlock and eventually leak.
+ defer func() {
+ if !maxIdle.Stop() {
+ <-maxIdle.C
+ }
+ if !maxAge.Stop() {
+ <-maxAge.C
+ }
+ if !keepalive.Stop() {
+ <-keepalive.C
+ }
+ }()
+ for {
+ select {
+ case <-maxIdle.C:
+ t.mu.Lock()
+ idle := t.idle
+ if idle.IsZero() { // The connection is non-idle.
+ t.mu.Unlock()
+ maxIdle.Reset(t.kp.MaxConnectionIdle)
+ continue
+ }
+ val := t.kp.MaxConnectionIdle - time.Since(idle)
+ t.mu.Unlock()
+ if val <= 0 {
+ // The connection has been idle for a duration of keepalive.MaxConnectionIdle or more.
+ // Gracefully close the connection.
+ t.drain(http2.ErrCodeNo, []byte{})
+ // Reseting the timer so that the clean-up doesn't deadlock.
+ maxIdle.Reset(infinity)
+ return
+ }
+ maxIdle.Reset(val)
+ case <-maxAge.C:
+ t.drain(http2.ErrCodeNo, []byte{})
+ maxAge.Reset(t.kp.MaxConnectionAgeGrace)
+ select {
+ case <-maxAge.C:
+ // Close the connection after grace period.
+ t.Close()
+ // Reseting the timer so that the clean-up doesn't deadlock.
+ maxAge.Reset(infinity)
+ case <-t.ctx.Done():
+ }
+ return
+ case <-keepalive.C:
+ if atomic.CompareAndSwapUint32(&t.activity, 1, 0) {
+ pingSent = false
+ keepalive.Reset(t.kp.Time)
+ continue
+ }
+ if pingSent {
+ t.Close()
+ // Reseting the timer so that the clean-up doesn't deadlock.
+ keepalive.Reset(infinity)
+ return
+ }
+ pingSent = true
+ t.controlBuf.put(p)
+ keepalive.Reset(t.kp.Timeout)
+ case <-t.ctx.Done():
+ return
+ }
+ }
+}
+
+var goAwayPing = &ping{data: [8]byte{1, 6, 1, 8, 0, 3, 3, 9}}
+
+// TODO(mmukhi): A lot of this code(and code in other places in the tranpsort layer)
+// is duplicated between the client and the server.
+// The transport layer needs to be refactored to take care of this.
+func (t *http2Server) itemHandler(i item) error {
+ switch i := i.(type) {
+ case *dataFrame:
+ if err := t.framer.fr.WriteData(i.streamID, i.endStream, i.d); err != nil {
+ return err
+ }
+ i.f()
+ return nil
+ case *headerFrame:
+ t.hBuf.Reset()
+ for _, f := range i.hf {
+ t.hEnc.WriteField(f)
+ }
+ first := true
+ endHeaders := false
+ for !endHeaders {
+ size := t.hBuf.Len()
+ if size > http2MaxFrameLen {
+ size = http2MaxFrameLen
+ } else {
+ endHeaders = true
+ }
+ var err error
+ if first {
+ first = false
+ err = t.framer.fr.WriteHeaders(http2.HeadersFrameParam{
+ StreamID: i.streamID,
+ BlockFragment: t.hBuf.Next(size),
+ EndStream: i.endStream,
+ EndHeaders: endHeaders,
+ })
+ } else {
+ err = t.framer.fr.WriteContinuation(
+ i.streamID,
+ endHeaders,
+ t.hBuf.Next(size),
+ )
+ }
+ if err != nil {
+ return err
+ }
+ }
+ atomic.StoreUint32(&t.resetPingStrikes, 1)
+ return nil
+ case *windowUpdate:
+ return t.framer.fr.WriteWindowUpdate(i.streamID, i.increment)
+ case *settings:
+ return t.framer.fr.WriteSettings(i.ss...)
+ case *settingsAck:
+ return t.framer.fr.WriteSettingsAck()
+ case *resetStream:
+ return t.framer.fr.WriteRSTStream(i.streamID, i.code)
+ case *goAway:
+ t.mu.Lock()
+ if t.state == closing {
+ t.mu.Unlock()
+ // The transport is closing.
+ return fmt.Errorf("transport: Connection closing")
+ }
+ sid := t.maxStreamID
+ if !i.headsUp {
+ // Stop accepting more streams now.
+ t.state = draining
+ if len(t.activeStreams) == 0 {
+ i.closeConn = true
+ }
+ t.mu.Unlock()
+ if err := t.framer.fr.WriteGoAway(sid, i.code, i.debugData); err != nil {
+ return err
+ }
+ if i.closeConn {
+ // Abruptly close the connection following the GoAway (via
+ // loopywriter). But flush out what's inside the buffer first.
+ t.controlBuf.put(&flushIO{closeTr: true})
+ }
+ return nil
+ }
+ t.mu.Unlock()
+ // For a graceful close, send out a GoAway with stream ID of MaxUInt32,
+ // Follow that with a ping and wait for the ack to come back or a timer
+ // to expire. During this time accept new streams since they might have
+ // originated before the GoAway reaches the client.
+ // After getting the ack or timer expiration send out another GoAway this
+ // time with an ID of the max stream server intends to process.
+ if err := t.framer.fr.WriteGoAway(math.MaxUint32, http2.ErrCodeNo, []byte{}); err != nil {
+ return err
+ }
+ if err := t.framer.fr.WritePing(false, goAwayPing.data); err != nil {
+ return err
+ }
+ go func() {
+ timer := time.NewTimer(time.Minute)
+ defer timer.Stop()
+ select {
+ case <-t.drainChan:
+ case <-timer.C:
+ case <-t.ctx.Done():
+ return
+ }
+ t.controlBuf.put(&goAway{code: i.code, debugData: i.debugData})
+ }()
+ return nil
+ case *flushIO:
+ if err := t.framer.writer.Flush(); err != nil {
+ return err
+ }
+ if i.closeTr {
+ return ErrConnClosing
+ }
+ return nil
+ case *ping:
+ if !i.ack {
+ t.bdpEst.timesnap(i.data)
+ }
+ return t.framer.fr.WritePing(i.ack, i.data)
+ default:
+ err := status.Errorf(codes.Internal, "transport: http2Server.controller got unexpected item type %t", i)
+ errorf("%v", err)
+ return err
+ }
+}
+
+// Close starts shutting down the http2Server transport.
+// TODO(zhaoq): Now the destruction is not blocked on any pending streams. This
+// could cause some resource issue. Revisit this later.
+func (t *http2Server) Close() error {
+ t.mu.Lock()
+ if t.state == closing {
+ t.mu.Unlock()
+ return errors.New("transport: Close() was already called")
+ }
+ t.state = closing
+ streams := t.activeStreams
+ t.activeStreams = nil
+ t.mu.Unlock()
+ t.cancel()
+ err := t.conn.Close()
+ // Cancel all active streams.
+ for _, s := range streams {
+ s.cancel()
+ }
+ if t.stats != nil {
+ connEnd := &stats.ConnEnd{}
+ t.stats.HandleConn(t.ctx, connEnd)
+ }
+ return err
+}
+
+// closeStream clears the footprint of a stream when the stream is not needed
+// any more.
+func (t *http2Server) closeStream(s *Stream) {
+ t.mu.Lock()
+ delete(t.activeStreams, s.id)
+ if len(t.activeStreams) == 0 {
+ t.idle = time.Now()
+ }
+ if t.state == draining && len(t.activeStreams) == 0 {
+ defer t.controlBuf.put(&flushIO{closeTr: true})
+ }
+ t.mu.Unlock()
+ // In case stream sending and receiving are invoked in separate
+ // goroutines (e.g., bi-directional streaming), cancel needs to be
+ // called to interrupt the potential blocking on other goroutines.
+ s.cancel()
+ s.mu.Lock()
+ if s.state == streamDone {
+ s.mu.Unlock()
+ return
+ }
+ s.state = streamDone
+ s.mu.Unlock()
+}
+
+func (t *http2Server) RemoteAddr() net.Addr {
+ return t.remoteAddr
+}
+
+func (t *http2Server) Drain() {
+ t.drain(http2.ErrCodeNo, []byte{})
+}
+
+func (t *http2Server) drain(code http2.ErrCode, debugData []byte) {
+ t.mu.Lock()
+ defer t.mu.Unlock()
+ if t.drainChan != nil {
+ return
+ }
+ t.drainChan = make(chan struct{})
+ t.controlBuf.put(&goAway{code: code, debugData: debugData, headsUp: true})
+}
+
+var rgen = rand.New(rand.NewSource(time.Now().UnixNano()))
+
+func getJitter(v time.Duration) time.Duration {
+ if v == infinity {
+ return 0
+ }
+ // Generate a jitter between +/- 10% of the value.
+ r := int64(v / 10)
+ j := rgen.Int63n(2*r) - r
+ return time.Duration(j)
+}
diff --git a/go/vendor/google.golang.org/grpc/transport/http_util.go b/go/vendor/google.golang.org/grpc/transport/http_util.go
new file mode 100644
index 0000000..39f878c
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/transport/http_util.go
@@ -0,0 +1,489 @@
+/*
+ *
+ * Copyright 2014 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package transport
+
+import (
+ "bufio"
+ "bytes"
+ "encoding/base64"
+ "fmt"
+ "io"
+ "net"
+ "net/http"
+ "strconv"
+ "strings"
+ "time"
+
+ "github.com/golang/protobuf/proto"
+ "golang.org/x/net/http2"
+ "golang.org/x/net/http2/hpack"
+ spb "google.golang.org/genproto/googleapis/rpc/status"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
+)
+
+const (
+ // http2MaxFrameLen specifies the max length of a HTTP2 frame.
+ http2MaxFrameLen = 16384 // 16KB frame
+ // http://http2.github.io/http2-spec/#SettingValues
+ http2InitHeaderTableSize = 4096
+ // http2IOBufSize specifies the buffer size for sending frames.
+ defaultWriteBufSize = 32 * 1024
+ defaultReadBufSize = 32 * 1024
+)
+
+var (
+ clientPreface = []byte(http2.ClientPreface)
+ http2ErrConvTab = map[http2.ErrCode]codes.Code{
+ http2.ErrCodeNo: codes.Internal,
+ http2.ErrCodeProtocol: codes.Internal,
+ http2.ErrCodeInternal: codes.Internal,
+ http2.ErrCodeFlowControl: codes.ResourceExhausted,
+ http2.ErrCodeSettingsTimeout: codes.Internal,
+ http2.ErrCodeStreamClosed: codes.Internal,
+ http2.ErrCodeFrameSize: codes.Internal,
+ http2.ErrCodeRefusedStream: codes.Unavailable,
+ http2.ErrCodeCancel: codes.Canceled,
+ http2.ErrCodeCompression: codes.Internal,
+ http2.ErrCodeConnect: codes.Internal,
+ http2.ErrCodeEnhanceYourCalm: codes.ResourceExhausted,
+ http2.ErrCodeInadequateSecurity: codes.PermissionDenied,
+ http2.ErrCodeHTTP11Required: codes.FailedPrecondition,
+ }
+ statusCodeConvTab = map[codes.Code]http2.ErrCode{
+ codes.Internal: http2.ErrCodeInternal,
+ codes.Canceled: http2.ErrCodeCancel,
+ codes.Unavailable: http2.ErrCodeRefusedStream,
+ codes.ResourceExhausted: http2.ErrCodeEnhanceYourCalm,
+ codes.PermissionDenied: http2.ErrCodeInadequateSecurity,
+ }
+ httpStatusConvTab = map[int]codes.Code{
+ // 400 Bad Request - INTERNAL.
+ http.StatusBadRequest: codes.Internal,
+ // 401 Unauthorized - UNAUTHENTICATED.
+ http.StatusUnauthorized: codes.Unauthenticated,
+ // 403 Forbidden - PERMISSION_DENIED.
+ http.StatusForbidden: codes.PermissionDenied,
+ // 404 Not Found - UNIMPLEMENTED.
+ http.StatusNotFound: codes.Unimplemented,
+ // 429 Too Many Requests - UNAVAILABLE.
+ http.StatusTooManyRequests: codes.Unavailable,
+ // 502 Bad Gateway - UNAVAILABLE.
+ http.StatusBadGateway: codes.Unavailable,
+ // 503 Service Unavailable - UNAVAILABLE.
+ http.StatusServiceUnavailable: codes.Unavailable,
+ // 504 Gateway timeout - UNAVAILABLE.
+ http.StatusGatewayTimeout: codes.Unavailable,
+ }
+)
+
+// Records the states during HPACK decoding. Must be reset once the
+// decoding of the entire headers are finished.
+type decodeState struct {
+ encoding string
+ // statusGen caches the stream status received from the trailer the server
+ // sent. Client side only. Do not access directly. After all trailers are
+ // parsed, use the status method to retrieve the status.
+ statusGen *status.Status
+ // rawStatusCode and rawStatusMsg are set from the raw trailer fields and are not
+ // intended for direct access outside of parsing.
+ rawStatusCode *int
+ rawStatusMsg string
+ httpStatus *int
+ // Server side only fields.
+ timeoutSet bool
+ timeout time.Duration
+ method string
+ // key-value metadata map from the peer.
+ mdata map[string][]string
+ statsTags []byte
+ statsTrace []byte
+}
+
+// isReservedHeader checks whether hdr belongs to HTTP2 headers
+// reserved by gRPC protocol. Any other headers are classified as the
+// user-specified metadata.
+func isReservedHeader(hdr string) bool {
+ if hdr != "" && hdr[0] == ':' {
+ return true
+ }
+ switch hdr {
+ case "content-type",
+ "grpc-message-type",
+ "grpc-encoding",
+ "grpc-message",
+ "grpc-status",
+ "grpc-timeout",
+ "grpc-status-details-bin",
+ "te":
+ return true
+ default:
+ return false
+ }
+}
+
+// isWhitelistedPseudoHeader checks whether hdr belongs to HTTP2 pseudoheaders
+// that should be propagated into metadata visible to users.
+func isWhitelistedPseudoHeader(hdr string) bool {
+ switch hdr {
+ case ":authority":
+ return true
+ default:
+ return false
+ }
+}
+
+func validContentType(t string) bool {
+ e := "application/grpc"
+ if !strings.HasPrefix(t, e) {
+ return false
+ }
+ // Support variations on the content-type
+ // (e.g. "application/grpc+blah", "application/grpc;blah").
+ if len(t) > len(e) && t[len(e)] != '+' && t[len(e)] != ';' {
+ return false
+ }
+ return true
+}
+
+func (d *decodeState) status() *status.Status {
+ if d.statusGen == nil {
+ // No status-details were provided; generate status using code/msg.
+ d.statusGen = status.New(codes.Code(int32(*(d.rawStatusCode))), d.rawStatusMsg)
+ }
+ return d.statusGen
+}
+
+const binHdrSuffix = "-bin"
+
+func encodeBinHeader(v []byte) string {
+ return base64.RawStdEncoding.EncodeToString(v)
+}
+
+func decodeBinHeader(v string) ([]byte, error) {
+ if len(v)%4 == 0 {
+ // Input was padded, or padding was not necessary.
+ return base64.StdEncoding.DecodeString(v)
+ }
+ return base64.RawStdEncoding.DecodeString(v)
+}
+
+func encodeMetadataHeader(k, v string) string {
+ if strings.HasSuffix(k, binHdrSuffix) {
+ return encodeBinHeader(([]byte)(v))
+ }
+ return v
+}
+
+func decodeMetadataHeader(k, v string) (string, error) {
+ if strings.HasSuffix(k, binHdrSuffix) {
+ b, err := decodeBinHeader(v)
+ return string(b), err
+ }
+ return v, nil
+}
+
+func (d *decodeState) decodeResponseHeader(frame *http2.MetaHeadersFrame) error {
+ for _, hf := range frame.Fields {
+ if err := d.processHeaderField(hf); err != nil {
+ return err
+ }
+ }
+
+ // If grpc status exists, no need to check further.
+ if d.rawStatusCode != nil || d.statusGen != nil {
+ return nil
+ }
+
+ // If grpc status doesn't exist and http status doesn't exist,
+ // then it's a malformed header.
+ if d.httpStatus == nil {
+ return streamErrorf(codes.Internal, "malformed header: doesn't contain status(gRPC or HTTP)")
+ }
+
+ if *(d.httpStatus) != http.StatusOK {
+ code, ok := httpStatusConvTab[*(d.httpStatus)]
+ if !ok {
+ code = codes.Unknown
+ }
+ return streamErrorf(code, http.StatusText(*(d.httpStatus)))
+ }
+
+ // gRPC status doesn't exist and http status is OK.
+ // Set rawStatusCode to be unknown and return nil error.
+ // So that, if the stream has ended this Unknown status
+ // will be propogated to the user.
+ // Otherwise, it will be ignored. In which case, status from
+ // a later trailer, that has StreamEnded flag set, is propogated.
+ code := int(codes.Unknown)
+ d.rawStatusCode = &code
+ return nil
+
+}
+
+func (d *decodeState) addMetadata(k, v string) {
+ if d.mdata == nil {
+ d.mdata = make(map[string][]string)
+ }
+ d.mdata[k] = append(d.mdata[k], v)
+}
+
+func (d *decodeState) processHeaderField(f hpack.HeaderField) error {
+ switch f.Name {
+ case "content-type":
+ if !validContentType(f.Value) {
+ return streamErrorf(codes.FailedPrecondition, "transport: received the unexpected content-type %q", f.Value)
+ }
+ case "grpc-encoding":
+ d.encoding = f.Value
+ case "grpc-status":
+ code, err := strconv.Atoi(f.Value)
+ if err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed grpc-status: %v", err)
+ }
+ d.rawStatusCode = &code
+ case "grpc-message":
+ d.rawStatusMsg = decodeGrpcMessage(f.Value)
+ case "grpc-status-details-bin":
+ v, err := decodeBinHeader(f.Value)
+ if err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed grpc-status-details-bin: %v", err)
+ }
+ s := &spb.Status{}
+ if err := proto.Unmarshal(v, s); err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed grpc-status-details-bin: %v", err)
+ }
+ d.statusGen = status.FromProto(s)
+ case "grpc-timeout":
+ d.timeoutSet = true
+ var err error
+ if d.timeout, err = decodeTimeout(f.Value); err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed time-out: %v", err)
+ }
+ case ":path":
+ d.method = f.Value
+ case ":status":
+ code, err := strconv.Atoi(f.Value)
+ if err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed http-status: %v", err)
+ }
+ d.httpStatus = &code
+ case "grpc-tags-bin":
+ v, err := decodeBinHeader(f.Value)
+ if err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed grpc-tags-bin: %v", err)
+ }
+ d.statsTags = v
+ d.addMetadata(f.Name, string(v))
+ case "grpc-trace-bin":
+ v, err := decodeBinHeader(f.Value)
+ if err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed grpc-trace-bin: %v", err)
+ }
+ d.statsTrace = v
+ d.addMetadata(f.Name, string(v))
+ default:
+ if isReservedHeader(f.Name) && !isWhitelistedPseudoHeader(f.Name) {
+ break
+ }
+ v, err := decodeMetadataHeader(f.Name, f.Value)
+ if err != nil {
+ errorf("Failed to decode metadata header (%q, %q): %v", f.Name, f.Value, err)
+ return nil
+ }
+ d.addMetadata(f.Name, string(v))
+ }
+ return nil
+}
+
+type timeoutUnit uint8
+
+const (
+ hour timeoutUnit = 'H'
+ minute timeoutUnit = 'M'
+ second timeoutUnit = 'S'
+ millisecond timeoutUnit = 'm'
+ microsecond timeoutUnit = 'u'
+ nanosecond timeoutUnit = 'n'
+)
+
+func timeoutUnitToDuration(u timeoutUnit) (d time.Duration, ok bool) {
+ switch u {
+ case hour:
+ return time.Hour, true
+ case minute:
+ return time.Minute, true
+ case second:
+ return time.Second, true
+ case millisecond:
+ return time.Millisecond, true
+ case microsecond:
+ return time.Microsecond, true
+ case nanosecond:
+ return time.Nanosecond, true
+ default:
+ }
+ return
+}
+
+const maxTimeoutValue int64 = 100000000 - 1
+
+// div does integer division and round-up the result. Note that this is
+// equivalent to (d+r-1)/r but has less chance to overflow.
+func div(d, r time.Duration) int64 {
+ if m := d % r; m > 0 {
+ return int64(d/r + 1)
+ }
+ return int64(d / r)
+}
+
+// TODO(zhaoq): It is the simplistic and not bandwidth efficient. Improve it.
+func encodeTimeout(t time.Duration) string {
+ if t <= 0 {
+ return "0n"
+ }
+ if d := div(t, time.Nanosecond); d <= maxTimeoutValue {
+ return strconv.FormatInt(d, 10) + "n"
+ }
+ if d := div(t, time.Microsecond); d <= maxTimeoutValue {
+ return strconv.FormatInt(d, 10) + "u"
+ }
+ if d := div(t, time.Millisecond); d <= maxTimeoutValue {
+ return strconv.FormatInt(d, 10) + "m"
+ }
+ if d := div(t, time.Second); d <= maxTimeoutValue {
+ return strconv.FormatInt(d, 10) + "S"
+ }
+ if d := div(t, time.Minute); d <= maxTimeoutValue {
+ return strconv.FormatInt(d, 10) + "M"
+ }
+ // Note that maxTimeoutValue * time.Hour > MaxInt64.
+ return strconv.FormatInt(div(t, time.Hour), 10) + "H"
+}
+
+func decodeTimeout(s string) (time.Duration, error) {
+ size := len(s)
+ if size < 2 {
+ return 0, fmt.Errorf("transport: timeout string is too short: %q", s)
+ }
+ unit := timeoutUnit(s[size-1])
+ d, ok := timeoutUnitToDuration(unit)
+ if !ok {
+ return 0, fmt.Errorf("transport: timeout unit is not recognized: %q", s)
+ }
+ t, err := strconv.ParseInt(s[:size-1], 10, 64)
+ if err != nil {
+ return 0, err
+ }
+ return d * time.Duration(t), nil
+}
+
+const (
+ spaceByte = ' '
+ tildaByte = '~'
+ percentByte = '%'
+)
+
+// encodeGrpcMessage is used to encode status code in header field
+// "grpc-message".
+// It checks to see if each individual byte in msg is an
+// allowable byte, and then either percent encoding or passing it through.
+// When percent encoding, the byte is converted into hexadecimal notation
+// with a '%' prepended.
+func encodeGrpcMessage(msg string) string {
+ if msg == "" {
+ return ""
+ }
+ lenMsg := len(msg)
+ for i := 0; i < lenMsg; i++ {
+ c := msg[i]
+ if !(c >= spaceByte && c < tildaByte && c != percentByte) {
+ return encodeGrpcMessageUnchecked(msg)
+ }
+ }
+ return msg
+}
+
+func encodeGrpcMessageUnchecked(msg string) string {
+ var buf bytes.Buffer
+ lenMsg := len(msg)
+ for i := 0; i < lenMsg; i++ {
+ c := msg[i]
+ if c >= spaceByte && c < tildaByte && c != percentByte {
+ buf.WriteByte(c)
+ } else {
+ buf.WriteString(fmt.Sprintf("%%%02X", c))
+ }
+ }
+ return buf.String()
+}
+
+// decodeGrpcMessage decodes the msg encoded by encodeGrpcMessage.
+func decodeGrpcMessage(msg string) string {
+ if msg == "" {
+ return ""
+ }
+ lenMsg := len(msg)
+ for i := 0; i < lenMsg; i++ {
+ if msg[i] == percentByte && i+2 < lenMsg {
+ return decodeGrpcMessageUnchecked(msg)
+ }
+ }
+ return msg
+}
+
+func decodeGrpcMessageUnchecked(msg string) string {
+ var buf bytes.Buffer
+ lenMsg := len(msg)
+ for i := 0; i < lenMsg; i++ {
+ c := msg[i]
+ if c == percentByte && i+2 < lenMsg {
+ parsed, err := strconv.ParseUint(msg[i+1:i+3], 16, 8)
+ if err != nil {
+ buf.WriteByte(c)
+ } else {
+ buf.WriteByte(byte(parsed))
+ i += 2
+ }
+ } else {
+ buf.WriteByte(c)
+ }
+ }
+ return buf.String()
+}
+
+type framer struct {
+ numWriters int32
+ reader io.Reader
+ writer *bufio.Writer
+ fr *http2.Framer
+}
+
+func newFramer(conn net.Conn, writeBufferSize, readBufferSize int) *framer {
+ f := &framer{
+ reader: bufio.NewReaderSize(conn, readBufferSize),
+ writer: bufio.NewWriterSize(conn, writeBufferSize),
+ }
+ f.fr = http2.NewFramer(f.writer, f.reader)
+ // Opt-in to Frame reuse API on framer to reduce garbage.
+ // Frames aren't safe to read from after a subsequent call to ReadFrame.
+ f.fr.SetReuseFrames()
+ f.fr.ReadMetaHeaders = hpack.NewDecoder(http2InitHeaderTableSize, nil)
+ return f
+}
diff --git a/go/vendor/google.golang.org/grpc/transport/log.go b/go/vendor/google.golang.org/grpc/transport/log.go
new file mode 100644
index 0000000..ac8e358
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/transport/log.go
@@ -0,0 +1,50 @@
+/*
+ *
+ * Copyright 2017 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// This file contains wrappers for grpclog functions.
+// The transport package only logs to verbose level 2 by default.
+
+package transport
+
+import "google.golang.org/grpc/grpclog"
+
+const logLevel = 2
+
+func infof(format string, args ...interface{}) {
+ if grpclog.V(logLevel) {
+ grpclog.Infof(format, args...)
+ }
+}
+
+func warningf(format string, args ...interface{}) {
+ if grpclog.V(logLevel) {
+ grpclog.Warningf(format, args...)
+ }
+}
+
+func errorf(format string, args ...interface{}) {
+ if grpclog.V(logLevel) {
+ grpclog.Errorf(format, args...)
+ }
+}
+
+func fatalf(format string, args ...interface{}) {
+ if grpclog.V(logLevel) {
+ grpclog.Fatalf(format, args...)
+ }
+}
diff --git a/go/vendor/google.golang.org/grpc/transport/transport.go b/go/vendor/google.golang.org/grpc/transport/transport.go
new file mode 100644
index 0000000..2e7bcae
--- /dev/null
+++ b/go/vendor/google.golang.org/grpc/transport/transport.go
@@ -0,0 +1,757 @@
+/*
+ *
+ * Copyright 2014 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// Package transport defines and implements message oriented communication
+// channel to complete various transactions (e.g., an RPC). It is meant for
+// grpc-internal usage and is not intended to be imported directly by users.
+package transport // import "google.golang.org/grpc/transport"
+
+import (
+ "fmt"
+ "io"
+ "net"
+ "sync"
+
+ "golang.org/x/net/context"
+ "golang.org/x/net/http2"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/credentials"
+ "google.golang.org/grpc/keepalive"
+ "google.golang.org/grpc/metadata"
+ "google.golang.org/grpc/stats"
+ "google.golang.org/grpc/status"
+ "google.golang.org/grpc/tap"
+)
+
+// recvMsg represents the received msg from the transport. All transport
+// protocol specific info has been removed.
+type recvMsg struct {
+ data []byte
+ // nil: received some data
+ // io.EOF: stream is completed. data is nil.
+ // other non-nil error: transport failure. data is nil.
+ err error
+}
+
+// recvBuffer is an unbounded channel of recvMsg structs.
+// Note recvBuffer differs from controlBuffer only in that recvBuffer
+// holds a channel of only recvMsg structs instead of objects implementing "item" interface.
+// recvBuffer is written to much more often than
+// controlBuffer and using strict recvMsg structs helps avoid allocation in "recvBuffer.put"
+type recvBuffer struct {
+ c chan recvMsg
+ mu sync.Mutex
+ backlog []recvMsg
+}
+
+func newRecvBuffer() *recvBuffer {
+ b := &recvBuffer{
+ c: make(chan recvMsg, 1),
+ }
+ return b
+}
+
+func (b *recvBuffer) put(r recvMsg) {
+ b.mu.Lock()
+ if len(b.backlog) == 0 {
+ select {
+ case b.c <- r:
+ b.mu.Unlock()
+ return
+ default:
+ }
+ }
+ b.backlog = append(b.backlog, r)
+ b.mu.Unlock()
+}
+
+func (b *recvBuffer) load() {
+ b.mu.Lock()
+ if len(b.backlog) > 0 {
+ select {
+ case b.c <- b.backlog[0]:
+ b.backlog[0] = recvMsg{}
+ b.backlog = b.backlog[1:]
+ default:
+ }
+ }
+ b.mu.Unlock()
+}
+
+// get returns the channel that receives a recvMsg in the buffer.
+//
+// Upon receipt of a recvMsg, the caller should call load to send another
+// recvMsg onto the channel if there is any.
+func (b *recvBuffer) get() <-chan recvMsg {
+ return b.c
+}
+
+// recvBufferReader implements io.Reader interface to read the data from
+// recvBuffer.
+type recvBufferReader struct {
+ ctx context.Context
+ goAway chan struct{}
+ recv *recvBuffer
+ last []byte // Stores the remaining data in the previous calls.
+ err error
+}
+
+// Read reads the next len(p) bytes from last. If last is drained, it tries to
+// read additional data from recv. It blocks if there no additional data available
+// in recv. If Read returns any non-nil error, it will continue to return that error.
+func (r *recvBufferReader) Read(p []byte) (n int, err error) {
+ if r.err != nil {
+ return 0, r.err
+ }
+ n, r.err = r.read(p)
+ return n, r.err
+}
+
+func (r *recvBufferReader) read(p []byte) (n int, err error) {
+ if r.last != nil && len(r.last) > 0 {
+ // Read remaining data left in last call.
+ copied := copy(p, r.last)
+ r.last = r.last[copied:]
+ return copied, nil
+ }
+ select {
+ case <-r.ctx.Done():
+ return 0, ContextErr(r.ctx.Err())
+ case <-r.goAway:
+ return 0, errStreamDrain
+ case m := <-r.recv.get():
+ r.recv.load()
+ if m.err != nil {
+ return 0, m.err
+ }
+ copied := copy(p, m.data)
+ r.last = m.data[copied:]
+ return copied, nil
+ }
+}
+
+// All items in an out of a controlBuffer should be the same type.
+type item interface {
+ item()
+}
+
+// controlBuffer is an unbounded channel of item.
+type controlBuffer struct {
+ c chan item
+ mu sync.Mutex
+ backlog []item
+}
+
+func newControlBuffer() *controlBuffer {
+ b := &controlBuffer{
+ c: make(chan item, 1),
+ }
+ return b
+}
+
+func (b *controlBuffer) put(r item) {
+ b.mu.Lock()
+ if len(b.backlog) == 0 {
+ select {
+ case b.c <- r:
+ b.mu.Unlock()
+ return
+ default:
+ }
+ }
+ b.backlog = append(b.backlog, r)
+ b.mu.Unlock()
+}
+
+func (b *controlBuffer) load() {
+ b.mu.Lock()
+ if len(b.backlog) > 0 {
+ select {
+ case b.c <- b.backlog[0]:
+ b.backlog[0] = nil
+ b.backlog = b.backlog[1:]
+ default:
+ }
+ }
+ b.mu.Unlock()
+}
+
+// get returns the channel that receives an item in the buffer.
+//
+// Upon receipt of an item, the caller should call load to send another
+// item onto the channel if there is any.
+func (b *controlBuffer) get() <-chan item {
+ return b.c
+}
+
+type streamState uint8
+
+const (
+ streamActive streamState = iota
+ streamWriteDone // EndStream sent
+ streamReadDone // EndStream received
+ streamDone // the entire stream is finished.
+)
+
+// Stream represents an RPC in the transport layer.
+type Stream struct {
+ id uint32
+ st ServerTransport // nil for client side Stream
+ ctx context.Context // the associated context of the stream
+ cancel context.CancelFunc // always nil for client side Stream
+ done chan struct{} // closed when the final status arrives
+ goAway chan struct{} // closed when a GOAWAY control message is received
+ method string // the associated RPC method of the stream
+ recvCompress string
+ sendCompress string
+ buf *recvBuffer
+ trReader io.Reader
+ fc *inFlow
+ recvQuota uint32
+ waiters waiters
+
+ // Callback to state application's intentions to read data. This
+ // is used to adjust flow control, if needed.
+ requestRead func(int)
+
+ sendQuotaPool *quotaPool
+ headerChan chan struct{} // closed to indicate the end of header metadata.
+ headerDone bool // set when headerChan is closed. Used to avoid closing headerChan multiple times.
+ header metadata.MD // the received header metadata.
+ trailer metadata.MD // the key-value map of trailer metadata.
+
+ mu sync.RWMutex // guard the following
+ headerOk bool // becomes true from the first header is about to send
+ state streamState
+
+ status *status.Status // the status error received from the server
+
+ rstStream bool // indicates whether a RST_STREAM frame needs to be sent
+ rstError http2.ErrCode // the error that needs to be sent along with the RST_STREAM frame
+
+ bytesReceived bool // indicates whether any bytes have been received on this stream
+ unprocessed bool // set if the server sends a refused stream or GOAWAY including this stream
+}
+
+func (s *Stream) waitOnHeader() error {
+ if s.headerChan == nil {
+ // On the server headerChan is always nil since a stream originates
+ // only after having received headers.
+ return nil
+ }
+ wc := s.waiters
+ select {
+ case <-wc.ctx.Done():
+ return ContextErr(wc.ctx.Err())
+ case <-wc.goAway:
+ return errStreamDrain
+ case <-s.headerChan:
+ return nil
+ }
+}
+
+// RecvCompress returns the compression algorithm applied to the inbound
+// message. It is empty string if there is no compression applied.
+func (s *Stream) RecvCompress() string {
+ if err := s.waitOnHeader(); err != nil {
+ return ""
+ }
+ return s.recvCompress
+}
+
+// SetSendCompress sets the compression algorithm to the stream.
+func (s *Stream) SetSendCompress(str string) {
+ s.sendCompress = str
+}
+
+// Done returns a chanel which is closed when it receives the final status
+// from the server.
+func (s *Stream) Done() <-chan struct{} {
+ return s.done
+}
+
+// GoAway returns a channel which is closed when the server sent GoAways signal
+// before this stream was initiated.
+func (s *Stream) GoAway() <-chan struct{} {
+ return s.goAway
+}
+
+// Header acquires the key-value pairs of header metadata once it
+// is available. It blocks until i) the metadata is ready or ii) there is no
+// header metadata or iii) the stream is canceled/expired.
+func (s *Stream) Header() (metadata.MD, error) {
+ err := s.waitOnHeader()
+ // Even if the stream is closed, header is returned if available.
+ select {
+ case <-s.headerChan:
+ return s.header.Copy(), nil
+ default:
+ }
+ return nil, err
+}
+
+// Trailer returns the cached trailer metedata. Note that if it is not called
+// after the entire stream is done, it could return an empty MD. Client
+// side only.
+func (s *Stream) Trailer() metadata.MD {
+ s.mu.RLock()
+ c := s.trailer.Copy()
+ s.mu.RUnlock()
+ return c
+}
+
+// ServerTransport returns the underlying ServerTransport for the stream.
+// The client side stream always returns nil.
+func (s *Stream) ServerTransport() ServerTransport {
+ return s.st
+}
+
+// Context returns the context of the stream.
+func (s *Stream) Context() context.Context {
+ return s.ctx
+}
+
+// Method returns the method for the stream.
+func (s *Stream) Method() string {
+ return s.method
+}
+
+// Status returns the status received from the server.
+func (s *Stream) Status() *status.Status {
+ return s.status
+}
+
+// SetHeader sets the header metadata. This can be called multiple times.
+// Server side only.
+func (s *Stream) SetHeader(md metadata.MD) error {
+ s.mu.Lock()
+ if s.headerOk || s.state == streamDone {
+ s.mu.Unlock()
+ return ErrIllegalHeaderWrite
+ }
+ if md.Len() == 0 {
+ s.mu.Unlock()
+ return nil
+ }
+ s.header = metadata.Join(s.header, md)
+ s.mu.Unlock()
+ return nil
+}
+
+// SetTrailer sets the trailer metadata which will be sent with the RPC status
+// by the server. This can be called multiple times. Server side only.
+func (s *Stream) SetTrailer(md metadata.MD) error {
+ if md.Len() == 0 {
+ return nil
+ }
+ s.mu.Lock()
+ s.trailer = metadata.Join(s.trailer, md)
+ s.mu.Unlock()
+ return nil
+}
+
+func (s *Stream) write(m recvMsg) {
+ s.buf.put(m)
+}
+
+// Read reads all p bytes from the wire for this stream.
+func (s *Stream) Read(p []byte) (n int, err error) {
+ // Don't request a read if there was an error earlier
+ if er := s.trReader.(*transportReader).er; er != nil {
+ return 0, er
+ }
+ s.requestRead(len(p))
+ return io.ReadFull(s.trReader, p)
+}
+
+// tranportReader reads all the data available for this Stream from the transport and
+// passes them into the decoder, which converts them into a gRPC message stream.
+// The error is io.EOF when the stream is done or another non-nil error if
+// the stream broke.
+type transportReader struct {
+ reader io.Reader
+ // The handler to control the window update procedure for both this
+ // particular stream and the associated transport.
+ windowHandler func(int)
+ er error
+}
+
+func (t *transportReader) Read(p []byte) (n int, err error) {
+ n, err = t.reader.Read(p)
+ if err != nil {
+ t.er = err
+ return
+ }
+ t.windowHandler(n)
+ return
+}
+
+// finish sets the stream's state and status, and closes the done channel.
+// s.mu must be held by the caller. st must always be non-nil.
+func (s *Stream) finish(st *status.Status) {
+ s.status = st
+ s.state = streamDone
+ close(s.done)
+}
+
+// BytesReceived indicates whether any bytes have been received on this stream.
+func (s *Stream) BytesReceived() bool {
+ s.mu.Lock()
+ br := s.bytesReceived
+ s.mu.Unlock()
+ return br
+}
+
+// Unprocessed indicates whether the server did not process this stream --
+// i.e. it sent a refused stream or GOAWAY including this stream ID.
+func (s *Stream) Unprocessed() bool {
+ s.mu.Lock()
+ br := s.unprocessed
+ s.mu.Unlock()
+ return br
+}
+
+// GoString is implemented by Stream so context.String() won't
+// race when printing %#v.
+func (s *Stream) GoString() string {
+ return fmt.Sprintf("<stream: %p, %v>", s, s.method)
+}
+
+// The key to save transport.Stream in the context.
+type streamKey struct{}
+
+// newContextWithStream creates a new context from ctx and attaches stream
+// to it.
+func newContextWithStream(ctx context.Context, stream *Stream) context.Context {
+ return context.WithValue(ctx, streamKey{}, stream)
+}
+
+// StreamFromContext returns the stream saved in ctx.
+func StreamFromContext(ctx context.Context) (s *Stream, ok bool) {
+ s, ok = ctx.Value(streamKey{}).(*Stream)
+ return
+}
+
+// state of transport
+type transportState int
+
+const (
+ reachable transportState = iota
+ closing
+ draining
+)
+
+// ServerConfig consists of all the configurations to establish a server transport.
+type ServerConfig struct {
+ MaxStreams uint32
+ AuthInfo credentials.AuthInfo
+ InTapHandle tap.ServerInHandle
+ StatsHandler stats.Handler
+ KeepaliveParams keepalive.ServerParameters
+ KeepalivePolicy keepalive.EnforcementPolicy
+ InitialWindowSize int32
+ InitialConnWindowSize int32
+ WriteBufferSize int
+ ReadBufferSize int
+}
+
+// NewServerTransport creates a ServerTransport with conn or non-nil error
+// if it fails.
+func NewServerTransport(protocol string, conn net.Conn, config *ServerConfig) (ServerTransport, error) {
+ return newHTTP2Server(conn, config)
+}
+
+// ConnectOptions covers all relevant options for communicating with the server.
+type ConnectOptions struct {
+ // UserAgent is the application user agent.
+ UserAgent string
+ // Authority is the :authority pseudo-header to use. This field has no effect if
+ // TransportCredentials is set.
+ Authority string
+ // Dialer specifies how to dial a network address.
+ Dialer func(context.Context, string) (net.Conn, error)
+ // FailOnNonTempDialError specifies if gRPC fails on non-temporary dial errors.
+ FailOnNonTempDialError bool
+ // PerRPCCredentials stores the PerRPCCredentials required to issue RPCs.
+ PerRPCCredentials []credentials.PerRPCCredentials
+ // TransportCredentials stores the Authenticator required to setup a client connection.
+ TransportCredentials credentials.TransportCredentials
+ // KeepaliveParams stores the keepalive parameters.
+ KeepaliveParams keepalive.ClientParameters
+ // StatsHandler stores the handler for stats.
+ StatsHandler stats.Handler
+ // InitialWindowSize sets the initial window size for a stream.
+ InitialWindowSize int32
+ // InitialConnWindowSize sets the initial window size for a connection.
+ InitialConnWindowSize int32
+ // WriteBufferSize sets the size of write buffer which in turn determines how much data can be batched before it's written on the wire.
+ WriteBufferSize int
+ // ReadBufferSize sets the size of read buffer, which in turn determines how much data can be read at most for one read syscall.
+ ReadBufferSize int
+}
+
+// TargetInfo contains the information of the target such as network address and metadata.
+type TargetInfo struct {
+ Addr string
+ Metadata interface{}
+ Authority string
+}
+
+// NewClientTransport establishes the transport with the required ConnectOptions
+// and returns it to the caller.
+func NewClientTransport(connectCtx, ctx context.Context, target TargetInfo, opts ConnectOptions, onSuccess func()) (ClientTransport, error) {
+ return newHTTP2Client(connectCtx, ctx, target, opts, onSuccess)
+}
+
+// Options provides additional hints and information for message
+// transmission.
+type Options struct {
+ // Last indicates whether this write is the last piece for
+ // this stream.
+ Last bool
+
+ // Delay is a hint to the transport implementation for whether
+ // the data could be buffered for a batching write. The
+ // transport implementation may ignore the hint.
+ Delay bool
+}
+
+// CallHdr carries the information of a particular RPC.
+type CallHdr struct {
+ // Host specifies the peer's host.
+ Host string
+
+ // Method specifies the operation to perform.
+ Method string
+
+ // SendCompress specifies the compression algorithm applied on
+ // outbound message.
+ SendCompress string
+
+ // Creds specifies credentials.PerRPCCredentials for a call.
+ Creds credentials.PerRPCCredentials
+
+ // Flush indicates whether a new stream command should be sent
+ // to the peer without waiting for the first data. This is
+ // only a hint.
+ // If it's true, the transport may modify the flush decision
+ // for performance purposes.
+ // If it's false, new stream will never be flushed.
+ Flush bool
+}
+
+// ClientTransport is the common interface for all gRPC client-side transport
+// implementations.
+type ClientTransport interface {
+ // Close tears down this transport. Once it returns, the transport
+ // should not be accessed any more. The caller must make sure this
+ // is called only once.
+ Close() error
+
+ // GracefulClose starts to tear down the transport. It stops accepting
+ // new RPCs and wait the completion of the pending RPCs.
+ GracefulClose() error
+
+ // Write sends the data for the given stream. A nil stream indicates
+ // the write is to be performed on the transport as a whole.
+ Write(s *Stream, hdr []byte, data []byte, opts *Options) error
+
+ // NewStream creates a Stream for an RPC.
+ NewStream(ctx context.Context, callHdr *CallHdr) (*Stream, error)
+
+ // CloseStream clears the footprint of a stream when the stream is
+ // not needed any more. The err indicates the error incurred when
+ // CloseStream is called. Must be called when a stream is finished
+ // unless the associated transport is closing.
+ CloseStream(stream *Stream, err error)
+
+ // Error returns a channel that is closed when some I/O error
+ // happens. Typically the caller should have a goroutine to monitor
+ // this in order to take action (e.g., close the current transport
+ // and create a new one) in error case. It should not return nil
+ // once the transport is initiated.
+ Error() <-chan struct{}
+
+ // GoAway returns a channel that is closed when ClientTransport
+ // receives the draining signal from the server (e.g., GOAWAY frame in
+ // HTTP/2).
+ GoAway() <-chan struct{}
+
+ // GetGoAwayReason returns the reason why GoAway frame was received.
+ GetGoAwayReason() GoAwayReason
+}
+
+// ServerTransport is the common interface for all gRPC server-side transport
+// implementations.
+//
+// Methods may be called concurrently from multiple goroutines, but
+// Write methods for a given Stream will be called serially.
+type ServerTransport interface {
+ // HandleStreams receives incoming streams using the given handler.
+ HandleStreams(func(*Stream), func(context.Context, string) context.Context)
+
+ // WriteHeader sends the header metadata for the given stream.
+ // WriteHeader may not be called on all streams.
+ WriteHeader(s *Stream, md metadata.MD) error
+
+ // Write sends the data for the given stream.
+ // Write may not be called on all streams.
+ Write(s *Stream, hdr []byte, data []byte, opts *Options) error
+
+ // WriteStatus sends the status of a stream to the client. WriteStatus is
+ // the final call made on a stream and always occurs.
+ WriteStatus(s *Stream, st *status.Status) error
+
+ // Close tears down the transport. Once it is called, the transport
+ // should not be accessed any more. All the pending streams and their
+ // handlers will be terminated asynchronously.
+ Close() error
+
+ // RemoteAddr returns the remote network address.
+ RemoteAddr() net.Addr
+
+ // Drain notifies the client this ServerTransport stops accepting new RPCs.
+ Drain()
+}
+
+// streamErrorf creates an StreamError with the specified error code and description.
+func streamErrorf(c codes.Code, format string, a ...interface{}) StreamError {
+ return StreamError{
+ Code: c,
+ Desc: fmt.Sprintf(format, a...),
+ }
+}
+
+// connectionErrorf creates an ConnectionError with the specified error description.
+func connectionErrorf(temp bool, e error, format string, a ...interface{}) ConnectionError {
+ return ConnectionError{
+ Desc: fmt.Sprintf(format, a...),
+ temp: temp,
+ err: e,
+ }
+}
+
+// ConnectionError is an error that results in the termination of the
+// entire connection and the retry of all the active streams.
+type ConnectionError struct {
+ Desc string
+ temp bool
+ err error
+}
+
+func (e ConnectionError) Error() string {
+ return fmt.Sprintf("connection error: desc = %q", e.Desc)
+}
+
+// Temporary indicates if this connection error is temporary or fatal.
+func (e ConnectionError) Temporary() bool {
+ return e.temp
+}
+
+// Origin returns the original error of this connection error.
+func (e ConnectionError) Origin() error {
+ // Never return nil error here.
+ // If the original error is nil, return itself.
+ if e.err == nil {
+ return e
+ }
+ return e.err
+}
+
+var (
+ // ErrConnClosing indicates that the transport is closing.
+ ErrConnClosing = connectionErrorf(true, nil, "transport is closing")
+ // errStreamDrain indicates that the stream is rejected by the server because
+ // the server stops accepting new RPCs.
+ // TODO: delete this error; it is no longer necessary.
+ errStreamDrain = streamErrorf(codes.Unavailable, "the server stops accepting new RPCs")
+ // StatusGoAway indicates that the server sent a GOAWAY that included this
+ // stream's ID in unprocessed RPCs.
+ statusGoAway = status.New(codes.Unavailable, "the server stopped accepting new RPCs")
+)
+
+// TODO: See if we can replace StreamError with status package errors.
+
+// StreamError is an error that only affects one stream within a connection.
+type StreamError struct {
+ Code codes.Code
+ Desc string
+}
+
+func (e StreamError) Error() string {
+ return fmt.Sprintf("stream error: code = %s desc = %q", e.Code, e.Desc)
+}
+
+// waiters are passed to quotaPool get methods to
+// wait on in addition to waiting on quota.
+type waiters struct {
+ ctx context.Context
+ tctx context.Context
+ done chan struct{}
+ goAway chan struct{}
+}
+
+// GoAwayReason contains the reason for the GoAway frame received.
+type GoAwayReason uint8
+
+const (
+ // GoAwayInvalid indicates that no GoAway frame is received.
+ GoAwayInvalid GoAwayReason = 0
+ // GoAwayNoReason is the default value when GoAway frame is received.
+ GoAwayNoReason GoAwayReason = 1
+ // GoAwayTooManyPings indicates that a GoAway frame with
+ // ErrCodeEnhanceYourCalm was received and that the debug data said
+ // "too_many_pings".
+ GoAwayTooManyPings GoAwayReason = 2
+)
+
+// loopyWriter is run in a separate go routine. It is the single code path that will
+// write data on wire.
+func loopyWriter(ctx context.Context, cbuf *controlBuffer, handler func(item) error) {
+ for {
+ select {
+ case i := <-cbuf.get():
+ cbuf.load()
+ if err := handler(i); err != nil {
+ errorf("transport: Error while handling item. Err: %v", err)
+ return
+ }
+ case <-ctx.Done():
+ return
+ }
+ hasData:
+ for {
+ select {
+ case i := <-cbuf.get():
+ cbuf.load()
+ if err := handler(i); err != nil {
+ errorf("transport: Error while handling item. Err: %v", err)
+ return
+ }
+ case <-ctx.Done():
+ return
+ default:
+ if err := handler(&flushIO{}); err != nil {
+ errorf("transport: Error while flushing. Err: %v", err)
+ return
+ }
+ break hasData
+ }
+ }
+ }
+}
diff --git a/go/vendor/vendor.json b/go/vendor/vendor.json
index b6f2099..55da737 100644
--- a/go/vendor/vendor.json
+++ b/go/vendor/vendor.json
@@ -75,18 +75,13 @@
"versionExact": "v1.0.5"
},
{
- "checksumSHA1": "kokC1RVLYim3udweBefX0QXHcRE=",
+ "checksumSHA1": "cGc0AOiqkNlSVMc2w/dIJfoWDdQ=",
"path": "gitlab.com/gitlab-org/gitaly-proto/go",
- "revision": "ca09ca1e2da6dc957644fa95990e8a3d032d6252",
- "revisionTime": "2018-11-28T10:00:28Z"
- },
- {
- "checksumSHA1": "K8ub2fUgYq2Sb3FbKPzGhv96UNo=",
- "path": "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb",
- "revision": "ca09ca1e2da6dc957644fa95990e8a3d032d6252",
- "revisionTime": "2018-11-28T10:00:28Z",
- "version": "v1.3.0",
- "versionExact": "v1.3.0"
+ "revision": "e3a5c0a6da1c62f406f6b74b281dad43f8b74ea5",
+ "revisionTime": "2018-08-02T15:59:47Z",
+ "tree": true,
+ "version": "v0.112.0",
+ "versionExact": "v0.112.0"
},
{
"checksumSHA1": "oUtVvP0F/NLt9fen+qUoOnfQHv0=",
@@ -97,7 +92,7 @@
"versionExact": "v1.7.0"
},
{
- "checksumSHA1": "0FMG4FMRxji6+9LSKgWT6snO1FM=",
+ "checksumSHA1": "CsPKG7r/N8ARlHtnHKimJiOnYiY=",
"path": "gitlab.com/gitlab-org/gitaly/client",
"revision": "52d67af596f75e82305f16ff0f27a9e0e77d57e1",
"revisionTime": "2018-12-06T13:13:53Z",