build(deps): bump google.golang.org/grpc from 1.60.1 to 1.61.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.60.1 to 1.61.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.60.1...v1.61.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:
		
							
								
								
									
										6
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								go.mod
									
									
									
									
									
								
							| @@ -69,7 +69,7 @@ require ( | ||||
| 	golang.org/x/sync v0.6.0 | ||||
| 	golang.org/x/sys v0.16.0 | ||||
| 	google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 | ||||
| 	google.golang.org/grpc v1.60.1 | ||||
| 	google.golang.org/grpc v1.61.0 | ||||
| 	google.golang.org/protobuf v1.32.0 | ||||
| 	k8s.io/apimachinery v0.28.4 | ||||
| 	k8s.io/client-go v0.28.4 | ||||
| @@ -118,13 +118,13 @@ require ( | ||||
| 	go.opentelemetry.io/proto/otlp v1.0.0 // indirect | ||||
| 	golang.org/x/exp v0.0.0-20231214170342-aacd6d4b4611 // indirect | ||||
| 	golang.org/x/net v0.19.0 // indirect | ||||
| 	golang.org/x/oauth2 v0.13.0 // indirect | ||||
| 	golang.org/x/oauth2 v0.14.0 // indirect | ||||
| 	golang.org/x/term v0.15.0 // indirect | ||||
| 	golang.org/x/text v0.14.0 // indirect | ||||
| 	golang.org/x/time v0.3.0 // indirect | ||||
| 	golang.org/x/tools v0.16.0 // indirect | ||||
| 	google.golang.org/appengine v1.6.8 // indirect | ||||
| 	google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 // indirect | ||||
| 	google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 // indirect | ||||
| 	gopkg.in/inf.v0 v0.9.1 // indirect | ||||
| 	gopkg.in/yaml.v2 v2.4.0 // indirect | ||||
| 	gopkg.in/yaml.v3 v3.0.1 // indirect | ||||
|   | ||||
							
								
								
									
										16
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								go.sum
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| cloud.google.com/go v0.26.0 h1:e0WKqKTd5BnrG8aKH3J3h+QvEIQtSUcf2n5UZ5ZgLtQ= | ||||
| cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | ||||
| cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY= | ||||
| cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= | ||||
| cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= | ||||
| cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= | ||||
| dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= | ||||
| @@ -37,7 +37,7 @@ github.com/cilium/ebpf v0.11.0 h1:V8gS/bTCCjX9uUnkUFUpPsksM8n1lXBAvHcpiFk1X2Y= | ||||
| github.com/cilium/ebpf v0.11.0/go.mod h1:WE7CZAnqOL2RouJ4f1uyNhqr2P4CCvXFIqdRDUgWsVs= | ||||
| github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= | ||||
| github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= | ||||
| github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= | ||||
| github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101 h1:7To3pQ+pZo0i3dsWEbinPNFs5gPSBOsJtx3wTT94VBY= | ||||
| github.com/containerd/btrfs/v2 v2.0.0 h1:FN4wsx7KQrYoLXN7uLP0vBV4oVWHOIKDRQ1G2Z0oL5M= | ||||
| github.com/containerd/btrfs/v2 v2.0.0/go.mod h1:swkD/7j9HApWpzl8OHfrHNxppPd9l44DFZdF94BUj9k= | ||||
| github.com/containerd/cgroups/v3 v3.0.3 h1:S5ByHZ/h9PMe5IOQoN7E+nMc2UcLEM/V48DGDJ9kip0= | ||||
| @@ -394,8 +394,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug | ||||
| golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= | ||||
| golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= | ||||
| golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | ||||
| golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= | ||||
| golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= | ||||
| golang.org/x/oauth2 v0.14.0 h1:P0Vrf/2538nmC0H+pEQ3MNFRRnVR7RlqyVw+bvm26z0= | ||||
| golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= | ||||
| golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| @@ -477,8 +477,8 @@ google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfG | ||||
| google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= | ||||
| google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= | ||||
| google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3 h1:1hfbdAfFbkmpg41000wDVqr7jUpK/Yo+LPnIxxGzmkg= | ||||
| google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 h1:W18sezcAYs+3tDZX4F80yctqa12jcP1PUS2gQu1zTPU= | ||||
| google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0= | ||||
| google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo= | ||||
| google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= | ||||
| google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 h1:/jFB8jK5R3Sq3i/lmeZO0cATSzFfZaJq1J2Euan3XKU= | ||||
| google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0/go.mod h1:FUoWkonphQm3RhTS+kOEhF8h0iDpm4tdXolVCeZ9KKA= | ||||
| google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= | ||||
| @@ -488,8 +488,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 | ||||
| google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= | ||||
| google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= | ||||
| google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= | ||||
| google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= | ||||
| google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= | ||||
| google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= | ||||
| google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= | ||||
| google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= | ||||
| google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= | ||||
| google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -430,7 +430,7 @@ type ClientHeader struct { | ||||
| 	MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` | ||||
| 	// A single process may be used to run multiple virtual | ||||
| 	// servers with different identities. | ||||
| 	// The authority is the name of such a server identitiy. | ||||
| 	// The authority is the name of such a server identity. | ||||
| 	// It is typically a portion of the URI in the form of | ||||
| 	// <host> or <host>:<port> . | ||||
| 	Authority string `protobuf:"bytes,3,opt,name=authority,proto3" json:"authority,omitempty"` | ||||
|   | ||||
							
								
								
									
										24
									
								
								vendor/google.golang.org/grpc/clientconn.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/google.golang.org/grpc/clientconn.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1860,27 +1860,15 @@ func (cc *ClientConn) determineAuthority() error { | ||||
| 	} | ||||
|  | ||||
| 	endpoint := cc.parsedTarget.Endpoint() | ||||
| 	target := cc.target | ||||
| 	switch { | ||||
| 	case authorityFromDialOption != "": | ||||
| 	if authorityFromDialOption != "" { | ||||
| 		cc.authority = authorityFromDialOption | ||||
| 	case authorityFromCreds != "": | ||||
| 	} else if authorityFromCreds != "" { | ||||
| 		cc.authority = authorityFromCreds | ||||
| 	case strings.HasPrefix(target, "unix:") || strings.HasPrefix(target, "unix-abstract:"): | ||||
| 		// TODO: remove when the unix resolver implements optional interface to | ||||
| 		// return channel authority. | ||||
| 		cc.authority = "localhost" | ||||
| 	case strings.HasPrefix(endpoint, ":"): | ||||
| 	} else if auth, ok := cc.resolverBuilder.(resolver.AuthorityOverrider); ok { | ||||
| 		cc.authority = auth.OverrideAuthority(cc.parsedTarget) | ||||
| 	} else if strings.HasPrefix(endpoint, ":") { | ||||
| 		cc.authority = "localhost" + endpoint | ||||
| 	default: | ||||
| 		// TODO: Define an optional interface on the resolver builder to return | ||||
| 		// the channel authority given the user's dial target. For resolvers | ||||
| 		// which don't implement this interface, we will use the endpoint from | ||||
| 		// "scheme://authority/endpoint" as the default authority. | ||||
| 		// Escape the endpoint to handle use cases where the endpoint | ||||
| 		// might not be a valid authority by default. | ||||
| 		// For example an endpoint which has multiple paths like | ||||
| 		// 'a/b/c', which is not a valid authority by default. | ||||
| 	} else { | ||||
| 		cc.authority = encodeAuthority(endpoint) | ||||
| 	} | ||||
| 	channelz.Infof(logger, cc.channelzID, "Channel authority set to %q", cc.authority) | ||||
|   | ||||
							
								
								
									
										20
									
								
								vendor/google.golang.org/grpc/internal/internal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/google.golang.org/grpc/internal/internal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -57,7 +57,7 @@ var ( | ||||
| 	// GetXDSHandshakeInfoForTesting returns a pointer to the xds.HandshakeInfo | ||||
| 	// stored in the passed in attributes. This is set by | ||||
| 	// credentials/xds/xds.go. | ||||
| 	GetXDSHandshakeInfoForTesting any // func (*attributes.Attributes) *xds.HandshakeInfo | ||||
| 	GetXDSHandshakeInfoForTesting any // func (*attributes.Attributes) *unsafe.Pointer | ||||
| 	// GetServerCredentials returns the transport credentials configured on a | ||||
| 	// gRPC server. An xDS-enabled server needs to know what type of credentials | ||||
| 	// is configured on the underlying gRPC server. This is set by server.go. | ||||
| @@ -68,11 +68,6 @@ var ( | ||||
| 	// This is used in the 1.0 release of gcp/observability, and thus must not be | ||||
| 	// deleted or changed. | ||||
| 	CanonicalString any // func (codes.Code) string | ||||
| 	// DrainServerTransports initiates a graceful close of existing connections | ||||
| 	// on a gRPC server accepted on the provided listener address. An | ||||
| 	// xDS-enabled server invokes this method on a grpc.Server when a particular | ||||
| 	// listener moves to "not-serving" mode. | ||||
| 	DrainServerTransports any // func(*grpc.Server, string) | ||||
| 	// IsRegisteredMethod returns whether the passed in method is registered as | ||||
| 	// a method on the server. | ||||
| 	IsRegisteredMethod any // func(*grpc.Server, string) bool | ||||
| @@ -188,6 +183,19 @@ var ( | ||||
| 	ExitIdleModeForTesting any // func(*grpc.ClientConn) error | ||||
|  | ||||
| 	ChannelzTurnOffForTesting func() | ||||
|  | ||||
| 	// TriggerXDSResourceNameNotFoundForTesting triggers the resource-not-found | ||||
| 	// error for a given resource type and name. This is usually triggered when | ||||
| 	// the associated watch timer fires. For testing purposes, having this | ||||
| 	// function makes events more predictable than relying on timer events. | ||||
| 	TriggerXDSResourceNameNotFoundForTesting any // func(func(xdsresource.Type, string), string, string) error | ||||
|  | ||||
| 	// TriggerXDSResourceNotFoundClient invokes the testing xDS Client singleton | ||||
| 	// to invoke resource not found for a resource type name and resource name. | ||||
| 	TriggerXDSResourceNameNotFoundClient any // func(string, string) error | ||||
|  | ||||
| 	// FromOutgoingContextRaw returns the un-merged, intermediary contents of metadata.rawMD. | ||||
| 	FromOutgoingContextRaw any // func(context.Context) (metadata.MD, [][]string, bool) | ||||
| ) | ||||
|  | ||||
| // HealthChecker defines the signature of the client-side LB channel health checking function. | ||||
|   | ||||
							
								
								
									
										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
									
									
								
							| @@ -61,6 +61,10 @@ func (b *builder) Scheme() string { | ||||
| 	return b.scheme | ||||
| } | ||||
|  | ||||
| func (b *builder) OverrideAuthority(resolver.Target) string { | ||||
| 	return "localhost" | ||||
| } | ||||
|  | ||||
| type nopResolver struct { | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| //go:build !unix | ||||
| //go:build !unix && !windows | ||||
| 
 | ||||
| /* | ||||
|  * Copyright 2023 gRPC authors. | ||||
							
								
								
									
										54
									
								
								vendor/google.golang.org/grpc/internal/tcp_keepalive_windows.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								vendor/google.golang.org/grpc/internal/tcp_keepalive_windows.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| //go:build windows | ||||
|  | ||||
| /* | ||||
|  * Copyright 2023 gRPC authors. | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| package internal | ||||
|  | ||||
| import ( | ||||
| 	"net" | ||||
| 	"syscall" | ||||
| 	"time" | ||||
|  | ||||
| 	"golang.org/x/sys/windows" | ||||
| ) | ||||
|  | ||||
| // NetDialerWithTCPKeepalive returns a net.Dialer that enables TCP keepalives on | ||||
| // the underlying connection with OS default values for keepalive parameters. | ||||
| // | ||||
| // TODO: Once https://github.com/golang/go/issues/62254 lands, and the | ||||
| // appropriate Go version becomes less than our least supported Go version, we | ||||
| // should look into using the new API to make things more straightforward. | ||||
| func NetDialerWithTCPKeepalive() *net.Dialer { | ||||
| 	return &net.Dialer{ | ||||
| 		// Setting a negative value here prevents the Go stdlib from overriding | ||||
| 		// the values of TCP keepalive time and interval. It also prevents the | ||||
| 		// Go stdlib from enabling TCP keepalives by default. | ||||
| 		KeepAlive: time.Duration(-1), | ||||
| 		// This method is called after the underlying network socket is created, | ||||
| 		// but before dialing the socket (or calling its connect() method). The | ||||
| 		// combination of unconditionally enabling TCP keepalives here, and | ||||
| 		// disabling the overriding of TCP keepalive parameters by setting the | ||||
| 		// KeepAlive field to a negative value above, results in OS defaults for | ||||
| 		// the TCP keealive interval and time parameters. | ||||
| 		Control: func(_, _ string, c syscall.RawConn) error { | ||||
| 			return c.Control(func(fd uintptr) { | ||||
| 				windows.SetsockoptInt(windows.Handle(fd), windows.SOL_SOCKET, windows.SO_KEEPALIVE, 1) | ||||
| 			}) | ||||
| 		}, | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										10
									
								
								vendor/google.golang.org/grpc/internal/transport/http2_client.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/google.golang.org/grpc/internal/transport/http2_client.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -59,6 +59,8 @@ import ( | ||||
| // atomically. | ||||
| var clientConnectionCounter uint64 | ||||
|  | ||||
| var metadataFromOutgoingContextRaw = internal.FromOutgoingContextRaw.(func(context.Context) (metadata.MD, [][]string, bool)) | ||||
|  | ||||
| // http2Client implements the ClientTransport interface with HTTP2. | ||||
| type http2Client struct { | ||||
| 	lastRead  int64 // Keep this field 64-bit aligned. Accessed atomically. | ||||
| @@ -568,7 +570,7 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr) | ||||
| 		headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-trace-bin", Value: encodeBinHeader(b)}) | ||||
| 	} | ||||
|  | ||||
| 	if md, added, ok := metadata.FromOutgoingContextRaw(ctx); ok { | ||||
| 	if md, added, ok := metadataFromOutgoingContextRaw(ctx); ok { | ||||
| 		var k string | ||||
| 		for k, vv := range md { | ||||
| 			// HTTP doesn't allow you to set pseudoheaders after non pseudoheaders were set. | ||||
| @@ -1323,10 +1325,8 @@ func (t *http2Client) handleGoAway(f *http2.GoAwayFrame) { | ||||
| 	for streamID, stream := range t.activeStreams { | ||||
| 		if streamID > id && streamID <= upperLimit { | ||||
| 			// The stream was unprocessed by the server. | ||||
| 			if streamID > id && streamID <= upperLimit { | ||||
| 				atomic.StoreUint32(&stream.unprocessed, 1) | ||||
| 				streamsToClose = append(streamsToClose, stream) | ||||
| 			} | ||||
| 			atomic.StoreUint32(&stream.unprocessed, 1) | ||||
| 			streamsToClose = append(streamsToClose, stream) | ||||
| 		} | ||||
| 	} | ||||
| 	t.mu.Unlock() | ||||
|   | ||||
							
								
								
									
										7
									
								
								vendor/google.golang.org/grpc/internal/transport/http2_server.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/google.golang.org/grpc/internal/transport/http2_server.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -960,7 +960,12 @@ func (t *http2Server) WriteHeader(s *Stream, md metadata.MD) error { | ||||
| 		} | ||||
| 	} | ||||
| 	if err := t.writeHeaderLocked(s); err != nil { | ||||
| 		return status.Convert(err).Err() | ||||
| 		switch e := err.(type) { | ||||
| 		case ConnectionError: | ||||
| 			return status.Error(codes.Unavailable, e.Desc) | ||||
| 		default: | ||||
| 			return status.Convert(err).Err() | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|   | ||||
							
								
								
									
										13
									
								
								vendor/google.golang.org/grpc/metadata/metadata.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/google.golang.org/grpc/metadata/metadata.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -25,8 +25,14 @@ import ( | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"strings" | ||||
|  | ||||
| 	"google.golang.org/grpc/internal" | ||||
| ) | ||||
|  | ||||
| func init() { | ||||
| 	internal.FromOutgoingContextRaw = fromOutgoingContextRaw | ||||
| } | ||||
|  | ||||
| // DecodeKeyValue returns k, v, nil. | ||||
| // | ||||
| // Deprecated: use k and v directly instead. | ||||
| @@ -238,16 +244,13 @@ func copyOf(v []string) []string { | ||||
| 	return vals | ||||
| } | ||||
|  | ||||
| // FromOutgoingContextRaw returns the un-merged, intermediary contents of rawMD. | ||||
| // fromOutgoingContextRaw returns the un-merged, intermediary contents of rawMD. | ||||
| // | ||||
| // Remember to perform strings.ToLower on the keys, for both the returned MD (MD | ||||
| // is a map, there's no guarantee it's created using our helper functions) and | ||||
| // the extra kv pairs (AppendToOutgoingContext doesn't turn them into | ||||
| // lowercase). | ||||
| // | ||||
| // This is intended for gRPC-internal use ONLY. Users should use | ||||
| // FromOutgoingContext instead. | ||||
| func FromOutgoingContextRaw(ctx context.Context) (MD, [][]string, bool) { | ||||
| func fromOutgoingContextRaw(ctx context.Context) (MD, [][]string, bool) { | ||||
| 	raw, ok := ctx.Value(mdOutgoingKey{}).(rawMD) | ||||
| 	if !ok { | ||||
| 		return nil, nil, false | ||||
|   | ||||
							
								
								
									
										10
									
								
								vendor/google.golang.org/grpc/resolver/resolver.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/google.golang.org/grpc/resolver/resolver.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -314,3 +314,13 @@ type Resolver interface { | ||||
| 	// Close closes the resolver. | ||||
| 	Close() | ||||
| } | ||||
|  | ||||
| // AuthorityOverrider is implemented by Builders that wish to override the | ||||
| // default authority for the ClientConn. | ||||
| // By default, the authority used is target.Endpoint(). | ||||
| type AuthorityOverrider interface { | ||||
| 	// OverrideAuthority returns the authority to use for a ClientConn with the | ||||
| 	// given target. The implementation must generate it without blocking, | ||||
| 	// typically in line, and must keep it unchanged. | ||||
| 	OverrideAuthority(Target) string | ||||
| } | ||||
|   | ||||
							
								
								
									
										8
									
								
								vendor/google.golang.org/grpc/rpc_util.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/google.golang.org/grpc/rpc_util.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -640,14 +640,18 @@ func encode(c baseCodec, msg any) ([]byte, error) { | ||||
| 	return b, nil | ||||
| } | ||||
|  | ||||
| // compress returns the input bytes compressed by compressor or cp.  If both | ||||
| // compressors are nil, returns nil. | ||||
| // compress returns the input bytes compressed by compressor or cp. | ||||
| // If both compressors are nil, or if the message has zero length, returns nil, | ||||
| // indicating no compression was done. | ||||
| // | ||||
| // TODO(dfawley): eliminate cp parameter by wrapping Compressor in an encoding.Compressor. | ||||
| func compress(in []byte, cp Compressor, compressor encoding.Compressor) ([]byte, error) { | ||||
| 	if compressor == nil && cp == nil { | ||||
| 		return nil, nil | ||||
| 	} | ||||
| 	if len(in) == 0 { | ||||
| 		return nil, nil | ||||
| 	} | ||||
| 	wrapErr := func(err error) error { | ||||
| 		return status.Errorf(codes.Internal, "grpc: error while compressing: %v", err.Error()) | ||||
| 	} | ||||
|   | ||||
							
								
								
									
										43
									
								
								vendor/google.golang.org/grpc/server.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								vendor/google.golang.org/grpc/server.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -74,9 +74,6 @@ func init() { | ||||
| 		return srv.isRegisteredMethod(method) | ||||
| 	} | ||||
| 	internal.ServerFromContext = serverFromContext | ||||
| 	internal.DrainServerTransports = func(srv *Server, addr string) { | ||||
| 		srv.drainServerTransports(addr) | ||||
| 	} | ||||
| 	internal.AddGlobalServerOptions = func(opt ...ServerOption) { | ||||
| 		globalServerOptions = append(globalServerOptions, opt...) | ||||
| 	} | ||||
| @@ -139,7 +136,8 @@ type Server struct { | ||||
| 	quit               *grpcsync.Event | ||||
| 	done               *grpcsync.Event | ||||
| 	channelzRemoveOnce sync.Once | ||||
| 	serveWG            sync.WaitGroup // counts active Serve goroutines for GracefulStop | ||||
| 	serveWG            sync.WaitGroup // counts active Serve goroutines for Stop/GracefulStop | ||||
| 	handlersWG         sync.WaitGroup // counts active method handler goroutines | ||||
|  | ||||
| 	channelzID *channelz.Identifier | ||||
| 	czData     *channelzData | ||||
| @@ -176,6 +174,7 @@ type serverOptions struct { | ||||
| 	headerTableSize       *uint32 | ||||
| 	numServerWorkers      uint32 | ||||
| 	recvBufferPool        SharedBufferPool | ||||
| 	waitForHandlers       bool | ||||
| } | ||||
|  | ||||
| var defaultServerOptions = serverOptions{ | ||||
| @@ -573,6 +572,21 @@ func NumStreamWorkers(numServerWorkers uint32) ServerOption { | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| // WaitForHandlers cause Stop to wait until all outstanding method handlers have | ||||
| // exited before returning.  If false, Stop will return as soon as all | ||||
| // connections have closed, but method handlers may still be running. By | ||||
| // default, Stop does not wait for method handlers to return. | ||||
| // | ||||
| // # Experimental | ||||
| // | ||||
| // Notice: This API is EXPERIMENTAL and may be changed or removed in a | ||||
| // later release. | ||||
| func WaitForHandlers(w bool) ServerOption { | ||||
| 	return newFuncServerOption(func(o *serverOptions) { | ||||
| 		o.waitForHandlers = w | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| // RecvBufferPool returns a ServerOption that configures the server | ||||
| // to use the provided shared buffer pool for parsing incoming messages. Depending | ||||
| // on the application's workload, this could result in reduced memory allocation. | ||||
| @@ -932,6 +946,12 @@ func (s *Server) handleRawConn(lisAddr string, rawConn net.Conn) { | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| 	if cc, ok := rawConn.(interface { | ||||
| 		PassServerTransport(transport.ServerTransport) | ||||
| 	}); ok { | ||||
| 		cc.PassServerTransport(st) | ||||
| 	} | ||||
|  | ||||
| 	if !s.addConn(lisAddr, st) { | ||||
| 		return | ||||
| 	} | ||||
| @@ -941,15 +961,6 @@ func (s *Server) handleRawConn(lisAddr string, rawConn net.Conn) { | ||||
| 	}() | ||||
| } | ||||
|  | ||||
| func (s *Server) drainServerTransports(addr string) { | ||||
| 	s.mu.Lock() | ||||
| 	conns := s.conns[addr] | ||||
| 	for st := range conns { | ||||
| 		st.Drain("") | ||||
| 	} | ||||
| 	s.mu.Unlock() | ||||
| } | ||||
|  | ||||
| // newHTTP2Transport sets up a http/2 transport (using the | ||||
| // gRPC http2 server transport in transport/http2_server.go). | ||||
| func (s *Server) newHTTP2Transport(c net.Conn) transport.ServerTransport { | ||||
| @@ -1010,9 +1021,11 @@ func (s *Server) serveStreams(ctx context.Context, st transport.ServerTransport, | ||||
|  | ||||
| 	streamQuota := newHandlerQuota(s.opts.maxConcurrentStreams) | ||||
| 	st.HandleStreams(ctx, func(stream *transport.Stream) { | ||||
| 		s.handlersWG.Add(1) | ||||
| 		streamQuota.acquire() | ||||
| 		f := func() { | ||||
| 			defer streamQuota.release() | ||||
| 			defer s.handlersWG.Done() | ||||
| 			s.handleStream(st, stream) | ||||
| 		} | ||||
|  | ||||
| @@ -1911,6 +1924,10 @@ func (s *Server) stop(graceful bool) { | ||||
| 		s.serverWorkerChannelClose() | ||||
| 	} | ||||
|  | ||||
| 	if graceful || s.opts.waitForHandlers { | ||||
| 		s.handlersWG.Wait() | ||||
| 	} | ||||
|  | ||||
| 	if s.events != nil { | ||||
| 		s.events.Finish() | ||||
| 		s.events = nil | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/google.golang.org/grpc/stream.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/google.golang.org/grpc/stream.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -48,6 +48,8 @@ import ( | ||||
| 	"google.golang.org/grpc/status" | ||||
| ) | ||||
|  | ||||
| var metadataFromOutgoingContextRaw = internal.FromOutgoingContextRaw.(func(context.Context) (metadata.MD, [][]string, bool)) | ||||
|  | ||||
| // StreamHandler defines the handler called by gRPC server to complete the | ||||
| // execution of a streaming RPC. | ||||
| // | ||||
| @@ -184,7 +186,7 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth | ||||
| 	// when the RPC completes. | ||||
| 	opts = append([]CallOption{OnFinish(func(error) { cc.idlenessMgr.OnCallEnd() })}, opts...) | ||||
|  | ||||
| 	if md, added, ok := metadata.FromOutgoingContextRaw(ctx); ok { | ||||
| 	if md, added, ok := metadataFromOutgoingContextRaw(ctx); ok { | ||||
| 		// validate md | ||||
| 		if err := imetadata.Validate(md); err != nil { | ||||
| 			return nil, status.Error(codes.Internal, err.Error()) | ||||
|   | ||||
							
								
								
									
										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 | ||||
|  | ||||
| // Version is the current grpc version. | ||||
| const Version = "1.60.1" | ||||
| const Version = "1.61.0" | ||||
|   | ||||
							
								
								
									
										8
									
								
								vendor/google.golang.org/grpc/vet.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/google.golang.org/grpc/vet.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -88,7 +88,7 @@ not git grep -l 'x/net/context' -- "*.go" | ||||
| git grep -l '"math/rand"' -- "*.go" 2>&1 | not grep -v '^examples\|^interop/stress\|grpcrand\|^benchmark\|wrr_test' | ||||
|  | ||||
| # - Do not use "interface{}"; use "any" instead. | ||||
| git grep -l 'interface{}' -- "*.go" 2>&1 | not grep -v '\.pb\.go\|protoc-gen-go-grpc' | ||||
| git grep -l 'interface{}' -- "*.go" 2>&1 | not grep -v '\.pb\.go\|protoc-gen-go-grpc\|grpc_testing_not_regenerate' | ||||
|  | ||||
| # - Do not call grpclog directly. Use grpclog.Component instead. | ||||
| git grep -l -e 'grpclog.I' --or -e 'grpclog.W' --or -e 'grpclog.E' --or -e 'grpclog.F' --or -e 'grpclog.V' -- "*.go" | not grep -v '^grpclog/component.go\|^internal/grpctest/tlogger_test.go' | ||||
| @@ -127,7 +127,7 @@ staticcheck -go 1.19 -checks 'all' ./... > "${SC_OUT}" || true | ||||
| grep -v "(ST1000)" "${SC_OUT}" | grep -v "(SA1019)" | grep -v "(ST1003)" | not grep -v "(ST1019)\|\(other import of\)" | ||||
|  | ||||
| # Exclude underscore checks for generated code. | ||||
| grep "(ST1003)" "${SC_OUT}" | not grep -v '\(.pb.go:\)\|\(code_string_test.go:\)' | ||||
| grep "(ST1003)" "${SC_OUT}" | not grep -v '\(.pb.go:\)\|\(code_string_test.go:\)\|\(grpc_testing_not_regenerate\)' | ||||
|  | ||||
| # Error for duplicate imports not including grpc protos. | ||||
| grep "(ST1019)\|\(other import of\)" "${SC_OUT}" | not grep -Fv 'XXXXX PleaseIgnoreUnused | ||||
| @@ -152,6 +152,7 @@ grep "(SA1019)" "${SC_OUT}" | not grep -Fv 'XXXXX PleaseIgnoreUnused | ||||
| XXXXX Protobuf related deprecation errors: | ||||
| "github.com/golang/protobuf | ||||
| .pb.go: | ||||
| grpc_testing_not_regenerate | ||||
| : ptypes. | ||||
| proto.RegisterType | ||||
| XXXXX gRPC internal usage deprecation errors: | ||||
| @@ -184,9 +185,6 @@ GetSafeRegexMatch | ||||
| GetSuffixMatch | ||||
| GetTlsCertificateCertificateProviderInstance | ||||
| GetValidationContextCertificateProviderInstance | ||||
| XXXXX TODO: Remove the below deprecation usages: | ||||
| CloseNotifier | ||||
| Roots.Subjects | ||||
| XXXXX PleaseIgnoreUnused' | ||||
|  | ||||
| echo SUCCESS | ||||
|   | ||||
							
								
								
									
										6
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							| @@ -486,7 +486,7 @@ golang.org/x/net/internal/timeseries | ||||
| golang.org/x/net/proxy | ||||
| golang.org/x/net/trace | ||||
| golang.org/x/net/websocket | ||||
| # golang.org/x/oauth2 v0.13.0 | ||||
| # golang.org/x/oauth2 v0.14.0 | ||||
| ## explicit; go 1.18 | ||||
| golang.org/x/oauth2 | ||||
| golang.org/x/oauth2/internal | ||||
| @@ -545,7 +545,7 @@ google.golang.org/appengine/internal/log | ||||
| google.golang.org/appengine/internal/remote_api | ||||
| google.golang.org/appengine/internal/urlfetch | ||||
| google.golang.org/appengine/urlfetch | ||||
| # google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 | ||||
| # google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 | ||||
| ## explicit; go 1.19 | ||||
| google.golang.org/genproto/googleapis/api/httpbody | ||||
| # google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 | ||||
| @@ -553,7 +553,7 @@ google.golang.org/genproto/googleapis/api/httpbody | ||||
| google.golang.org/genproto/googleapis/rpc/code | ||||
| google.golang.org/genproto/googleapis/rpc/errdetails | ||||
| google.golang.org/genproto/googleapis/rpc/status | ||||
| # google.golang.org/grpc v1.60.1 | ||||
| # google.golang.org/grpc v1.61.0 | ||||
| ## explicit; go 1.19 | ||||
| google.golang.org/grpc | ||||
| google.golang.org/grpc/attributes | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	![49699333+dependabot[bot]@users.noreply.github.com](/assets/img/avatar_default.png) dependabot[bot]
					dependabot[bot]