Source File
weight.go
Belonging Package
google.golang.org/grpc/experimental/balancer/weight
/*** Copyright 2025 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 weight contains utilities to manage endpoint weights.// Weights may be used by LB policies to distribute load across// multiple endpoints.//// # Experimental//// Notice: All APIs in this package are EXPERIMENTAL and may be changed// or removed in a later release.package weightimport// attributeKey is the type used as the key to store EndpointInfo in the// Attributes field of resolver.Endpoint.type attributeKey struct{}// EndpointInfo will be stored in the Attributes field of Endpoints.type EndpointInfo struct {Weight uint32}// Equal allows the values to be compared by Attributes.Equal.func ( EndpointInfo) ( any) bool {, := .(EndpointInfo)return && .Weight == .Weight}// Set returns a copy of endpoint in which the Attributes field is// updated with EndpointInfo.func ( resolver.Endpoint, EndpointInfo) resolver.Endpoint {.Attributes = .Attributes.WithValue(attributeKey{}, )return}// FromEndpoint returns the EndpointInfo stored in the Attributes// field of an endpoint. It returns an empty EndpointInfo if attribute// is not found.func ( resolver.Endpoint) EndpointInfo {:= .Attributes.Value(attributeKey{}), := .(EndpointInfo)return}
The pages are generated with Golds v0.8.4. (GOOS=linux GOARCH=amd64)