mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-22 22:30:23 +00:00
rebase: bump google.golang.org/grpc from 1.51.0 to 1.52.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.51.0 to 1.52.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.51.0...v1.52.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
parent
c69fd4ab63
commit
36fe1450f1
4
go.mod
4
go.mod
@ -30,7 +30,7 @@ require (
|
|||||||
golang.org/x/crypto v0.4.0
|
golang.org/x/crypto v0.4.0
|
||||||
golang.org/x/net v0.5.0
|
golang.org/x/net v0.5.0
|
||||||
golang.org/x/sys v0.4.0
|
golang.org/x/sys v0.4.0
|
||||||
google.golang.org/grpc v1.51.0
|
google.golang.org/grpc v1.52.0
|
||||||
google.golang.org/protobuf v1.28.1
|
google.golang.org/protobuf v1.28.1
|
||||||
k8s.io/api v0.26.0
|
k8s.io/api v0.26.0
|
||||||
k8s.io/apimachinery v0.26.0
|
k8s.io/apimachinery v0.26.0
|
||||||
@ -154,7 +154,7 @@ require (
|
|||||||
golang.org/x/time v0.2.0 // indirect
|
golang.org/x/time v0.2.0 // indirect
|
||||||
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
|
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
|
||||||
google.golang.org/appengine v1.6.7 // indirect
|
google.golang.org/appengine v1.6.7 // indirect
|
||||||
google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e // indirect
|
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 // indirect
|
||||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
gopkg.in/square/go-jose.v2 v2.5.1 // indirect
|
gopkg.in/square/go-jose.v2 v2.5.1 // indirect
|
||||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
|
8
go.sum
8
go.sum
@ -1582,8 +1582,8 @@ google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ6
|
|||||||
google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||||
google.golang.org/genproto v0.0.0-20220208230804-65c12eb4c068/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
|
google.golang.org/genproto v0.0.0-20220208230804-65c12eb4c068/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
|
||||||
google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
|
google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
|
||||||
google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e h1:S9GbmC1iCgvbLyAokVCwiO6tVIrU9Y7c5oMx1V/ki/Y=
|
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 h1:a2S6M0+660BgMNl++4JPlcAO/CjkqYItDEZwkoDQK7c=
|
||||||
google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s=
|
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
|
||||||
google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
|
google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
|
||||||
google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio=
|
google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio=
|
||||||
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
|
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
|
||||||
@ -1618,8 +1618,8 @@ google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9K
|
|||||||
google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
|
google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
|
||||||
google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
|
google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
|
||||||
google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
|
google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
|
||||||
google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U=
|
google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk=
|
||||||
google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
|
google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY=
|
||||||
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
|
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
|
||||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||||
|
@ -16,9 +16,9 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Package state declares grpclb types to be set by resolvers wishing to pass
|
// Package grpclbstate declares grpclb types to be set by resolvers wishing to
|
||||||
// information to grpclb via resolver.State Attributes.
|
// pass information to grpclb via resolver.State Attributes.
|
||||||
package state
|
package grpclbstate
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"google.golang.org/grpc/resolver"
|
"google.golang.org/grpc/resolver"
|
||||||
@ -27,7 +27,7 @@ import (
|
|||||||
// keyType is the key to use for storing State in Attributes.
|
// keyType is the key to use for storing State in Attributes.
|
||||||
type keyType string
|
type keyType string
|
||||||
|
|
||||||
const key = keyType("grpc.grpclb.state")
|
const key = keyType("grpc.grpclb.grpclbstate")
|
||||||
|
|
||||||
// State contains gRPCLB-relevant data passed from the name resolver.
|
// State contains gRPCLB-relevant data passed from the name resolver.
|
||||||
type State struct {
|
type State struct {
|
7
vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
generated
vendored
7
vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
generated
vendored
@ -18,14 +18,13 @@
|
|||||||
|
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.25.0
|
// protoc-gen-go v1.28.1
|
||||||
// protoc v3.14.0
|
// protoc v3.14.0
|
||||||
// source: grpc/binlog/v1/binarylog.proto
|
// source: grpc/binlog/v1/binarylog.proto
|
||||||
|
|
||||||
package grpc_binarylog_v1
|
package grpc_binarylog_v1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
proto "github.com/golang/protobuf/proto"
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
durationpb "google.golang.org/protobuf/types/known/durationpb"
|
durationpb "google.golang.org/protobuf/types/known/durationpb"
|
||||||
@ -41,10 +40,6 @@ const (
|
|||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
)
|
)
|
||||||
|
|
||||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
|
||||||
// of the legacy proto package is being used.
|
|
||||||
const _ = proto.ProtoPackageIsVersion4
|
|
||||||
|
|
||||||
// Enumerates the type of event
|
// Enumerates the type of event
|
||||||
// Note the terminology is different from the RPC semantics
|
// Note the terminology is different from the RPC semantics
|
||||||
// definition, but the same meaning is expressed here.
|
// definition, but the same meaning is expressed here.
|
||||||
|
9
vendor/google.golang.org/grpc/clientconn.go
generated
vendored
9
vendor/google.golang.org/grpc/clientconn.go
generated
vendored
@ -788,10 +788,16 @@ func (cc *ClientConn) incrCallsFailed() {
|
|||||||
func (ac *addrConn) connect() error {
|
func (ac *addrConn) connect() error {
|
||||||
ac.mu.Lock()
|
ac.mu.Lock()
|
||||||
if ac.state == connectivity.Shutdown {
|
if ac.state == connectivity.Shutdown {
|
||||||
|
if logger.V(2) {
|
||||||
|
logger.Infof("connect called on shutdown addrConn; ignoring.")
|
||||||
|
}
|
||||||
ac.mu.Unlock()
|
ac.mu.Unlock()
|
||||||
return errConnClosing
|
return errConnClosing
|
||||||
}
|
}
|
||||||
if ac.state != connectivity.Idle {
|
if ac.state != connectivity.Idle {
|
||||||
|
if logger.V(2) {
|
||||||
|
logger.Infof("connect called on addrConn in non-idle state (%v); ignoring.", ac.state)
|
||||||
|
}
|
||||||
ac.mu.Unlock()
|
ac.mu.Unlock()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -1268,6 +1274,9 @@ func (ac *addrConn) createTransport(addr resolver.Address, copts transport.Conne
|
|||||||
|
|
||||||
newTr, err := transport.NewClientTransport(connectCtx, ac.cc.ctx, addr, copts, onGoAway, onClose)
|
newTr, err := transport.NewClientTransport(connectCtx, ac.cc.ctx, addr, copts, onGoAway, onClose)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if logger.V(2) {
|
||||||
|
logger.Infof("Creating new client transport to %q: %v", addr, err)
|
||||||
|
}
|
||||||
// newTr is either nil, or closed.
|
// newTr is either nil, or closed.
|
||||||
hcancel()
|
hcancel()
|
||||||
channelz.Warningf(logger, ac.channelzID, "grpc: addrConn.createTransport failed to connect to %s. Err: %v", addr, err)
|
channelz.Warningf(logger, ac.channelzID, "grpc: addrConn.createTransport failed to connect to %s. Err: %v", addr, err)
|
||||||
|
10
vendor/google.golang.org/grpc/dialoptions.go
generated
vendored
10
vendor/google.golang.org/grpc/dialoptions.go
generated
vendored
@ -116,8 +116,9 @@ func newFuncDialOption(f func(*dialOptions)) *funcDialOption {
|
|||||||
// be twice the size to keep syscalls low. The default value for this buffer is
|
// be twice the size to keep syscalls low. The default value for this buffer is
|
||||||
// 32KB.
|
// 32KB.
|
||||||
//
|
//
|
||||||
// Zero will disable the write buffer such that each write will be on underlying
|
// Zero or negative values will disable the write buffer such that each write
|
||||||
// connection. Note: A Send call may not directly translate to a write.
|
// will be on underlying connection. Note: A Send call may not directly
|
||||||
|
// translate to a write.
|
||||||
func WithWriteBufferSize(s int) DialOption {
|
func WithWriteBufferSize(s int) DialOption {
|
||||||
return newFuncDialOption(func(o *dialOptions) {
|
return newFuncDialOption(func(o *dialOptions) {
|
||||||
o.copts.WriteBufferSize = s
|
o.copts.WriteBufferSize = s
|
||||||
@ -127,8 +128,9 @@ func WithWriteBufferSize(s int) DialOption {
|
|||||||
// WithReadBufferSize lets you set the size of read buffer, this determines how
|
// WithReadBufferSize lets you set the size of read buffer, this determines how
|
||||||
// much data can be read at most for each read syscall.
|
// much data can be read at most for each read syscall.
|
||||||
//
|
//
|
||||||
// The default value for this buffer is 32KB. Zero will disable read buffer for
|
// The default value for this buffer is 32KB. Zero or negative values will
|
||||||
// a connection so data framer can access the underlying conn directly.
|
// disable read buffer for a connection so data framer can access the
|
||||||
|
// underlying conn directly.
|
||||||
func WithReadBufferSize(s int) DialOption {
|
func WithReadBufferSize(s int) DialOption {
|
||||||
return newFuncDialOption(func(o *dialOptions) {
|
return newFuncDialOption(func(o *dialOptions) {
|
||||||
o.copts.ReadBufferSize = s
|
o.copts.ReadBufferSize = s
|
||||||
|
7
vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go
generated
vendored
7
vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go
generated
vendored
@ -17,14 +17,13 @@
|
|||||||
|
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.25.0
|
// protoc-gen-go v1.28.1
|
||||||
// protoc v3.14.0
|
// protoc v3.14.0
|
||||||
// source: grpc/health/v1/health.proto
|
// source: grpc/health/v1/health.proto
|
||||||
|
|
||||||
package grpc_health_v1
|
package grpc_health_v1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
proto "github.com/golang/protobuf/proto"
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
reflect "reflect"
|
reflect "reflect"
|
||||||
@ -38,10 +37,6 @@ const (
|
|||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
)
|
)
|
||||||
|
|
||||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
|
||||||
// of the legacy proto package is being used.
|
|
||||||
const _ = proto.ProtoPackageIsVersion4
|
|
||||||
|
|
||||||
type HealthCheckResponse_ServingStatus int32
|
type HealthCheckResponse_ServingStatus int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
2
vendor/google.golang.org/grpc/internal/binarylog/method_logger.go
generated
vendored
2
vendor/google.golang.org/grpc/internal/binarylog/method_logger.go
generated
vendored
@ -121,7 +121,7 @@ func (ml *TruncatingMethodLogger) truncateMetadata(mdPb *pb.Metadata) (truncated
|
|||||||
// but not counted towards the size limit.
|
// but not counted towards the size limit.
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
currentEntryLen := uint64(len(entry.Value))
|
currentEntryLen := uint64(len(entry.GetKey())) + uint64(len(entry.GetValue()))
|
||||||
if currentEntryLen > bytesLimit {
|
if currentEntryLen > bytesLimit {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
6
vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
generated
vendored
6
vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
generated
vendored
@ -32,7 +32,7 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
grpclbstate "google.golang.org/grpc/balancer/grpclb/state"
|
grpclbstate "google.golang.org/grpc/balancer/grpclb/grpclbstate"
|
||||||
"google.golang.org/grpc/grpclog"
|
"google.golang.org/grpc/grpclog"
|
||||||
"google.golang.org/grpc/internal/backoff"
|
"google.golang.org/grpc/internal/backoff"
|
||||||
"google.golang.org/grpc/internal/envconfig"
|
"google.golang.org/grpc/internal/envconfig"
|
||||||
@ -140,10 +140,10 @@ func (b *dnsBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts
|
|||||||
disableServiceConfig: opts.DisableServiceConfig,
|
disableServiceConfig: opts.DisableServiceConfig,
|
||||||
}
|
}
|
||||||
|
|
||||||
if target.Authority == "" {
|
if target.URL.Host == "" {
|
||||||
d.resolver = defaultResolver
|
d.resolver = defaultResolver
|
||||||
} else {
|
} else {
|
||||||
d.resolver, err = customAuthorityResolver(target.Authority)
|
d.resolver, err = customAuthorityResolver(target.URL.Host)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
9
vendor/google.golang.org/grpc/internal/resolver/passthrough/passthrough.go
generated
vendored
9
vendor/google.golang.org/grpc/internal/resolver/passthrough/passthrough.go
generated
vendored
@ -20,13 +20,20 @@
|
|||||||
// name without scheme back to gRPC as resolved address.
|
// name without scheme back to gRPC as resolved address.
|
||||||
package passthrough
|
package passthrough
|
||||||
|
|
||||||
import "google.golang.org/grpc/resolver"
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
"google.golang.org/grpc/resolver"
|
||||||
|
)
|
||||||
|
|
||||||
const scheme = "passthrough"
|
const scheme = "passthrough"
|
||||||
|
|
||||||
type passthroughBuilder struct{}
|
type passthroughBuilder struct{}
|
||||||
|
|
||||||
func (*passthroughBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOptions) (resolver.Resolver, error) {
|
func (*passthroughBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOptions) (resolver.Resolver, error) {
|
||||||
|
if target.Endpoint == "" && opts.Dialer == nil {
|
||||||
|
return nil, errors.New("passthrough: received empty target in Build()")
|
||||||
|
}
|
||||||
r := &passthroughResolver{
|
r := &passthroughResolver{
|
||||||
target: target,
|
target: target,
|
||||||
cc: cc,
|
cc: cc,
|
||||||
|
4
vendor/google.golang.org/grpc/internal/resolver/unix/unix.go
generated
vendored
4
vendor/google.golang.org/grpc/internal/resolver/unix/unix.go
generated
vendored
@ -34,8 +34,8 @@ type builder struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b *builder) Build(target resolver.Target, cc resolver.ClientConn, _ resolver.BuildOptions) (resolver.Resolver, error) {
|
func (b *builder) Build(target resolver.Target, cc resolver.ClientConn, _ resolver.BuildOptions) (resolver.Resolver, error) {
|
||||||
if target.Authority != "" {
|
if target.URL.Host != "" {
|
||||||
return nil, fmt.Errorf("invalid (non-empty) authority: %v", target.Authority)
|
return nil, fmt.Errorf("invalid (non-empty) authority: %v", target.URL.Host)
|
||||||
}
|
}
|
||||||
|
|
||||||
// gRPC was parsing the dial target manually before PR #4817, and we
|
// gRPC was parsing the dial target manually before PR #4817, and we
|
||||||
|
46
vendor/google.golang.org/grpc/internal/transport/controlbuf.go
generated
vendored
46
vendor/google.golang.org/grpc/internal/transport/controlbuf.go
generated
vendored
@ -191,7 +191,7 @@ type goAway struct {
|
|||||||
code http2.ErrCode
|
code http2.ErrCode
|
||||||
debugData []byte
|
debugData []byte
|
||||||
headsUp bool
|
headsUp bool
|
||||||
closeConn bool
|
closeConn error // if set, loopyWriter will exit, resulting in conn closure
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*goAway) isTransportResponseFrame() bool { return false }
|
func (*goAway) isTransportResponseFrame() bool { return false }
|
||||||
@ -209,6 +209,14 @@ type outFlowControlSizeRequest struct {
|
|||||||
|
|
||||||
func (*outFlowControlSizeRequest) isTransportResponseFrame() bool { return false }
|
func (*outFlowControlSizeRequest) isTransportResponseFrame() bool { return false }
|
||||||
|
|
||||||
|
// closeConnection is an instruction to tell the loopy writer to flush the
|
||||||
|
// framer and exit, which will cause the transport's connection to be closed
|
||||||
|
// (by the client or server). The transport itself will close after the reader
|
||||||
|
// encounters the EOF caused by the connection closure.
|
||||||
|
type closeConnection struct{}
|
||||||
|
|
||||||
|
func (closeConnection) isTransportResponseFrame() bool { return false }
|
||||||
|
|
||||||
type outStreamState int
|
type outStreamState int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -408,7 +416,7 @@ func (c *controlBuffer) get(block bool) (interface{}, error) {
|
|||||||
select {
|
select {
|
||||||
case <-c.ch:
|
case <-c.ch:
|
||||||
case <-c.done:
|
case <-c.done:
|
||||||
return nil, ErrConnClosing
|
return nil, errors.New("transport closed by client")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -519,18 +527,6 @@ const minBatchSize = 1000
|
|||||||
// As an optimization, to increase the batch size for each flush, loopy yields the processor, once
|
// As an optimization, to increase the batch size for each flush, loopy yields the processor, once
|
||||||
// if the batch size is too low to give stream goroutines a chance to fill it up.
|
// if the batch size is too low to give stream goroutines a chance to fill it up.
|
||||||
func (l *loopyWriter) run() (err error) {
|
func (l *loopyWriter) run() (err error) {
|
||||||
defer func() {
|
|
||||||
if err == ErrConnClosing {
|
|
||||||
// Don't log ErrConnClosing as error since it happens
|
|
||||||
// 1. When the connection is closed by some other known issue.
|
|
||||||
// 2. User closed the connection.
|
|
||||||
// 3. A graceful close of connection.
|
|
||||||
if logger.V(logLevel) {
|
|
||||||
logger.Infof("transport: loopyWriter.run returning. %v", err)
|
|
||||||
}
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
for {
|
for {
|
||||||
it, err := l.cbuf.get(true)
|
it, err := l.cbuf.get(true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -574,7 +570,6 @@ func (l *loopyWriter) run() (err error) {
|
|||||||
}
|
}
|
||||||
l.framer.writer.Flush()
|
l.framer.writer.Flush()
|
||||||
break hasdata
|
break hasdata
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -662,12 +657,11 @@ func (l *loopyWriter) headerHandler(h *headerFrame) error {
|
|||||||
func (l *loopyWriter) originateStream(str *outStream) error {
|
func (l *loopyWriter) originateStream(str *outStream) error {
|
||||||
hdr := str.itl.dequeue().(*headerFrame)
|
hdr := str.itl.dequeue().(*headerFrame)
|
||||||
if err := hdr.initStream(str.id); err != nil {
|
if err := hdr.initStream(str.id); err != nil {
|
||||||
if err == ErrConnClosing {
|
if err == errStreamDrain { // errStreamDrain need not close transport
|
||||||
return err
|
|
||||||
}
|
|
||||||
// Other errors(errStreamDrain) need not close transport.
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := l.writeHeader(str.id, hdr.endStream, hdr.hf, hdr.onWrite); err != nil {
|
if err := l.writeHeader(str.id, hdr.endStream, hdr.hf, hdr.onWrite); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -764,7 +758,7 @@ func (l *loopyWriter) cleanupStreamHandler(c *cleanupStream) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if l.side == clientSide && l.draining && len(l.estdStreams) == 0 {
|
if l.side == clientSide && l.draining && len(l.estdStreams) == 0 {
|
||||||
return ErrConnClosing
|
return errors.New("finished processing active streams while in draining mode")
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -799,7 +793,7 @@ func (l *loopyWriter) incomingGoAwayHandler(*incomingGoAway) error {
|
|||||||
if l.side == clientSide {
|
if l.side == clientSide {
|
||||||
l.draining = true
|
l.draining = true
|
||||||
if len(l.estdStreams) == 0 {
|
if len(l.estdStreams) == 0 {
|
||||||
return ErrConnClosing
|
return errors.New("received GOAWAY with no active streams")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
@ -817,6 +811,14 @@ func (l *loopyWriter) goAwayHandler(g *goAway) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (l *loopyWriter) closeConnectionHandler() error {
|
||||||
|
l.framer.writer.Flush()
|
||||||
|
// Exit loopyWriter entirely by returning an error here. This will lead to
|
||||||
|
// the transport closing the connection, and, ultimately, transport
|
||||||
|
// closure.
|
||||||
|
return ErrConnClosing
|
||||||
|
}
|
||||||
|
|
||||||
func (l *loopyWriter) handle(i interface{}) error {
|
func (l *loopyWriter) handle(i interface{}) error {
|
||||||
switch i := i.(type) {
|
switch i := i.(type) {
|
||||||
case *incomingWindowUpdate:
|
case *incomingWindowUpdate:
|
||||||
@ -845,6 +847,8 @@ func (l *loopyWriter) handle(i interface{}) error {
|
|||||||
return l.goAwayHandler(i)
|
return l.goAwayHandler(i)
|
||||||
case *outFlowControlSizeRequest:
|
case *outFlowControlSizeRequest:
|
||||||
return l.outFlowControlSizeRequestHandler(i)
|
return l.outFlowControlSizeRequestHandler(i)
|
||||||
|
case closeConnection:
|
||||||
|
return l.closeConnectionHandler()
|
||||||
default:
|
default:
|
||||||
return fmt.Errorf("transport: unknown control message type %T", i)
|
return fmt.Errorf("transport: unknown control message type %T", i)
|
||||||
}
|
}
|
||||||
|
45
vendor/google.golang.org/grpc/internal/transport/handler_server.go
generated
vendored
45
vendor/google.golang.org/grpc/internal/transport/handler_server.go
generated
vendored
@ -46,24 +46,32 @@ import (
|
|||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewServerHandlerTransport returns a ServerTransport handling gRPC
|
// NewServerHandlerTransport returns a ServerTransport handling gRPC from
|
||||||
// from inside an http.Handler. It requires that the http Server
|
// inside an http.Handler, or writes an HTTP error to w and returns an error.
|
||||||
// supports HTTP/2.
|
// It requires that the http Server supports HTTP/2.
|
||||||
func NewServerHandlerTransport(w http.ResponseWriter, r *http.Request, stats []stats.Handler) (ServerTransport, error) {
|
func NewServerHandlerTransport(w http.ResponseWriter, r *http.Request, stats []stats.Handler) (ServerTransport, error) {
|
||||||
if r.ProtoMajor != 2 {
|
if r.ProtoMajor != 2 {
|
||||||
return nil, errors.New("gRPC requires HTTP/2")
|
msg := "gRPC requires HTTP/2"
|
||||||
|
http.Error(w, msg, http.StatusBadRequest)
|
||||||
|
return nil, errors.New(msg)
|
||||||
}
|
}
|
||||||
if r.Method != "POST" {
|
if r.Method != "POST" {
|
||||||
return nil, errors.New("invalid gRPC request method")
|
msg := fmt.Sprintf("invalid gRPC request method %q", r.Method)
|
||||||
|
http.Error(w, msg, http.StatusBadRequest)
|
||||||
|
return nil, errors.New(msg)
|
||||||
}
|
}
|
||||||
contentType := r.Header.Get("Content-Type")
|
contentType := r.Header.Get("Content-Type")
|
||||||
// TODO: do we assume contentType is lowercase? we did before
|
// TODO: do we assume contentType is lowercase? we did before
|
||||||
contentSubtype, validContentType := grpcutil.ContentSubtype(contentType)
|
contentSubtype, validContentType := grpcutil.ContentSubtype(contentType)
|
||||||
if !validContentType {
|
if !validContentType {
|
||||||
return nil, errors.New("invalid gRPC request content-type")
|
msg := fmt.Sprintf("invalid gRPC request content-type %q", contentType)
|
||||||
|
http.Error(w, msg, http.StatusBadRequest)
|
||||||
|
return nil, errors.New(msg)
|
||||||
}
|
}
|
||||||
if _, ok := w.(http.Flusher); !ok {
|
if _, ok := w.(http.Flusher); !ok {
|
||||||
return nil, errors.New("gRPC requires a ResponseWriter supporting http.Flusher")
|
msg := "gRPC requires a ResponseWriter supporting http.Flusher"
|
||||||
|
http.Error(w, msg, http.StatusInternalServerError)
|
||||||
|
return nil, errors.New(msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
st := &serverHandlerTransport{
|
st := &serverHandlerTransport{
|
||||||
@ -79,7 +87,9 @@ func NewServerHandlerTransport(w http.ResponseWriter, r *http.Request, stats []s
|
|||||||
if v := r.Header.Get("grpc-timeout"); v != "" {
|
if v := r.Header.Get("grpc-timeout"); v != "" {
|
||||||
to, err := decodeTimeout(v)
|
to, err := decodeTimeout(v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, status.Errorf(codes.Internal, "malformed time-out: %v", err)
|
msg := fmt.Sprintf("malformed time-out: %v", err)
|
||||||
|
http.Error(w, msg, http.StatusBadRequest)
|
||||||
|
return nil, status.Error(codes.Internal, msg)
|
||||||
}
|
}
|
||||||
st.timeoutSet = true
|
st.timeoutSet = true
|
||||||
st.timeout = to
|
st.timeout = to
|
||||||
@ -97,7 +107,9 @@ func NewServerHandlerTransport(w http.ResponseWriter, r *http.Request, stats []s
|
|||||||
for _, v := range vv {
|
for _, v := range vv {
|
||||||
v, err := decodeMetadataHeader(k, v)
|
v, err := decodeMetadataHeader(k, v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, status.Errorf(codes.Internal, "malformed binary metadata: %v", err)
|
msg := fmt.Sprintf("malformed binary metadata %q in header %q: %v", v, k, err)
|
||||||
|
http.Error(w, msg, http.StatusBadRequest)
|
||||||
|
return nil, status.Error(codes.Internal, msg)
|
||||||
}
|
}
|
||||||
metakv = append(metakv, k, v)
|
metakv = append(metakv, k, v)
|
||||||
}
|
}
|
||||||
@ -141,12 +153,15 @@ type serverHandlerTransport struct {
|
|||||||
stats []stats.Handler
|
stats []stats.Handler
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ht *serverHandlerTransport) Close() {
|
func (ht *serverHandlerTransport) Close(err error) {
|
||||||
ht.closeOnce.Do(ht.closeCloseChanOnce)
|
ht.closeOnce.Do(func() {
|
||||||
|
if logger.V(logLevel) {
|
||||||
|
logger.Infof("Closing serverHandlerTransport: %v", err)
|
||||||
|
}
|
||||||
|
close(ht.closedCh)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ht *serverHandlerTransport) closeCloseChanOnce() { close(ht.closedCh) }
|
|
||||||
|
|
||||||
func (ht *serverHandlerTransport) RemoteAddr() net.Addr { return strAddr(ht.req.RemoteAddr) }
|
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
|
// strAddr is a net.Addr backed by either a TCP "ip:port" string, or
|
||||||
@ -236,7 +251,7 @@ func (ht *serverHandlerTransport) WriteStatus(s *Stream, st *status.Status) erro
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ht.Close()
|
ht.Close(errors.New("finished writing status"))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -346,7 +361,7 @@ func (ht *serverHandlerTransport) HandleStreams(startStream func(*Stream), trace
|
|||||||
case <-ht.req.Context().Done():
|
case <-ht.req.Context().Done():
|
||||||
}
|
}
|
||||||
cancel()
|
cancel()
|
||||||
ht.Close()
|
ht.Close(errors.New("request is done processing"))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
req := ht.req
|
req := ht.req
|
||||||
|
34
vendor/google.golang.org/grpc/internal/transport/http2_client.go
generated
vendored
34
vendor/google.golang.org/grpc/internal/transport/http2_client.go
generated
vendored
@ -64,6 +64,10 @@ type http2Client struct {
|
|||||||
cancel context.CancelFunc
|
cancel context.CancelFunc
|
||||||
ctxDone <-chan struct{} // Cache the ctx.Done() chan.
|
ctxDone <-chan struct{} // Cache the ctx.Done() chan.
|
||||||
userAgent string
|
userAgent string
|
||||||
|
// address contains the resolver returned address for this transport.
|
||||||
|
// If the `ServerName` field is set, it takes precedence over `CallHdr.Host`
|
||||||
|
// passed to `NewStream`, when determining the :authority header.
|
||||||
|
address resolver.Address
|
||||||
md metadata.MD
|
md metadata.MD
|
||||||
conn net.Conn // underlying communication channel
|
conn net.Conn // underlying communication channel
|
||||||
loopy *loopyWriter
|
loopy *loopyWriter
|
||||||
@ -238,8 +242,11 @@ func newHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
|
|||||||
go func(conn net.Conn) {
|
go func(conn net.Conn) {
|
||||||
defer ctxMonitorDone.Fire() // Signal this goroutine has exited.
|
defer ctxMonitorDone.Fire() // Signal this goroutine has exited.
|
||||||
<-newClientCtx.Done() // Block until connectCtx expires or the defer above executes.
|
<-newClientCtx.Done() // Block until connectCtx expires or the defer above executes.
|
||||||
if connectCtx.Err() != nil {
|
if err := connectCtx.Err(); err != nil {
|
||||||
// connectCtx expired before exiting the function. Hard close the connection.
|
// connectCtx expired before exiting the function. Hard close the connection.
|
||||||
|
if logger.V(logLevel) {
|
||||||
|
logger.Infof("newClientTransport: aborting due to connectCtx: %v", err)
|
||||||
|
}
|
||||||
conn.Close()
|
conn.Close()
|
||||||
}
|
}
|
||||||
}(conn)
|
}(conn)
|
||||||
@ -314,6 +321,7 @@ func newHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
|
|||||||
cancel: cancel,
|
cancel: cancel,
|
||||||
userAgent: opts.UserAgent,
|
userAgent: opts.UserAgent,
|
||||||
registeredCompressors: grpcutil.RegisteredCompressors(),
|
registeredCompressors: grpcutil.RegisteredCompressors(),
|
||||||
|
address: addr,
|
||||||
conn: conn,
|
conn: conn,
|
||||||
remoteAddr: conn.RemoteAddr(),
|
remoteAddr: conn.RemoteAddr(),
|
||||||
localAddr: conn.LocalAddr(),
|
localAddr: conn.LocalAddr(),
|
||||||
@ -440,10 +448,8 @@ func newHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
|
|||||||
go func() {
|
go func() {
|
||||||
t.loopy = newLoopyWriter(clientSide, t.framer, t.controlBuf, t.bdpEst)
|
t.loopy = newLoopyWriter(clientSide, t.framer, t.controlBuf, t.bdpEst)
|
||||||
err := t.loopy.run()
|
err := t.loopy.run()
|
||||||
if err != nil {
|
|
||||||
if logger.V(logLevel) {
|
if logger.V(logLevel) {
|
||||||
logger.Errorf("transport: loopyWriter.run returning. Err: %v", err)
|
logger.Infof("transport: loopyWriter exited. Closing connection. Err: %v", err)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// Do not close the transport. Let reader goroutine handle it since
|
// Do not close the transport. Let reader goroutine handle it since
|
||||||
// there might be data in the buffers.
|
// there might be data in the buffers.
|
||||||
@ -702,6 +708,18 @@ func (e NewStreamError) Error() string {
|
|||||||
// streams. All non-nil errors returned will be *NewStreamError.
|
// streams. All non-nil errors returned will be *NewStreamError.
|
||||||
func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (*Stream, error) {
|
func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (*Stream, error) {
|
||||||
ctx = peer.NewContext(ctx, t.getPeer())
|
ctx = peer.NewContext(ctx, t.getPeer())
|
||||||
|
|
||||||
|
// ServerName field of the resolver returned address takes precedence over
|
||||||
|
// Host field of CallHdr to determine the :authority header. This is because,
|
||||||
|
// the ServerName field takes precedence for server authentication during
|
||||||
|
// TLS handshake, and the :authority header should match the value used
|
||||||
|
// for server authentication.
|
||||||
|
if t.address.ServerName != "" {
|
||||||
|
newCallHdr := *callHdr
|
||||||
|
newCallHdr.Host = t.address.ServerName
|
||||||
|
callHdr = &newCallHdr
|
||||||
|
}
|
||||||
|
|
||||||
headerFields, err := t.createHeaderFields(ctx, callHdr)
|
headerFields, err := t.createHeaderFields(ctx, callHdr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &NewStreamError{Err: err, AllowTransparentRetry: false}
|
return nil, &NewStreamError{Err: err, AllowTransparentRetry: false}
|
||||||
@ -934,6 +952,9 @@ func (t *http2Client) Close(err error) {
|
|||||||
t.mu.Unlock()
|
t.mu.Unlock()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if logger.V(logLevel) {
|
||||||
|
logger.Infof("transport: closing: %v", err)
|
||||||
|
}
|
||||||
// Call t.onClose ASAP to prevent the client from attempting to create new
|
// Call t.onClose ASAP to prevent the client from attempting to create new
|
||||||
// streams.
|
// streams.
|
||||||
t.onClose()
|
t.onClose()
|
||||||
@ -986,11 +1007,14 @@ func (t *http2Client) GracefulClose() {
|
|||||||
t.mu.Unlock()
|
t.mu.Unlock()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if logger.V(logLevel) {
|
||||||
|
logger.Infof("transport: GracefulClose called")
|
||||||
|
}
|
||||||
t.state = draining
|
t.state = draining
|
||||||
active := len(t.activeStreams)
|
active := len(t.activeStreams)
|
||||||
t.mu.Unlock()
|
t.mu.Unlock()
|
||||||
if active == 0 {
|
if active == 0 {
|
||||||
t.Close(ErrConnClosing)
|
t.Close(connectionErrorf(true, nil, "no active streams left to process while draining"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
t.controlBuf.put(&incomingGoAway{})
|
t.controlBuf.put(&incomingGoAway{})
|
||||||
|
94
vendor/google.golang.org/grpc/internal/transport/http2_server.go
generated
vendored
94
vendor/google.golang.org/grpc/internal/transport/http2_server.go
generated
vendored
@ -21,6 +21,7 @@ package transport
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"math"
|
"math"
|
||||||
@ -41,6 +42,7 @@ import (
|
|||||||
"google.golang.org/grpc/credentials"
|
"google.golang.org/grpc/credentials"
|
||||||
"google.golang.org/grpc/internal/channelz"
|
"google.golang.org/grpc/internal/channelz"
|
||||||
"google.golang.org/grpc/internal/grpcrand"
|
"google.golang.org/grpc/internal/grpcrand"
|
||||||
|
"google.golang.org/grpc/internal/grpcsync"
|
||||||
"google.golang.org/grpc/keepalive"
|
"google.golang.org/grpc/keepalive"
|
||||||
"google.golang.org/grpc/metadata"
|
"google.golang.org/grpc/metadata"
|
||||||
"google.golang.org/grpc/peer"
|
"google.golang.org/grpc/peer"
|
||||||
@ -101,13 +103,13 @@ type http2Server struct {
|
|||||||
|
|
||||||
mu sync.Mutex // guard the following
|
mu sync.Mutex // guard the following
|
||||||
|
|
||||||
// drainChan is initialized when Drain() is called the first time.
|
// drainEvent is initialized when Drain() is called the first time. After
|
||||||
// After which the server writes out the first GoAway(with ID 2^31-1) frame.
|
// which the server writes out the first GoAway(with ID 2^31-1) frame. Then
|
||||||
// Then an independent goroutine will be launched to later send the second GoAway.
|
// an independent goroutine will be launched to later send the second
|
||||||
// During this time we don't want to write another first GoAway(with ID 2^31 -1) frame.
|
// GoAway. During this time we don't want to write another first GoAway(with
|
||||||
// Thus call to Drain() will be a no-op if drainChan is already initialized since draining is
|
// ID 2^31 -1) frame. Thus call to Drain() will be a no-op if drainEvent is
|
||||||
// already underway.
|
// already initialized since draining is already underway.
|
||||||
drainChan chan struct{}
|
drainEvent *grpcsync.Event
|
||||||
state transportState
|
state transportState
|
||||||
activeStreams map[uint32]*Stream
|
activeStreams map[uint32]*Stream
|
||||||
// idle is the time instant when the connection went idle.
|
// idle is the time instant when the connection went idle.
|
||||||
@ -293,7 +295,7 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
|
|||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Close()
|
t.Close(err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
@ -331,10 +333,9 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
|
|||||||
go func() {
|
go func() {
|
||||||
t.loopy = newLoopyWriter(serverSide, t.framer, t.controlBuf, t.bdpEst)
|
t.loopy = newLoopyWriter(serverSide, t.framer, t.controlBuf, t.bdpEst)
|
||||||
t.loopy.ssGoAwayHandler = t.outgoingGoAwayHandler
|
t.loopy.ssGoAwayHandler = t.outgoingGoAwayHandler
|
||||||
if err := t.loopy.run(); err != nil {
|
err := t.loopy.run()
|
||||||
if logger.V(logLevel) {
|
if logger.V(logLevel) {
|
||||||
logger.Errorf("transport: loopyWriter.run returning. Err: %v", err)
|
logger.Infof("transport: loopyWriter exited. Closing connection. Err: %v", err)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
t.conn.Close()
|
t.conn.Close()
|
||||||
t.controlBuf.finish()
|
t.controlBuf.finish()
|
||||||
@ -344,8 +345,9 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
|
|||||||
return t, nil
|
return t, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// operateHeader takes action on the decoded headers.
|
// operateHeaders takes action on the decoded headers. Returns an error if fatal
|
||||||
func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(*Stream), traceCtx func(context.Context, string) context.Context) (fatal bool) {
|
// error encountered and transport needs to close, otherwise returns nil.
|
||||||
|
func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(*Stream), traceCtx func(context.Context, string) context.Context) error {
|
||||||
// Acquire max stream ID lock for entire duration
|
// Acquire max stream ID lock for entire duration
|
||||||
t.maxStreamMu.Lock()
|
t.maxStreamMu.Lock()
|
||||||
defer t.maxStreamMu.Unlock()
|
defer t.maxStreamMu.Unlock()
|
||||||
@ -361,15 +363,12 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
|||||||
rstCode: http2.ErrCodeFrameSize,
|
rstCode: http2.ErrCodeFrameSize,
|
||||||
onWrite: func() {},
|
onWrite: func() {},
|
||||||
})
|
})
|
||||||
return false
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if streamID%2 != 1 || streamID <= t.maxStreamID {
|
if streamID%2 != 1 || streamID <= t.maxStreamID {
|
||||||
// illegal gRPC stream id.
|
// illegal gRPC stream id.
|
||||||
if logger.V(logLevel) {
|
return fmt.Errorf("received an illegal stream id: %v. headers frame: %+v", streamID, frame)
|
||||||
logger.Errorf("transport: http2Server.HandleStreams received an illegal stream id: %v", streamID)
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
t.maxStreamID = streamID
|
t.maxStreamID = streamID
|
||||||
|
|
||||||
@ -453,7 +452,7 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
|||||||
status: status.New(codes.Internal, errMsg),
|
status: status.New(codes.Internal, errMsg),
|
||||||
rst: !frame.StreamEnded(),
|
rst: !frame.StreamEnded(),
|
||||||
})
|
})
|
||||||
return false
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if !isGRPC || headerError {
|
if !isGRPC || headerError {
|
||||||
@ -463,7 +462,7 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
|||||||
rstCode: http2.ErrCodeProtocol,
|
rstCode: http2.ErrCodeProtocol,
|
||||||
onWrite: func() {},
|
onWrite: func() {},
|
||||||
})
|
})
|
||||||
return false
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// "If :authority is missing, Host must be renamed to :authority." - A41
|
// "If :authority is missing, Host must be renamed to :authority." - A41
|
||||||
@ -503,7 +502,7 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
|||||||
if t.state != reachable {
|
if t.state != reachable {
|
||||||
t.mu.Unlock()
|
t.mu.Unlock()
|
||||||
s.cancel()
|
s.cancel()
|
||||||
return false
|
return nil
|
||||||
}
|
}
|
||||||
if uint32(len(t.activeStreams)) >= t.maxStreams {
|
if uint32(len(t.activeStreams)) >= t.maxStreams {
|
||||||
t.mu.Unlock()
|
t.mu.Unlock()
|
||||||
@ -514,7 +513,7 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
|||||||
onWrite: func() {},
|
onWrite: func() {},
|
||||||
})
|
})
|
||||||
s.cancel()
|
s.cancel()
|
||||||
return false
|
return nil
|
||||||
}
|
}
|
||||||
if httpMethod != http.MethodPost {
|
if httpMethod != http.MethodPost {
|
||||||
t.mu.Unlock()
|
t.mu.Unlock()
|
||||||
@ -530,7 +529,7 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
|||||||
rst: !frame.StreamEnded(),
|
rst: !frame.StreamEnded(),
|
||||||
})
|
})
|
||||||
s.cancel()
|
s.cancel()
|
||||||
return false
|
return nil
|
||||||
}
|
}
|
||||||
if t.inTapHandle != nil {
|
if t.inTapHandle != nil {
|
||||||
var err error
|
var err error
|
||||||
@ -550,7 +549,7 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
|||||||
status: stat,
|
status: stat,
|
||||||
rst: !frame.StreamEnded(),
|
rst: !frame.StreamEnded(),
|
||||||
})
|
})
|
||||||
return false
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
t.activeStreams[streamID] = s
|
t.activeStreams[streamID] = s
|
||||||
@ -597,7 +596,7 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
|||||||
wq: s.wq,
|
wq: s.wq,
|
||||||
})
|
})
|
||||||
handle(s)
|
handle(s)
|
||||||
return false
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// HandleStreams receives incoming streams using the given handler. This is
|
// HandleStreams receives incoming streams using the given handler. This is
|
||||||
@ -630,19 +629,16 @@ func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if err == io.EOF || err == io.ErrUnexpectedEOF {
|
if err == io.EOF || err == io.ErrUnexpectedEOF {
|
||||||
t.Close()
|
t.Close(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if logger.V(logLevel) {
|
t.Close(err)
|
||||||
logger.Warningf("transport: http2Server.HandleStreams failed to read frame: %v", err)
|
|
||||||
}
|
|
||||||
t.Close()
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
switch frame := frame.(type) {
|
switch frame := frame.(type) {
|
||||||
case *http2.MetaHeadersFrame:
|
case *http2.MetaHeadersFrame:
|
||||||
if t.operateHeaders(frame, handle, traceCtx) {
|
if err := t.operateHeaders(frame, handle, traceCtx); err != nil {
|
||||||
t.Close()
|
t.Close(err)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
case *http2.DataFrame:
|
case *http2.DataFrame:
|
||||||
@ -843,8 +839,8 @@ const (
|
|||||||
|
|
||||||
func (t *http2Server) handlePing(f *http2.PingFrame) {
|
func (t *http2Server) handlePing(f *http2.PingFrame) {
|
||||||
if f.IsAck() {
|
if f.IsAck() {
|
||||||
if f.Data == goAwayPing.data && t.drainChan != nil {
|
if f.Data == goAwayPing.data && t.drainEvent != nil {
|
||||||
close(t.drainChan)
|
t.drainEvent.Fire()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Maybe it's a BDP ping.
|
// Maybe it's a BDP ping.
|
||||||
@ -886,10 +882,7 @@ func (t *http2Server) handlePing(f *http2.PingFrame) {
|
|||||||
|
|
||||||
if t.pingStrikes > maxPingStrikes {
|
if t.pingStrikes > maxPingStrikes {
|
||||||
// Send goaway and close the connection.
|
// Send goaway and close the connection.
|
||||||
if logger.V(logLevel) {
|
t.controlBuf.put(&goAway{code: http2.ErrCodeEnhanceYourCalm, debugData: []byte("too_many_pings"), closeConn: errors.New("got too many pings from the client")})
|
||||||
logger.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})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1153,7 +1146,7 @@ func (t *http2Server) keepalive() {
|
|||||||
if logger.V(logLevel) {
|
if logger.V(logLevel) {
|
||||||
logger.Infof("transport: closing server transport due to maximum connection age.")
|
logger.Infof("transport: closing server transport due to maximum connection age.")
|
||||||
}
|
}
|
||||||
t.Close()
|
t.controlBuf.put(closeConnection{})
|
||||||
case <-t.done:
|
case <-t.done:
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
@ -1169,10 +1162,7 @@ func (t *http2Server) keepalive() {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if outstandingPing && kpTimeoutLeft <= 0 {
|
if outstandingPing && kpTimeoutLeft <= 0 {
|
||||||
if logger.V(logLevel) {
|
t.Close(fmt.Errorf("keepalive ping not acked within timeout %s", t.kp.Time))
|
||||||
logger.Infof("transport: closing server transport due to idleness.")
|
|
||||||
}
|
|
||||||
t.Close()
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !outstandingPing {
|
if !outstandingPing {
|
||||||
@ -1199,12 +1189,15 @@ func (t *http2Server) keepalive() {
|
|||||||
// Close starts shutting down the http2Server transport.
|
// Close starts shutting down the http2Server transport.
|
||||||
// TODO(zhaoq): Now the destruction is not blocked on any pending streams. This
|
// TODO(zhaoq): Now the destruction is not blocked on any pending streams. This
|
||||||
// could cause some resource issue. Revisit this later.
|
// could cause some resource issue. Revisit this later.
|
||||||
func (t *http2Server) Close() {
|
func (t *http2Server) Close(err error) {
|
||||||
t.mu.Lock()
|
t.mu.Lock()
|
||||||
if t.state == closing {
|
if t.state == closing {
|
||||||
t.mu.Unlock()
|
t.mu.Unlock()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if logger.V(logLevel) {
|
||||||
|
logger.Infof("transport: closing: %v", err)
|
||||||
|
}
|
||||||
t.state = closing
|
t.state = closing
|
||||||
streams := t.activeStreams
|
streams := t.activeStreams
|
||||||
t.activeStreams = nil
|
t.activeStreams = nil
|
||||||
@ -1295,10 +1288,10 @@ func (t *http2Server) RemoteAddr() net.Addr {
|
|||||||
func (t *http2Server) Drain() {
|
func (t *http2Server) Drain() {
|
||||||
t.mu.Lock()
|
t.mu.Lock()
|
||||||
defer t.mu.Unlock()
|
defer t.mu.Unlock()
|
||||||
if t.drainChan != nil {
|
if t.drainEvent != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
t.drainChan = make(chan struct{})
|
t.drainEvent = grpcsync.NewEvent()
|
||||||
t.controlBuf.put(&goAway{code: http2.ErrCodeNo, debugData: []byte{}, headsUp: true})
|
t.controlBuf.put(&goAway{code: http2.ErrCodeNo, debugData: []byte{}, headsUp: true})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1319,19 +1312,20 @@ func (t *http2Server) outgoingGoAwayHandler(g *goAway) (bool, error) {
|
|||||||
// Stop accepting more streams now.
|
// Stop accepting more streams now.
|
||||||
t.state = draining
|
t.state = draining
|
||||||
sid := t.maxStreamID
|
sid := t.maxStreamID
|
||||||
|
retErr := g.closeConn
|
||||||
if len(t.activeStreams) == 0 {
|
if len(t.activeStreams) == 0 {
|
||||||
g.closeConn = true
|
retErr = errors.New("second GOAWAY written and no active streams left to process")
|
||||||
}
|
}
|
||||||
t.mu.Unlock()
|
t.mu.Unlock()
|
||||||
t.maxStreamMu.Unlock()
|
t.maxStreamMu.Unlock()
|
||||||
if err := t.framer.fr.WriteGoAway(sid, g.code, g.debugData); err != nil {
|
if err := t.framer.fr.WriteGoAway(sid, g.code, g.debugData); err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
if g.closeConn {
|
if retErr != nil {
|
||||||
// Abruptly close the connection following the GoAway (via
|
// Abruptly close the connection following the GoAway (via
|
||||||
// loopywriter). But flush out what's inside the buffer first.
|
// loopywriter). But flush out what's inside the buffer first.
|
||||||
t.framer.writer.Flush()
|
t.framer.writer.Flush()
|
||||||
return false, fmt.Errorf("transport: Connection closing")
|
return false, retErr
|
||||||
}
|
}
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
@ -1353,7 +1347,7 @@ func (t *http2Server) outgoingGoAwayHandler(g *goAway) (bool, error) {
|
|||||||
timer := time.NewTimer(time.Minute)
|
timer := time.NewTimer(time.Minute)
|
||||||
defer timer.Stop()
|
defer timer.Stop()
|
||||||
select {
|
select {
|
||||||
case <-t.drainChan:
|
case <-t.drainEvent.Done():
|
||||||
case <-timer.C:
|
case <-timer.C:
|
||||||
case <-t.done:
|
case <-t.done:
|
||||||
return
|
return
|
||||||
|
2
vendor/google.golang.org/grpc/internal/transport/transport.go
generated
vendored
2
vendor/google.golang.org/grpc/internal/transport/transport.go
generated
vendored
@ -701,7 +701,7 @@ type ServerTransport interface {
|
|||||||
// Close tears down the transport. Once it is called, the transport
|
// Close tears down the transport. Once it is called, the transport
|
||||||
// should not be accessed any more. All the pending streams and their
|
// should not be accessed any more. All the pending streams and their
|
||||||
// handlers will be terminated asynchronously.
|
// handlers will be terminated asynchronously.
|
||||||
Close()
|
Close(err error)
|
||||||
|
|
||||||
// RemoteAddr returns the remote network address.
|
// RemoteAddr returns the remote network address.
|
||||||
RemoteAddr() net.Addr
|
RemoteAddr() net.Addr
|
||||||
|
4
vendor/google.golang.org/grpc/pickfirst.go
generated
vendored
4
vendor/google.golang.org/grpc/pickfirst.go
generated
vendored
@ -102,8 +102,8 @@ func (b *pickfirstBalancer) UpdateClientConnState(state balancer.ClientConnState
|
|||||||
b.subConn = subConn
|
b.subConn = subConn
|
||||||
b.state = connectivity.Idle
|
b.state = connectivity.Idle
|
||||||
b.cc.UpdateState(balancer.State{
|
b.cc.UpdateState(balancer.State{
|
||||||
ConnectivityState: connectivity.Idle,
|
ConnectivityState: connectivity.Connecting,
|
||||||
Picker: &picker{result: balancer.PickResult{SubConn: b.subConn}},
|
Picker: &picker{err: balancer.ErrNoSubConnAvailable},
|
||||||
})
|
})
|
||||||
b.subConn.Connect()
|
b.subConn.Connect()
|
||||||
return nil
|
return nil
|
||||||
|
360
vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection.pb.go
generated
vendored
360
vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection.pb.go
generated
vendored
@ -1,4 +1,4 @@
|
|||||||
// Copyright 2016 gRPC authors.
|
// Copyright 2016 The gRPC Authors
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -11,19 +11,20 @@
|
|||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
// Service exported by server reflection
|
// Service exported by server reflection
|
||||||
|
|
||||||
|
// Warning: this entire file is deprecated. Use this instead:
|
||||||
|
// https://github.com/grpc/grpc-proto/blob/master/grpc/reflection/v1/reflection.proto
|
||||||
|
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.25.0
|
// protoc-gen-go v1.28.1
|
||||||
// protoc v3.14.0
|
// protoc v3.14.0
|
||||||
// source: reflection/grpc_reflection_v1alpha/reflection.proto
|
// grpc/reflection/v1alpha/reflection.proto is a deprecated file.
|
||||||
|
|
||||||
package grpc_reflection_v1alpha
|
package grpc_reflection_v1alpha
|
||||||
|
|
||||||
import (
|
import (
|
||||||
proto "github.com/golang/protobuf/proto"
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
reflect "reflect"
|
reflect "reflect"
|
||||||
@ -37,10 +38,6 @@ const (
|
|||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
)
|
)
|
||||||
|
|
||||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
|
||||||
// of the legacy proto package is being used.
|
|
||||||
const _ = proto.ProtoPackageIsVersion4
|
|
||||||
|
|
||||||
// The message sent by the client when calling ServerReflectionInfo method.
|
// The message sent by the client when calling ServerReflectionInfo method.
|
||||||
type ServerReflectionRequest struct {
|
type ServerReflectionRequest struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
@ -65,7 +62,7 @@ type ServerReflectionRequest struct {
|
|||||||
func (x *ServerReflectionRequest) Reset() {
|
func (x *ServerReflectionRequest) Reset() {
|
||||||
*x = ServerReflectionRequest{}
|
*x = ServerReflectionRequest{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[0]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[0]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -78,7 +75,7 @@ func (x *ServerReflectionRequest) String() string {
|
|||||||
func (*ServerReflectionRequest) ProtoMessage() {}
|
func (*ServerReflectionRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ServerReflectionRequest) ProtoReflect() protoreflect.Message {
|
func (x *ServerReflectionRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[0]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[0]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -91,7 +88,7 @@ func (x *ServerReflectionRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ServerReflectionRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ServerReflectionRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*ServerReflectionRequest) Descriptor() ([]byte, []int) {
|
func (*ServerReflectionRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{0}
|
return file_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ServerReflectionRequest) GetHost() string {
|
func (x *ServerReflectionRequest) GetHost() string {
|
||||||
@ -209,7 +206,7 @@ type ExtensionRequest struct {
|
|||||||
func (x *ExtensionRequest) Reset() {
|
func (x *ExtensionRequest) Reset() {
|
||||||
*x = ExtensionRequest{}
|
*x = ExtensionRequest{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[1]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[1]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -222,7 +219,7 @@ func (x *ExtensionRequest) String() string {
|
|||||||
func (*ExtensionRequest) ProtoMessage() {}
|
func (*ExtensionRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ExtensionRequest) ProtoReflect() protoreflect.Message {
|
func (x *ExtensionRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[1]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[1]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -235,7 +232,7 @@ func (x *ExtensionRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ExtensionRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ExtensionRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*ExtensionRequest) Descriptor() ([]byte, []int) {
|
func (*ExtensionRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{1}
|
return file_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{1}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ExtensionRequest) GetContainingType() string {
|
func (x *ExtensionRequest) GetContainingType() string {
|
||||||
@ -260,8 +257,8 @@ type ServerReflectionResponse struct {
|
|||||||
|
|
||||||
ValidHost string `protobuf:"bytes,1,opt,name=valid_host,json=validHost,proto3" json:"valid_host,omitempty"`
|
ValidHost string `protobuf:"bytes,1,opt,name=valid_host,json=validHost,proto3" json:"valid_host,omitempty"`
|
||||||
OriginalRequest *ServerReflectionRequest `protobuf:"bytes,2,opt,name=original_request,json=originalRequest,proto3" json:"original_request,omitempty"`
|
OriginalRequest *ServerReflectionRequest `protobuf:"bytes,2,opt,name=original_request,json=originalRequest,proto3" json:"original_request,omitempty"`
|
||||||
// The server sets one of the following fields according to the
|
// The server set one of the following fields according to the message_request
|
||||||
// message_request in the request.
|
// in the request.
|
||||||
//
|
//
|
||||||
// Types that are assignable to MessageResponse:
|
// Types that are assignable to MessageResponse:
|
||||||
//
|
//
|
||||||
@ -275,7 +272,7 @@ type ServerReflectionResponse struct {
|
|||||||
func (x *ServerReflectionResponse) Reset() {
|
func (x *ServerReflectionResponse) Reset() {
|
||||||
*x = ServerReflectionResponse{}
|
*x = ServerReflectionResponse{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[2]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[2]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -288,7 +285,7 @@ func (x *ServerReflectionResponse) String() string {
|
|||||||
func (*ServerReflectionResponse) ProtoMessage() {}
|
func (*ServerReflectionResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ServerReflectionResponse) ProtoReflect() protoreflect.Message {
|
func (x *ServerReflectionResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[2]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[2]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -301,7 +298,7 @@ func (x *ServerReflectionResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ServerReflectionResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ServerReflectionResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*ServerReflectionResponse) Descriptor() ([]byte, []int) {
|
func (*ServerReflectionResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{2}
|
return file_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{2}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ServerReflectionResponse) GetValidHost() string {
|
func (x *ServerReflectionResponse) GetValidHost() string {
|
||||||
@ -359,8 +356,8 @@ type isServerReflectionResponse_MessageResponse interface {
|
|||||||
|
|
||||||
type ServerReflectionResponse_FileDescriptorResponse struct {
|
type ServerReflectionResponse_FileDescriptorResponse struct {
|
||||||
// This message is used to answer file_by_filename, file_containing_symbol,
|
// This message is used to answer file_by_filename, file_containing_symbol,
|
||||||
// file_containing_extension requests with transitive dependencies.
|
// file_containing_extension requests with transitive dependencies. As
|
||||||
// As the repeated label is not allowed in oneof fields, we use a
|
// the repeated label is not allowed in oneof fields, we use a
|
||||||
// FileDescriptorResponse message to encapsulate the repeated fields.
|
// FileDescriptorResponse message to encapsulate the repeated fields.
|
||||||
// The reflection service is allowed to avoid sending FileDescriptorProtos
|
// The reflection service is allowed to avoid sending FileDescriptorProtos
|
||||||
// that were previously sent in response to earlier requests in the stream.
|
// that were previously sent in response to earlier requests in the stream.
|
||||||
@ -368,12 +365,12 @@ type ServerReflectionResponse_FileDescriptorResponse struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type ServerReflectionResponse_AllExtensionNumbersResponse struct {
|
type ServerReflectionResponse_AllExtensionNumbersResponse struct {
|
||||||
// This message is used to answer all_extension_numbers_of_type requests.
|
// This message is used to answer all_extension_numbers_of_type requst.
|
||||||
AllExtensionNumbersResponse *ExtensionNumberResponse `protobuf:"bytes,5,opt,name=all_extension_numbers_response,json=allExtensionNumbersResponse,proto3,oneof"`
|
AllExtensionNumbersResponse *ExtensionNumberResponse `protobuf:"bytes,5,opt,name=all_extension_numbers_response,json=allExtensionNumbersResponse,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ServerReflectionResponse_ListServicesResponse struct {
|
type ServerReflectionResponse_ListServicesResponse struct {
|
||||||
// This message is used to answer list_services requests.
|
// This message is used to answer list_services request.
|
||||||
ListServicesResponse *ListServiceResponse `protobuf:"bytes,6,opt,name=list_services_response,json=listServicesResponse,proto3,oneof"`
|
ListServicesResponse *ListServiceResponse `protobuf:"bytes,6,opt,name=list_services_response,json=listServicesResponse,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -409,7 +406,7 @@ type FileDescriptorResponse struct {
|
|||||||
func (x *FileDescriptorResponse) Reset() {
|
func (x *FileDescriptorResponse) Reset() {
|
||||||
*x = FileDescriptorResponse{}
|
*x = FileDescriptorResponse{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[3]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[3]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -422,7 +419,7 @@ func (x *FileDescriptorResponse) String() string {
|
|||||||
func (*FileDescriptorResponse) ProtoMessage() {}
|
func (*FileDescriptorResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *FileDescriptorResponse) ProtoReflect() protoreflect.Message {
|
func (x *FileDescriptorResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[3]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[3]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -435,7 +432,7 @@ func (x *FileDescriptorResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use FileDescriptorResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use FileDescriptorResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*FileDescriptorResponse) Descriptor() ([]byte, []int) {
|
func (*FileDescriptorResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{3}
|
return file_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{3}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FileDescriptorResponse) GetFileDescriptorProto() [][]byte {
|
func (x *FileDescriptorResponse) GetFileDescriptorProto() [][]byte {
|
||||||
@ -461,7 +458,7 @@ type ExtensionNumberResponse struct {
|
|||||||
func (x *ExtensionNumberResponse) Reset() {
|
func (x *ExtensionNumberResponse) Reset() {
|
||||||
*x = ExtensionNumberResponse{}
|
*x = ExtensionNumberResponse{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[4]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[4]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -474,7 +471,7 @@ func (x *ExtensionNumberResponse) String() string {
|
|||||||
func (*ExtensionNumberResponse) ProtoMessage() {}
|
func (*ExtensionNumberResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ExtensionNumberResponse) ProtoReflect() protoreflect.Message {
|
func (x *ExtensionNumberResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[4]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[4]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -487,7 +484,7 @@ func (x *ExtensionNumberResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ExtensionNumberResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ExtensionNumberResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*ExtensionNumberResponse) Descriptor() ([]byte, []int) {
|
func (*ExtensionNumberResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{4}
|
return file_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{4}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ExtensionNumberResponse) GetBaseTypeName() string {
|
func (x *ExtensionNumberResponse) GetBaseTypeName() string {
|
||||||
@ -518,7 +515,7 @@ type ListServiceResponse struct {
|
|||||||
func (x *ListServiceResponse) Reset() {
|
func (x *ListServiceResponse) Reset() {
|
||||||
*x = ListServiceResponse{}
|
*x = ListServiceResponse{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[5]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[5]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -531,7 +528,7 @@ func (x *ListServiceResponse) String() string {
|
|||||||
func (*ListServiceResponse) ProtoMessage() {}
|
func (*ListServiceResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ListServiceResponse) ProtoReflect() protoreflect.Message {
|
func (x *ListServiceResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[5]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[5]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -544,7 +541,7 @@ func (x *ListServiceResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ListServiceResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ListServiceResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*ListServiceResponse) Descriptor() ([]byte, []int) {
|
func (*ListServiceResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{5}
|
return file_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{5}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ListServiceResponse) GetService() []*ServiceResponse {
|
func (x *ListServiceResponse) GetService() []*ServiceResponse {
|
||||||
@ -569,7 +566,7 @@ type ServiceResponse struct {
|
|||||||
func (x *ServiceResponse) Reset() {
|
func (x *ServiceResponse) Reset() {
|
||||||
*x = ServiceResponse{}
|
*x = ServiceResponse{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[6]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[6]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -582,7 +579,7 @@ func (x *ServiceResponse) String() string {
|
|||||||
func (*ServiceResponse) ProtoMessage() {}
|
func (*ServiceResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ServiceResponse) ProtoReflect() protoreflect.Message {
|
func (x *ServiceResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[6]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[6]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -595,7 +592,7 @@ func (x *ServiceResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ServiceResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ServiceResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*ServiceResponse) Descriptor() ([]byte, []int) {
|
func (*ServiceResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{6}
|
return file_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{6}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ServiceResponse) GetName() string {
|
func (x *ServiceResponse) GetName() string {
|
||||||
@ -619,7 +616,7 @@ type ErrorResponse struct {
|
|||||||
func (x *ErrorResponse) Reset() {
|
func (x *ErrorResponse) Reset() {
|
||||||
*x = ErrorResponse{}
|
*x = ErrorResponse{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[7]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[7]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -632,7 +629,7 @@ func (x *ErrorResponse) String() string {
|
|||||||
func (*ErrorResponse) ProtoMessage() {}
|
func (*ErrorResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ErrorResponse) ProtoReflect() protoreflect.Message {
|
func (x *ErrorResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[7]
|
mi := &file_grpc_reflection_v1alpha_reflection_proto_msgTypes[7]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -645,7 +642,7 @@ func (x *ErrorResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ErrorResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ErrorResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*ErrorResponse) Descriptor() ([]byte, []int) {
|
func (*ErrorResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{7}
|
return file_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP(), []int{7}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ErrorResponse) GetErrorCode() int32 {
|
func (x *ErrorResponse) GetErrorCode() int32 {
|
||||||
@ -662,136 +659,139 @@ func (x *ErrorResponse) GetErrorMessage() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
var File_reflection_grpc_reflection_v1alpha_reflection_proto protoreflect.FileDescriptor
|
var File_grpc_reflection_v1alpha_reflection_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDesc = []byte{
|
var file_grpc_reflection_v1alpha_reflection_proto_rawDesc = []byte{
|
||||||
0x0a, 0x33, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70,
|
0x0a, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
||||||
0x63, 0x5f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x31, 0x61,
|
0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63,
|
||||||
0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
|
0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x72, 0x70, 0x63,
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c,
|
|
||||||
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x22, 0xf8,
|
|
||||||
0x02, 0x0a, 0x17, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74,
|
|
||||||
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f,
|
|
||||||
0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x2a,
|
|
||||||
0x0a, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61,
|
|
||||||
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65,
|
|
||||||
0x42, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x66, 0x69,
|
|
||||||
0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x79,
|
|
||||||
0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x66, 0x69,
|
|
||||||
0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6d, 0x62,
|
|
||||||
0x6f, 0x6c, 0x12, 0x67, 0x0a, 0x19, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61,
|
|
||||||
0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18,
|
|
||||||
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66,
|
|
||||||
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
|
|
||||||
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
||||||
0x48, 0x00, 0x52, 0x17, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69,
|
|
||||||
0x6e, 0x67, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x1d, 0x61,
|
|
||||||
0x6c, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d,
|
|
||||||
0x62, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01,
|
|
||||||
0x28, 0x09, 0x48, 0x00, 0x52, 0x19, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
|
||||||
0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x4f, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12,
|
|
||||||
0x25, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
|
|
||||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x53, 0x65,
|
|
||||||
0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
|
|
||||||
0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x66, 0x0a, 0x10, 0x45, 0x78, 0x74,
|
|
||||||
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a,
|
|
||||||
0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
|
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69,
|
|
||||||
0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
|
||||||
0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
|
||||||
0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65,
|
|
||||||
0x72, 0x22, 0xc7, 0x04, 0x0a, 0x18, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66, 0x6c,
|
|
||||||
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d,
|
|
||||||
0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01,
|
|
||||||
0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x5b, 0x0a,
|
|
||||||
0x10, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
|
|
||||||
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72,
|
|
||||||
0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
|
|
||||||
0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69,
|
|
||||||
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69,
|
|
||||||
0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x18, 0x66, 0x69,
|
|
||||||
0x6c, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65,
|
|
||||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67,
|
|
||||||
0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
|
|
||||||
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72,
|
|
||||||
0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
|
|
||||||
0x16, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52,
|
|
||||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x1e, 0x61, 0x6c, 0x6c, 0x5f, 0x65,
|
|
||||||
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73,
|
|
||||||
0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
||||||
0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
|
||||||
0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
|
||||||
0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
|
||||||
0x65, 0x48, 0x00, 0x52, 0x1b, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
||||||
0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
|
||||||
0x12, 0x64, 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
|
||||||
0x73, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
|
|
||||||
0x32, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69,
|
|
||||||
0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53,
|
|
||||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
|
|
||||||
0x52, 0x14, 0x6c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65,
|
|
||||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
|
|
||||||
0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
|
|
||||||
0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
|
||||||
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65,
|
|
||||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52,
|
|
||||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61,
|
|
||||||
0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x0a, 0x16, 0x46,
|
|
||||||
0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73,
|
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x64, 0x65,
|
|
||||||
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x01,
|
|
||||||
0x20, 0x03, 0x28, 0x0c, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
|
|
||||||
0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x17, 0x45, 0x78, 0x74,
|
|
||||||
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
|
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70,
|
|
||||||
0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61,
|
|
||||||
0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78,
|
|
||||||
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02,
|
|
||||||
0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4e,
|
|
||||||
0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x59, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72,
|
|
||||||
0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07,
|
|
||||||
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e,
|
|
||||||
0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
|
|
||||||
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52,
|
|
||||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
|
||||||
0x22, 0x25, 0x0a, 0x0f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
|
||||||
0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
||||||
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72,
|
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f,
|
|
||||||
0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x72,
|
|
||||||
0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72,
|
|
||||||
0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
|
|
||||||
0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x93, 0x01, 0x0a,
|
|
||||||
0x10, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
|
||||||
0x6e, 0x12, 0x7f, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66, 0x6c, 0x65,
|
|
||||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63,
|
|
||||||
0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c,
|
0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c,
|
||||||
0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63,
|
0x70, 0x68, 0x61, 0x22, 0xf8, 0x02, 0x0a, 0x17, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65,
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72,
|
0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||||
|
0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68,
|
||||||
|
0x6f, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x79, 0x5f, 0x66,
|
||||||
|
0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
|
||||||
|
0x0e, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12,
|
||||||
|
0x36, 0x0a, 0x16, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69,
|
||||||
|
0x6e, 0x67, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48,
|
||||||
|
0x00, 0x52, 0x14, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e,
|
||||||
|
0x67, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x67, 0x0a, 0x19, 0x66, 0x69, 0x6c, 0x65, 0x5f,
|
||||||
|
0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
|
||||||
|
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x72, 0x70,
|
||||||
|
0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61,
|
||||||
|
0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
|
||||||
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x17, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e,
|
||||||
|
0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
||||||
|
0x12, 0x42, 0x0a, 0x1d, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
||||||
|
0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x74, 0x79, 0x70,
|
||||||
|
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x19, 0x61, 0x6c, 0x6c, 0x45, 0x78,
|
||||||
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x4f, 0x66,
|
||||||
|
0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x72,
|
||||||
|
0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x6c,
|
||||||
|
0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x6d,
|
||||||
|
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x66,
|
||||||
|
0x0a, 0x10, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
|
0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
|
||||||
|
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e,
|
||||||
|
0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x65,
|
||||||
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
|
||||||
|
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
||||||
|
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xc7, 0x04, 0x0a, 0x18, 0x53, 0x65, 0x72, 0x76, 0x65,
|
||||||
|
0x72, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
|
0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x6f, 0x73,
|
||||||
|
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x6f,
|
||||||
|
0x73, 0x74, 0x12, 0x5b, 0x0a, 0x10, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72,
|
||||||
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
|
||||||
|
0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
|
||||||
|
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66,
|
||||||
|
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0f,
|
||||||
|
0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||||
|
0x6b, 0x0a, 0x18, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||||
|
0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||||
|
0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74,
|
||||||
|
0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65,
|
||||||
|
0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
|
0x73, 0x65, 0x48, 0x00, 0x52, 0x16, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
|
||||||
|
0x70, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x1e,
|
||||||
|
0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75,
|
||||||
|
0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05,
|
||||||
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c,
|
||||||
|
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45,
|
||||||
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65,
|
||||||
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x1b, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74,
|
||||||
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73,
|
||||||
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65,
|
||||||
|
0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18,
|
||||||
|
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66,
|
||||||
|
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
|
||||||
|
0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
|
0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x14, 0x6c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
|
||||||
|
0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0e, 0x65,
|
||||||
|
0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x07, 0x20,
|
||||||
|
0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65,
|
||||||
|
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x72,
|
||||||
|
0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x65,
|
||||||
|
0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x12, 0x0a, 0x10,
|
||||||
|
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||||
|
0x22, 0x4c, 0x0a, 0x16, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||||
|
0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x69,
|
||||||
|
0x6c, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x72,
|
||||||
|
0x6f, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x44,
|
||||||
|
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a,
|
||||||
|
0x0a, 0x17, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65,
|
||||||
|
0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x61, 0x73,
|
||||||
|
0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
|
0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
|
||||||
|
0x29, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d,
|
||||||
|
0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e,
|
||||||
|
0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x59, 0x0a, 0x13, 0x4c, 0x69,
|
||||||
|
0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
|
0x65, 0x12, 0x42, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03,
|
||||||
|
0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63,
|
||||||
|
0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x72,
|
||||||
|
0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x73, 0x65,
|
||||||
|
0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x25, 0x0a, 0x0f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||||
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||||
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x0d,
|
||||||
|
0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a,
|
||||||
|
0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
|
0x05, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d,
|
||||||
|
0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
|
||||||
|
0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
|
||||||
|
0x65, 0x32, 0x93, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66, 0x6c,
|
||||||
|
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7f, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||||
|
0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30,
|
||||||
|
0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||||
|
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52,
|
||||||
|
0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
|
0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69,
|
||||||
|
0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65,
|
||||||
|
0x72, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
|
0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x73, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x67, 0x72,
|
||||||
0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
|
0x70, 0x63, 0x2e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
|
||||||
0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66, 0x6c,
|
0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x15, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66,
|
||||||
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01,
|
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39,
|
||||||
0x30, 0x01, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c,
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72,
|
||||||
0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x72, 0x65, 0x66,
|
0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
||||||
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x66,
|
0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
||||||
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62,
|
0x6e, 0x5f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xb8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72,
|
||||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescOnce sync.Once
|
file_grpc_reflection_v1alpha_reflection_proto_rawDescOnce sync.Once
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescData = file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDesc
|
file_grpc_reflection_v1alpha_reflection_proto_rawDescData = file_grpc_reflection_v1alpha_reflection_proto_rawDesc
|
||||||
)
|
)
|
||||||
|
|
||||||
func file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP() []byte {
|
func file_grpc_reflection_v1alpha_reflection_proto_rawDescGZIP() []byte {
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescOnce.Do(func() {
|
file_grpc_reflection_v1alpha_reflection_proto_rawDescOnce.Do(func() {
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescData = protoimpl.X.CompressGZIP(file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescData)
|
file_grpc_reflection_v1alpha_reflection_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_reflection_v1alpha_reflection_proto_rawDescData)
|
||||||
})
|
})
|
||||||
return file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDescData
|
return file_grpc_reflection_v1alpha_reflection_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
|
var file_grpc_reflection_v1alpha_reflection_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
|
||||||
var file_reflection_grpc_reflection_v1alpha_reflection_proto_goTypes = []interface{}{
|
var file_grpc_reflection_v1alpha_reflection_proto_goTypes = []interface{}{
|
||||||
(*ServerReflectionRequest)(nil), // 0: grpc.reflection.v1alpha.ServerReflectionRequest
|
(*ServerReflectionRequest)(nil), // 0: grpc.reflection.v1alpha.ServerReflectionRequest
|
||||||
(*ExtensionRequest)(nil), // 1: grpc.reflection.v1alpha.ExtensionRequest
|
(*ExtensionRequest)(nil), // 1: grpc.reflection.v1alpha.ExtensionRequest
|
||||||
(*ServerReflectionResponse)(nil), // 2: grpc.reflection.v1alpha.ServerReflectionResponse
|
(*ServerReflectionResponse)(nil), // 2: grpc.reflection.v1alpha.ServerReflectionResponse
|
||||||
@ -801,7 +801,7 @@ var file_reflection_grpc_reflection_v1alpha_reflection_proto_goTypes = []interfa
|
|||||||
(*ServiceResponse)(nil), // 6: grpc.reflection.v1alpha.ServiceResponse
|
(*ServiceResponse)(nil), // 6: grpc.reflection.v1alpha.ServiceResponse
|
||||||
(*ErrorResponse)(nil), // 7: grpc.reflection.v1alpha.ErrorResponse
|
(*ErrorResponse)(nil), // 7: grpc.reflection.v1alpha.ErrorResponse
|
||||||
}
|
}
|
||||||
var file_reflection_grpc_reflection_v1alpha_reflection_proto_depIdxs = []int32{
|
var file_grpc_reflection_v1alpha_reflection_proto_depIdxs = []int32{
|
||||||
1, // 0: grpc.reflection.v1alpha.ServerReflectionRequest.file_containing_extension:type_name -> grpc.reflection.v1alpha.ExtensionRequest
|
1, // 0: grpc.reflection.v1alpha.ServerReflectionRequest.file_containing_extension:type_name -> grpc.reflection.v1alpha.ExtensionRequest
|
||||||
0, // 1: grpc.reflection.v1alpha.ServerReflectionResponse.original_request:type_name -> grpc.reflection.v1alpha.ServerReflectionRequest
|
0, // 1: grpc.reflection.v1alpha.ServerReflectionResponse.original_request:type_name -> grpc.reflection.v1alpha.ServerReflectionRequest
|
||||||
3, // 2: grpc.reflection.v1alpha.ServerReflectionResponse.file_descriptor_response:type_name -> grpc.reflection.v1alpha.FileDescriptorResponse
|
3, // 2: grpc.reflection.v1alpha.ServerReflectionResponse.file_descriptor_response:type_name -> grpc.reflection.v1alpha.FileDescriptorResponse
|
||||||
@ -818,13 +818,13 @@ var file_reflection_grpc_reflection_v1alpha_reflection_proto_depIdxs = []int32{
|
|||||||
0, // [0:7] is the sub-list for field type_name
|
0, // [0:7] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_reflection_grpc_reflection_v1alpha_reflection_proto_init() }
|
func init() { file_grpc_reflection_v1alpha_reflection_proto_init() }
|
||||||
func file_reflection_grpc_reflection_v1alpha_reflection_proto_init() {
|
func file_grpc_reflection_v1alpha_reflection_proto_init() {
|
||||||
if File_reflection_grpc_reflection_v1alpha_reflection_proto != nil {
|
if File_grpc_reflection_v1alpha_reflection_proto != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !protoimpl.UnsafeEnabled {
|
if !protoimpl.UnsafeEnabled {
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
file_grpc_reflection_v1alpha_reflection_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ServerReflectionRequest); i {
|
switch v := v.(*ServerReflectionRequest); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -836,7 +836,7 @@ func file_reflection_grpc_reflection_v1alpha_reflection_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
file_grpc_reflection_v1alpha_reflection_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ExtensionRequest); i {
|
switch v := v.(*ExtensionRequest); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -848,7 +848,7 @@ func file_reflection_grpc_reflection_v1alpha_reflection_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
file_grpc_reflection_v1alpha_reflection_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ServerReflectionResponse); i {
|
switch v := v.(*ServerReflectionResponse); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -860,7 +860,7 @@ func file_reflection_grpc_reflection_v1alpha_reflection_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
file_grpc_reflection_v1alpha_reflection_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*FileDescriptorResponse); i {
|
switch v := v.(*FileDescriptorResponse); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -872,7 +872,7 @@ func file_reflection_grpc_reflection_v1alpha_reflection_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
file_grpc_reflection_v1alpha_reflection_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ExtensionNumberResponse); i {
|
switch v := v.(*ExtensionNumberResponse); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -884,7 +884,7 @@ func file_reflection_grpc_reflection_v1alpha_reflection_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
file_grpc_reflection_v1alpha_reflection_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ListServiceResponse); i {
|
switch v := v.(*ListServiceResponse); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -896,7 +896,7 @@ func file_reflection_grpc_reflection_v1alpha_reflection_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
file_grpc_reflection_v1alpha_reflection_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ServiceResponse); i {
|
switch v := v.(*ServiceResponse); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -908,7 +908,7 @@ func file_reflection_grpc_reflection_v1alpha_reflection_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
file_grpc_reflection_v1alpha_reflection_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ErrorResponse); i {
|
switch v := v.(*ErrorResponse); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -921,14 +921,14 @@ func file_reflection_grpc_reflection_v1alpha_reflection_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[0].OneofWrappers = []interface{}{
|
file_grpc_reflection_v1alpha_reflection_proto_msgTypes[0].OneofWrappers = []interface{}{
|
||||||
(*ServerReflectionRequest_FileByFilename)(nil),
|
(*ServerReflectionRequest_FileByFilename)(nil),
|
||||||
(*ServerReflectionRequest_FileContainingSymbol)(nil),
|
(*ServerReflectionRequest_FileContainingSymbol)(nil),
|
||||||
(*ServerReflectionRequest_FileContainingExtension)(nil),
|
(*ServerReflectionRequest_FileContainingExtension)(nil),
|
||||||
(*ServerReflectionRequest_AllExtensionNumbersOfType)(nil),
|
(*ServerReflectionRequest_AllExtensionNumbersOfType)(nil),
|
||||||
(*ServerReflectionRequest_ListServices)(nil),
|
(*ServerReflectionRequest_ListServices)(nil),
|
||||||
}
|
}
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes[2].OneofWrappers = []interface{}{
|
file_grpc_reflection_v1alpha_reflection_proto_msgTypes[2].OneofWrappers = []interface{}{
|
||||||
(*ServerReflectionResponse_FileDescriptorResponse)(nil),
|
(*ServerReflectionResponse_FileDescriptorResponse)(nil),
|
||||||
(*ServerReflectionResponse_AllExtensionNumbersResponse)(nil),
|
(*ServerReflectionResponse_AllExtensionNumbersResponse)(nil),
|
||||||
(*ServerReflectionResponse_ListServicesResponse)(nil),
|
(*ServerReflectionResponse_ListServicesResponse)(nil),
|
||||||
@ -938,18 +938,18 @@ func file_reflection_grpc_reflection_v1alpha_reflection_proto_init() {
|
|||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
File: protoimpl.DescBuilder{
|
File: protoimpl.DescBuilder{
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDesc,
|
RawDescriptor: file_grpc_reflection_v1alpha_reflection_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 8,
|
NumMessages: 8,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 1,
|
NumServices: 1,
|
||||||
},
|
},
|
||||||
GoTypes: file_reflection_grpc_reflection_v1alpha_reflection_proto_goTypes,
|
GoTypes: file_grpc_reflection_v1alpha_reflection_proto_goTypes,
|
||||||
DependencyIndexes: file_reflection_grpc_reflection_v1alpha_reflection_proto_depIdxs,
|
DependencyIndexes: file_grpc_reflection_v1alpha_reflection_proto_depIdxs,
|
||||||
MessageInfos: file_reflection_grpc_reflection_v1alpha_reflection_proto_msgTypes,
|
MessageInfos: file_grpc_reflection_v1alpha_reflection_proto_msgTypes,
|
||||||
}.Build()
|
}.Build()
|
||||||
File_reflection_grpc_reflection_v1alpha_reflection_proto = out.File
|
File_grpc_reflection_v1alpha_reflection_proto = out.File
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_rawDesc = nil
|
file_grpc_reflection_v1alpha_reflection_proto_rawDesc = nil
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_goTypes = nil
|
file_grpc_reflection_v1alpha_reflection_proto_goTypes = nil
|
||||||
file_reflection_grpc_reflection_v1alpha_reflection_proto_depIdxs = nil
|
file_grpc_reflection_v1alpha_reflection_proto_depIdxs = nil
|
||||||
}
|
}
|
||||||
|
138
vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection.proto
generated
vendored
138
vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection.proto
generated
vendored
@ -1,138 +0,0 @@
|
|||||||
// 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.
|
|
||||||
|
|
||||||
// Service exported by server reflection
|
|
||||||
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
option go_package = "google.golang.org/grpc/reflection/grpc_reflection_v1alpha";
|
|
||||||
|
|
||||||
package grpc.reflection.v1alpha;
|
|
||||||
|
|
||||||
service ServerReflection {
|
|
||||||
// The reflection service is structured as a bidirectional stream, ensuring
|
|
||||||
// all related requests go to a single server.
|
|
||||||
rpc ServerReflectionInfo(stream ServerReflectionRequest)
|
|
||||||
returns (stream ServerReflectionResponse);
|
|
||||||
}
|
|
||||||
|
|
||||||
// The message sent by the client when calling ServerReflectionInfo method.
|
|
||||||
message ServerReflectionRequest {
|
|
||||||
string host = 1;
|
|
||||||
// To use reflection service, the client should set one of the following
|
|
||||||
// fields in message_request. The server distinguishes requests by their
|
|
||||||
// defined field and then handles them using corresponding methods.
|
|
||||||
oneof message_request {
|
|
||||||
// Find a proto file by the file name.
|
|
||||||
string file_by_filename = 3;
|
|
||||||
|
|
||||||
// Find the proto file that declares the given fully-qualified symbol name.
|
|
||||||
// This field should be a fully-qualified symbol name
|
|
||||||
// (e.g. <package>.<service>[.<method>] or <package>.<type>).
|
|
||||||
string file_containing_symbol = 4;
|
|
||||||
|
|
||||||
// Find the proto file which defines an extension extending the given
|
|
||||||
// message type with the given field number.
|
|
||||||
ExtensionRequest file_containing_extension = 5;
|
|
||||||
|
|
||||||
// Finds the tag numbers used by all known extensions of extendee_type, and
|
|
||||||
// appends them to ExtensionNumberResponse in an undefined order.
|
|
||||||
// Its corresponding method is best-effort: it's not guaranteed that the
|
|
||||||
// reflection service will implement this method, and it's not guaranteed
|
|
||||||
// that this method will provide all extensions. Returns
|
|
||||||
// StatusCode::UNIMPLEMENTED if it's not implemented.
|
|
||||||
// This field should be a fully-qualified type name. The format is
|
|
||||||
// <package>.<type>
|
|
||||||
string all_extension_numbers_of_type = 6;
|
|
||||||
|
|
||||||
// List the full names of registered services. The content will not be
|
|
||||||
// checked.
|
|
||||||
string list_services = 7;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// The type name and extension number sent by the client when requesting
|
|
||||||
// file_containing_extension.
|
|
||||||
message ExtensionRequest {
|
|
||||||
// Fully-qualified type name. The format should be <package>.<type>
|
|
||||||
string containing_type = 1;
|
|
||||||
int32 extension_number = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The message sent by the server to answer ServerReflectionInfo method.
|
|
||||||
message ServerReflectionResponse {
|
|
||||||
string valid_host = 1;
|
|
||||||
ServerReflectionRequest original_request = 2;
|
|
||||||
// The server sets one of the following fields according to the
|
|
||||||
// message_request in the request.
|
|
||||||
oneof message_response {
|
|
||||||
// This message is used to answer file_by_filename, file_containing_symbol,
|
|
||||||
// file_containing_extension requests with transitive dependencies.
|
|
||||||
// As the repeated label is not allowed in oneof fields, we use a
|
|
||||||
// FileDescriptorResponse message to encapsulate the repeated fields.
|
|
||||||
// The reflection service is allowed to avoid sending FileDescriptorProtos
|
|
||||||
// that were previously sent in response to earlier requests in the stream.
|
|
||||||
FileDescriptorResponse file_descriptor_response = 4;
|
|
||||||
|
|
||||||
// This message is used to answer all_extension_numbers_of_type requests.
|
|
||||||
ExtensionNumberResponse all_extension_numbers_response = 5;
|
|
||||||
|
|
||||||
// This message is used to answer list_services requests.
|
|
||||||
ListServiceResponse list_services_response = 6;
|
|
||||||
|
|
||||||
// This message is used when an error occurs.
|
|
||||||
ErrorResponse error_response = 7;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Serialized FileDescriptorProto messages sent by the server answering
|
|
||||||
// a file_by_filename, file_containing_symbol, or file_containing_extension
|
|
||||||
// request.
|
|
||||||
message FileDescriptorResponse {
|
|
||||||
// Serialized FileDescriptorProto messages. We avoid taking a dependency on
|
|
||||||
// descriptor.proto, which uses proto2 only features, by making them opaque
|
|
||||||
// bytes instead.
|
|
||||||
repeated bytes file_descriptor_proto = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// A list of extension numbers sent by the server answering
|
|
||||||
// all_extension_numbers_of_type request.
|
|
||||||
message ExtensionNumberResponse {
|
|
||||||
// Full name of the base type, including the package name. The format
|
|
||||||
// is <package>.<type>
|
|
||||||
string base_type_name = 1;
|
|
||||||
repeated int32 extension_number = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// A list of ServiceResponse sent by the server answering list_services request.
|
|
||||||
message ListServiceResponse {
|
|
||||||
// The information of each service may be expanded in the future, so we use
|
|
||||||
// ServiceResponse message to encapsulate it.
|
|
||||||
repeated ServiceResponse service = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The information of a single service used by ListServiceResponse to answer
|
|
||||||
// list_services request.
|
|
||||||
message ServiceResponse {
|
|
||||||
// Full name of a registered service, including its package name. The format
|
|
||||||
// is <package>.<service>
|
|
||||||
string name = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The error code and error message sent by the server when an error occurs.
|
|
||||||
message ErrorResponse {
|
|
||||||
// This field uses the error codes defined in grpc::StatusCode.
|
|
||||||
int32 error_code = 1;
|
|
||||||
string error_message = 2;
|
|
||||||
}
|
|
10
vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection_grpc.pb.go
generated
vendored
10
vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection_grpc.pb.go
generated
vendored
@ -1,4 +1,4 @@
|
|||||||
// Copyright 2016 gRPC authors.
|
// Copyright 2016 The gRPC Authors
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -11,14 +11,16 @@
|
|||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
// Service exported by server reflection
|
// Service exported by server reflection
|
||||||
|
|
||||||
|
// Warning: this entire file is deprecated. Use this instead:
|
||||||
|
// https://github.com/grpc/grpc-proto/blob/master/grpc/reflection/v1/reflection.proto
|
||||||
|
|
||||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// - protoc-gen-go-grpc v1.2.0
|
// - protoc-gen-go-grpc v1.2.0
|
||||||
// - protoc v3.14.0
|
// - protoc v3.14.0
|
||||||
// source: reflection/grpc_reflection_v1alpha/reflection.proto
|
// grpc/reflection/v1alpha/reflection.proto is a deprecated file.
|
||||||
|
|
||||||
package grpc_reflection_v1alpha
|
package grpc_reflection_v1alpha
|
||||||
|
|
||||||
@ -151,5 +153,5 @@ var ServerReflection_ServiceDesc = grpc.ServiceDesc{
|
|||||||
ClientStreams: true,
|
ClientStreams: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Metadata: "reflection/grpc_reflection_v1alpha/reflection.proto",
|
Metadata: "grpc/reflection/v1alpha/reflection.proto",
|
||||||
}
|
}
|
||||||
|
66
vendor/google.golang.org/grpc/reflection/serverreflection.go
generated
vendored
66
vendor/google.golang.org/grpc/reflection/serverreflection.go
generated
vendored
@ -42,12 +42,14 @@ import (
|
|||||||
|
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
rpb "google.golang.org/grpc/reflection/grpc_reflection_v1alpha"
|
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
"google.golang.org/protobuf/reflect/protodesc"
|
"google.golang.org/protobuf/reflect/protodesc"
|
||||||
"google.golang.org/protobuf/reflect/protoreflect"
|
"google.golang.org/protobuf/reflect/protoreflect"
|
||||||
"google.golang.org/protobuf/reflect/protoregistry"
|
"google.golang.org/protobuf/reflect/protoregistry"
|
||||||
|
|
||||||
|
v1alphagrpc "google.golang.org/grpc/reflection/grpc_reflection_v1alpha"
|
||||||
|
v1alphapb "google.golang.org/grpc/reflection/grpc_reflection_v1alpha"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GRPCServer is the interface provided by a gRPC server. It is implemented by
|
// GRPCServer is the interface provided by a gRPC server. It is implemented by
|
||||||
@ -63,7 +65,7 @@ var _ GRPCServer = (*grpc.Server)(nil)
|
|||||||
// Register registers the server reflection service on the given gRPC server.
|
// Register registers the server reflection service on the given gRPC server.
|
||||||
func Register(s GRPCServer) {
|
func Register(s GRPCServer) {
|
||||||
svr := NewServer(ServerOptions{Services: s})
|
svr := NewServer(ServerOptions{Services: s})
|
||||||
rpb.RegisterServerReflectionServer(s, svr)
|
v1alphagrpc.RegisterServerReflectionServer(s, svr)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ServiceInfoProvider is an interface used to retrieve metadata about the
|
// ServiceInfoProvider is an interface used to retrieve metadata about the
|
||||||
@ -124,7 +126,7 @@ type ServerOptions struct {
|
|||||||
//
|
//
|
||||||
// Notice: This function is EXPERIMENTAL and may be changed or removed in a
|
// Notice: This function is EXPERIMENTAL and may be changed or removed in a
|
||||||
// later release.
|
// later release.
|
||||||
func NewServer(opts ServerOptions) rpb.ServerReflectionServer {
|
func NewServer(opts ServerOptions) v1alphagrpc.ServerReflectionServer {
|
||||||
if opts.DescriptorResolver == nil {
|
if opts.DescriptorResolver == nil {
|
||||||
opts.DescriptorResolver = protoregistry.GlobalFiles
|
opts.DescriptorResolver = protoregistry.GlobalFiles
|
||||||
}
|
}
|
||||||
@ -139,7 +141,7 @@ func NewServer(opts ServerOptions) rpb.ServerReflectionServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type serverReflectionServer struct {
|
type serverReflectionServer struct {
|
||||||
rpb.UnimplementedServerReflectionServer
|
v1alphagrpc.UnimplementedServerReflectionServer
|
||||||
s ServiceInfoProvider
|
s ServiceInfoProvider
|
||||||
descResolver protodesc.Resolver
|
descResolver protodesc.Resolver
|
||||||
extResolver ExtensionResolver
|
extResolver ExtensionResolver
|
||||||
@ -213,11 +215,11 @@ func (s *serverReflectionServer) allExtensionNumbersForTypeName(name string) ([]
|
|||||||
}
|
}
|
||||||
|
|
||||||
// listServices returns the names of services this server exposes.
|
// listServices returns the names of services this server exposes.
|
||||||
func (s *serverReflectionServer) listServices() []*rpb.ServiceResponse {
|
func (s *serverReflectionServer) listServices() []*v1alphapb.ServiceResponse {
|
||||||
serviceInfo := s.s.GetServiceInfo()
|
serviceInfo := s.s.GetServiceInfo()
|
||||||
resp := make([]*rpb.ServiceResponse, 0, len(serviceInfo))
|
resp := make([]*v1alphapb.ServiceResponse, 0, len(serviceInfo))
|
||||||
for svc := range serviceInfo {
|
for svc := range serviceInfo {
|
||||||
resp = append(resp, &rpb.ServiceResponse{Name: svc})
|
resp = append(resp, &v1alphapb.ServiceResponse{Name: svc})
|
||||||
}
|
}
|
||||||
sort.Slice(resp, func(i, j int) bool {
|
sort.Slice(resp, func(i, j int) bool {
|
||||||
return resp[i].Name < resp[j].Name
|
return resp[i].Name < resp[j].Name
|
||||||
@ -226,7 +228,7 @@ func (s *serverReflectionServer) listServices() []*rpb.ServiceResponse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ServerReflectionInfo is the reflection service handler.
|
// ServerReflectionInfo is the reflection service handler.
|
||||||
func (s *serverReflectionServer) ServerReflectionInfo(stream rpb.ServerReflection_ServerReflectionInfoServer) error {
|
func (s *serverReflectionServer) ServerReflectionInfo(stream v1alphagrpc.ServerReflection_ServerReflectionInfoServer) error {
|
||||||
sentFileDescriptors := make(map[string]bool)
|
sentFileDescriptors := make(map[string]bool)
|
||||||
for {
|
for {
|
||||||
in, err := stream.Recv()
|
in, err := stream.Recv()
|
||||||
@ -237,79 +239,79 @@ func (s *serverReflectionServer) ServerReflectionInfo(stream rpb.ServerReflectio
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
out := &rpb.ServerReflectionResponse{
|
out := &v1alphapb.ServerReflectionResponse{
|
||||||
ValidHost: in.Host,
|
ValidHost: in.Host,
|
||||||
OriginalRequest: in,
|
OriginalRequest: in,
|
||||||
}
|
}
|
||||||
switch req := in.MessageRequest.(type) {
|
switch req := in.MessageRequest.(type) {
|
||||||
case *rpb.ServerReflectionRequest_FileByFilename:
|
case *v1alphapb.ServerReflectionRequest_FileByFilename:
|
||||||
var b [][]byte
|
var b [][]byte
|
||||||
fd, err := s.descResolver.FindFileByPath(req.FileByFilename)
|
fd, err := s.descResolver.FindFileByPath(req.FileByFilename)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
b, err = s.fileDescWithDependencies(fd, sentFileDescriptors)
|
b, err = s.fileDescWithDependencies(fd, sentFileDescriptors)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
out.MessageResponse = &rpb.ServerReflectionResponse_ErrorResponse{
|
out.MessageResponse = &v1alphapb.ServerReflectionResponse_ErrorResponse{
|
||||||
ErrorResponse: &rpb.ErrorResponse{
|
ErrorResponse: &v1alphapb.ErrorResponse{
|
||||||
ErrorCode: int32(codes.NotFound),
|
ErrorCode: int32(codes.NotFound),
|
||||||
ErrorMessage: err.Error(),
|
ErrorMessage: err.Error(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
out.MessageResponse = &rpb.ServerReflectionResponse_FileDescriptorResponse{
|
out.MessageResponse = &v1alphapb.ServerReflectionResponse_FileDescriptorResponse{
|
||||||
FileDescriptorResponse: &rpb.FileDescriptorResponse{FileDescriptorProto: b},
|
FileDescriptorResponse: &v1alphapb.FileDescriptorResponse{FileDescriptorProto: b},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case *rpb.ServerReflectionRequest_FileContainingSymbol:
|
case *v1alphapb.ServerReflectionRequest_FileContainingSymbol:
|
||||||
b, err := s.fileDescEncodingContainingSymbol(req.FileContainingSymbol, sentFileDescriptors)
|
b, err := s.fileDescEncodingContainingSymbol(req.FileContainingSymbol, sentFileDescriptors)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
out.MessageResponse = &rpb.ServerReflectionResponse_ErrorResponse{
|
out.MessageResponse = &v1alphapb.ServerReflectionResponse_ErrorResponse{
|
||||||
ErrorResponse: &rpb.ErrorResponse{
|
ErrorResponse: &v1alphapb.ErrorResponse{
|
||||||
ErrorCode: int32(codes.NotFound),
|
ErrorCode: int32(codes.NotFound),
|
||||||
ErrorMessage: err.Error(),
|
ErrorMessage: err.Error(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
out.MessageResponse = &rpb.ServerReflectionResponse_FileDescriptorResponse{
|
out.MessageResponse = &v1alphapb.ServerReflectionResponse_FileDescriptorResponse{
|
||||||
FileDescriptorResponse: &rpb.FileDescriptorResponse{FileDescriptorProto: b},
|
FileDescriptorResponse: &v1alphapb.FileDescriptorResponse{FileDescriptorProto: b},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case *rpb.ServerReflectionRequest_FileContainingExtension:
|
case *v1alphapb.ServerReflectionRequest_FileContainingExtension:
|
||||||
typeName := req.FileContainingExtension.ContainingType
|
typeName := req.FileContainingExtension.ContainingType
|
||||||
extNum := req.FileContainingExtension.ExtensionNumber
|
extNum := req.FileContainingExtension.ExtensionNumber
|
||||||
b, err := s.fileDescEncodingContainingExtension(typeName, extNum, sentFileDescriptors)
|
b, err := s.fileDescEncodingContainingExtension(typeName, extNum, sentFileDescriptors)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
out.MessageResponse = &rpb.ServerReflectionResponse_ErrorResponse{
|
out.MessageResponse = &v1alphapb.ServerReflectionResponse_ErrorResponse{
|
||||||
ErrorResponse: &rpb.ErrorResponse{
|
ErrorResponse: &v1alphapb.ErrorResponse{
|
||||||
ErrorCode: int32(codes.NotFound),
|
ErrorCode: int32(codes.NotFound),
|
||||||
ErrorMessage: err.Error(),
|
ErrorMessage: err.Error(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
out.MessageResponse = &rpb.ServerReflectionResponse_FileDescriptorResponse{
|
out.MessageResponse = &v1alphapb.ServerReflectionResponse_FileDescriptorResponse{
|
||||||
FileDescriptorResponse: &rpb.FileDescriptorResponse{FileDescriptorProto: b},
|
FileDescriptorResponse: &v1alphapb.FileDescriptorResponse{FileDescriptorProto: b},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case *rpb.ServerReflectionRequest_AllExtensionNumbersOfType:
|
case *v1alphapb.ServerReflectionRequest_AllExtensionNumbersOfType:
|
||||||
extNums, err := s.allExtensionNumbersForTypeName(req.AllExtensionNumbersOfType)
|
extNums, err := s.allExtensionNumbersForTypeName(req.AllExtensionNumbersOfType)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
out.MessageResponse = &rpb.ServerReflectionResponse_ErrorResponse{
|
out.MessageResponse = &v1alphapb.ServerReflectionResponse_ErrorResponse{
|
||||||
ErrorResponse: &rpb.ErrorResponse{
|
ErrorResponse: &v1alphapb.ErrorResponse{
|
||||||
ErrorCode: int32(codes.NotFound),
|
ErrorCode: int32(codes.NotFound),
|
||||||
ErrorMessage: err.Error(),
|
ErrorMessage: err.Error(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
out.MessageResponse = &rpb.ServerReflectionResponse_AllExtensionNumbersResponse{
|
out.MessageResponse = &v1alphapb.ServerReflectionResponse_AllExtensionNumbersResponse{
|
||||||
AllExtensionNumbersResponse: &rpb.ExtensionNumberResponse{
|
AllExtensionNumbersResponse: &v1alphapb.ExtensionNumberResponse{
|
||||||
BaseTypeName: req.AllExtensionNumbersOfType,
|
BaseTypeName: req.AllExtensionNumbersOfType,
|
||||||
ExtensionNumber: extNums,
|
ExtensionNumber: extNums,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case *rpb.ServerReflectionRequest_ListServices:
|
case *v1alphapb.ServerReflectionRequest_ListServices:
|
||||||
out.MessageResponse = &rpb.ServerReflectionResponse_ListServicesResponse{
|
out.MessageResponse = &v1alphapb.ServerReflectionResponse_ListServicesResponse{
|
||||||
ListServicesResponse: &rpb.ListServiceResponse{
|
ListServicesResponse: &v1alphapb.ListServiceResponse{
|
||||||
Service: s.listServices(),
|
Service: s.listServices(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
7
vendor/google.golang.org/grpc/regenerate.sh
generated
vendored
7
vendor/google.golang.org/grpc/regenerate.sh
generated
vendored
@ -57,7 +57,8 @@ LEGACY_SOURCES=(
|
|||||||
${WORKDIR}/grpc-proto/grpc/health/v1/health.proto
|
${WORKDIR}/grpc-proto/grpc/health/v1/health.proto
|
||||||
${WORKDIR}/grpc-proto/grpc/lb/v1/load_balancer.proto
|
${WORKDIR}/grpc-proto/grpc/lb/v1/load_balancer.proto
|
||||||
profiling/proto/service.proto
|
profiling/proto/service.proto
|
||||||
reflection/grpc_reflection_v1alpha/reflection.proto
|
${WORKDIR}/grpc-proto/grpc/reflection/v1alpha/reflection.proto
|
||||||
|
${WORKDIR}/grpc-proto/grpc/reflection/v1/reflection.proto
|
||||||
)
|
)
|
||||||
|
|
||||||
# Generates only the new gRPC Service symbols
|
# Generates only the new gRPC Service symbols
|
||||||
@ -119,8 +120,4 @@ mv ${WORKDIR}/out/google.golang.org/grpc/lookup/grpc_lookup_v1/* ${WORKDIR}/out/
|
|||||||
# see grpc_testing_not_regenerate/README.md for details.
|
# see grpc_testing_not_regenerate/README.md for details.
|
||||||
rm ${WORKDIR}/out/google.golang.org/grpc/reflection/grpc_testing_not_regenerate/*.pb.go
|
rm ${WORKDIR}/out/google.golang.org/grpc/reflection/grpc_testing_not_regenerate/*.pb.go
|
||||||
|
|
||||||
# grpc/testing does not have a go_package option.
|
|
||||||
mv ${WORKDIR}/out/grpc/testing/*.pb.go interop/grpc_testing/
|
|
||||||
mv ${WORKDIR}/out/grpc/core/*.pb.go interop/grpc_testing/core/
|
|
||||||
|
|
||||||
cp -R ${WORKDIR}/out/google.golang.org/grpc/* .
|
cp -R ${WORKDIR}/out/google.golang.org/grpc/* .
|
||||||
|
69
vendor/google.golang.org/grpc/server.go
generated
vendored
69
vendor/google.golang.org/grpc/server.go
generated
vendored
@ -233,10 +233,11 @@ func newJoinServerOption(opts ...ServerOption) ServerOption {
|
|||||||
return &joinServerOption{opts: opts}
|
return &joinServerOption{opts: opts}
|
||||||
}
|
}
|
||||||
|
|
||||||
// WriteBufferSize determines how much data can be batched before doing a write on the wire.
|
// WriteBufferSize determines how much data can be batched before doing a write
|
||||||
// The corresponding memory allocation for this buffer will be twice the size to keep syscalls low.
|
// on the wire. The corresponding memory allocation for this buffer will be
|
||||||
// The default value for this buffer is 32KB.
|
// twice the size to keep syscalls low. The default value for this buffer is
|
||||||
// Zero will disable the write buffer such that each write will be on underlying connection.
|
// 32KB. Zero or negative values will disable the write buffer such that each
|
||||||
|
// write will be on underlying connection.
|
||||||
// Note: A Send call may not directly translate to a write.
|
// Note: A Send call may not directly translate to a write.
|
||||||
func WriteBufferSize(s int) ServerOption {
|
func WriteBufferSize(s int) ServerOption {
|
||||||
return newFuncServerOption(func(o *serverOptions) {
|
return newFuncServerOption(func(o *serverOptions) {
|
||||||
@ -244,11 +245,10 @@ func WriteBufferSize(s int) ServerOption {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadBufferSize lets you set the size of read buffer, this determines how much data can be read at most
|
// ReadBufferSize lets you set the size of read buffer, this determines how much
|
||||||
// for one read syscall.
|
// data can be read at most for one read syscall. The default value for this
|
||||||
// The default value for this buffer is 32KB.
|
// buffer is 32KB. Zero or negative values will disable read buffer for a
|
||||||
// Zero will disable read buffer for a connection so data framer can access the underlying
|
// connection so data framer can access the underlying conn directly.
|
||||||
// conn directly.
|
|
||||||
func ReadBufferSize(s int) ServerOption {
|
func ReadBufferSize(s int) ServerOption {
|
||||||
return newFuncServerOption(func(o *serverOptions) {
|
return newFuncServerOption(func(o *serverOptions) {
|
||||||
o.readBufferSize = s
|
o.readBufferSize = s
|
||||||
@ -942,7 +942,7 @@ func (s *Server) newHTTP2Transport(c net.Conn) transport.ServerTransport {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) serveStreams(st transport.ServerTransport) {
|
func (s *Server) serveStreams(st transport.ServerTransport) {
|
||||||
defer st.Close()
|
defer st.Close(errors.New("finished serving streams for the server transport"))
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
|
|
||||||
var roundRobinCounter uint32
|
var roundRobinCounter uint32
|
||||||
@ -1008,7 +1008,8 @@ var _ http.Handler = (*Server)(nil)
|
|||||||
func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||||
st, err := transport.NewServerHandlerTransport(w, r, s.opts.statsHandlers)
|
st, err := transport.NewServerHandlerTransport(w, r, s.opts.statsHandlers)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
// Errors returned from transport.NewServerHandlerTransport have
|
||||||
|
// already been written to w.
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !s.addConn(listenerAddressForServeHTTP, st) {
|
if !s.addConn(listenerAddressForServeHTTP, st) {
|
||||||
@ -1046,7 +1047,7 @@ func (s *Server) addConn(addr string, st transport.ServerTransport) bool {
|
|||||||
s.mu.Lock()
|
s.mu.Lock()
|
||||||
defer s.mu.Unlock()
|
defer s.mu.Unlock()
|
||||||
if s.conns == nil {
|
if s.conns == nil {
|
||||||
st.Close()
|
st.Close(errors.New("Server.addConn called when server has already been stopped"))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if s.drain {
|
if s.drain {
|
||||||
@ -1150,21 +1151,16 @@ func chainUnaryServerInterceptors(s *Server) {
|
|||||||
|
|
||||||
func chainUnaryInterceptors(interceptors []UnaryServerInterceptor) UnaryServerInterceptor {
|
func chainUnaryInterceptors(interceptors []UnaryServerInterceptor) UnaryServerInterceptor {
|
||||||
return func(ctx context.Context, req interface{}, info *UnaryServerInfo, handler UnaryHandler) (interface{}, error) {
|
return func(ctx context.Context, req interface{}, info *UnaryServerInfo, handler UnaryHandler) (interface{}, error) {
|
||||||
// the struct ensures the variables are allocated together, rather than separately, since we
|
return interceptors[0](ctx, req, info, getChainUnaryHandler(interceptors, 0, info, handler))
|
||||||
// know they should be garbage collected together. This saves 1 allocation and decreases
|
|
||||||
// time/call by about 10% on the microbenchmark.
|
|
||||||
var state struct {
|
|
||||||
i int
|
|
||||||
next UnaryHandler
|
|
||||||
}
|
}
|
||||||
state.next = func(ctx context.Context, req interface{}) (interface{}, error) {
|
}
|
||||||
if state.i == len(interceptors)-1 {
|
|
||||||
return interceptors[state.i](ctx, req, info, handler)
|
func getChainUnaryHandler(interceptors []UnaryServerInterceptor, curr int, info *UnaryServerInfo, finalHandler UnaryHandler) UnaryHandler {
|
||||||
|
if curr == len(interceptors)-1 {
|
||||||
|
return finalHandler
|
||||||
}
|
}
|
||||||
state.i++
|
return func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
return interceptors[state.i-1](ctx, req, info, state.next)
|
return interceptors[curr+1](ctx, req, info, getChainUnaryHandler(interceptors, curr+1, info, finalHandler))
|
||||||
}
|
|
||||||
return state.next(ctx, req)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1470,21 +1466,16 @@ func chainStreamServerInterceptors(s *Server) {
|
|||||||
|
|
||||||
func chainStreamInterceptors(interceptors []StreamServerInterceptor) StreamServerInterceptor {
|
func chainStreamInterceptors(interceptors []StreamServerInterceptor) StreamServerInterceptor {
|
||||||
return func(srv interface{}, ss ServerStream, info *StreamServerInfo, handler StreamHandler) error {
|
return func(srv interface{}, ss ServerStream, info *StreamServerInfo, handler StreamHandler) error {
|
||||||
// the struct ensures the variables are allocated together, rather than separately, since we
|
return interceptors[0](srv, ss, info, getChainStreamHandler(interceptors, 0, info, handler))
|
||||||
// know they should be garbage collected together. This saves 1 allocation and decreases
|
|
||||||
// time/call by about 10% on the microbenchmark.
|
|
||||||
var state struct {
|
|
||||||
i int
|
|
||||||
next StreamHandler
|
|
||||||
}
|
}
|
||||||
state.next = func(srv interface{}, ss ServerStream) error {
|
}
|
||||||
if state.i == len(interceptors)-1 {
|
|
||||||
return interceptors[state.i](srv, ss, info, handler)
|
func getChainStreamHandler(interceptors []StreamServerInterceptor, curr int, info *StreamServerInfo, finalHandler StreamHandler) StreamHandler {
|
||||||
|
if curr == len(interceptors)-1 {
|
||||||
|
return finalHandler
|
||||||
}
|
}
|
||||||
state.i++
|
return func(srv interface{}, stream ServerStream) error {
|
||||||
return interceptors[state.i-1](srv, ss, info, state.next)
|
return interceptors[curr+1](srv, stream, info, getChainStreamHandler(interceptors, curr+1, info, finalHandler))
|
||||||
}
|
|
||||||
return state.next(srv, ss)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1819,7 +1810,7 @@ func (s *Server) Stop() {
|
|||||||
}
|
}
|
||||||
for _, cs := range conns {
|
for _, cs := range conns {
|
||||||
for st := range cs {
|
for st := range cs {
|
||||||
st.Close()
|
st.Close(errors.New("Server.Stop called"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if s.opts.numServerWorkers > 0 {
|
if s.opts.numServerWorkers > 0 {
|
||||||
|
2
vendor/google.golang.org/grpc/stream.go
generated
vendored
2
vendor/google.golang.org/grpc/stream.go
generated
vendored
@ -416,7 +416,7 @@ func (cs *clientStream) newAttemptLocked(isTransparent bool) (*csAttempt, error)
|
|||||||
ctx = trace.NewContext(ctx, trInfo.tr)
|
ctx = trace.NewContext(ctx, trInfo.tr)
|
||||||
}
|
}
|
||||||
|
|
||||||
if cs.cc.parsedTarget.Scheme == "xds" {
|
if cs.cc.parsedTarget.URL.Scheme == "xds" {
|
||||||
// Add extra metadata (metadata that will be added by transport) to context
|
// Add extra metadata (metadata that will be added by transport) to context
|
||||||
// so the balancer can see them.
|
// so the balancer can see them.
|
||||||
ctx = grpcutil.WithExtraMetadata(ctx, metadata.Pairs(
|
ctx = grpcutil.WithExtraMetadata(ctx, metadata.Pairs(
|
||||||
|
2
vendor/google.golang.org/grpc/version.go
generated
vendored
2
vendor/google.golang.org/grpc/version.go
generated
vendored
@ -19,4 +19,4 @@
|
|||||||
package grpc
|
package grpc
|
||||||
|
|
||||||
// Version is the current grpc version.
|
// Version is the current grpc version.
|
||||||
const Version = "1.51.0"
|
const Version = "1.52.0"
|
||||||
|
3
vendor/google.golang.org/grpc/vet.sh
generated
vendored
3
vendor/google.golang.org/grpc/vet.sh
generated
vendored
@ -121,8 +121,9 @@ done
|
|||||||
#
|
#
|
||||||
# TODO(dfawley): don't use deprecated functions in examples or first-party
|
# TODO(dfawley): don't use deprecated functions in examples or first-party
|
||||||
# plugins.
|
# plugins.
|
||||||
|
# TODO(dfawley): enable ST1019 (duplicate imports) but allow for protobufs.
|
||||||
SC_OUT="$(mktemp)"
|
SC_OUT="$(mktemp)"
|
||||||
staticcheck -go 1.9 -checks 'inherit,-ST1015' ./... > "${SC_OUT}" || true
|
staticcheck -go 1.19 -checks 'inherit,-ST1015,-ST1019,-SA1019' ./... > "${SC_OUT}" || true
|
||||||
# Error if anything other than deprecation warnings are printed.
|
# Error if anything other than deprecation warnings are printed.
|
||||||
not grep -v "is deprecated:.*SA1019" "${SC_OUT}"
|
not grep -v "is deprecated:.*SA1019" "${SC_OUT}"
|
||||||
# Only ignore the following deprecated types/fields/functions.
|
# Only ignore the following deprecated types/fields/functions.
|
||||||
|
6
vendor/modules.txt
vendored
6
vendor/modules.txt
vendored
@ -688,19 +688,19 @@ google.golang.org/appengine/internal/log
|
|||||||
google.golang.org/appengine/internal/remote_api
|
google.golang.org/appengine/internal/remote_api
|
||||||
google.golang.org/appengine/internal/urlfetch
|
google.golang.org/appengine/internal/urlfetch
|
||||||
google.golang.org/appengine/urlfetch
|
google.golang.org/appengine/urlfetch
|
||||||
# google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e
|
# google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6
|
||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
google.golang.org/genproto/googleapis/api/httpbody
|
google.golang.org/genproto/googleapis/api/httpbody
|
||||||
google.golang.org/genproto/googleapis/rpc/status
|
google.golang.org/genproto/googleapis/rpc/status
|
||||||
google.golang.org/genproto/protobuf/field_mask
|
google.golang.org/genproto/protobuf/field_mask
|
||||||
# google.golang.org/grpc v1.51.0
|
# google.golang.org/grpc v1.52.0
|
||||||
## explicit; go 1.17
|
## explicit; go 1.17
|
||||||
google.golang.org/grpc
|
google.golang.org/grpc
|
||||||
google.golang.org/grpc/attributes
|
google.golang.org/grpc/attributes
|
||||||
google.golang.org/grpc/backoff
|
google.golang.org/grpc/backoff
|
||||||
google.golang.org/grpc/balancer
|
google.golang.org/grpc/balancer
|
||||||
google.golang.org/grpc/balancer/base
|
google.golang.org/grpc/balancer/base
|
||||||
google.golang.org/grpc/balancer/grpclb/state
|
google.golang.org/grpc/balancer/grpclb/grpclbstate
|
||||||
google.golang.org/grpc/balancer/roundrobin
|
google.golang.org/grpc/balancer/roundrobin
|
||||||
google.golang.org/grpc/binarylog/grpc_binarylog_v1
|
google.golang.org/grpc/binarylog/grpc_binarylog_v1
|
||||||
google.golang.org/grpc/channelz
|
google.golang.org/grpc/channelz
|
||||||
|
Loading…
Reference in New Issue
Block a user