Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions balancer/endpointsharding/endpointsharding.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*/

// Package endpointsharding implements a load balancing policy that manages
// homogenous child policies each owning a single endpoint.
// homogeneous child policies each owning a single endpoint.
//
// # Experimental
//
Expand Down Expand Up @@ -48,7 +48,7 @@ type ChildState struct {
State balancer.State
}

// NewBalancer returns a load balancing policy that manages homogenous child
// NewBalancer returns a load balancing policy that manages homogeneous child
// policies each owning a single endpoint.
func NewBalancer(cc balancer.ClientConn, opts balancer.BuildOptions) balancer.Balancer {
es := &endpointSharding{
Expand Down
2 changes: 1 addition & 1 deletion balancer/rls/picker_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ import (
// TestNoNonEmptyTargetsReturnsError tests the case where the RLS Server returns
// a response with no non empty targets. This should be treated as an Control
// Plane RPC failure, and thus fail Data Plane RPC's with an error with the
// appropriate information specfying data plane sent a response with no non
// appropriate information specifying data plane sent a response with no non
// empty targets.
func (s) TestNoNonEmptyTargetsReturnsError(t *testing.T) {
// Setup RLS Server to return a response with an empty target string.
Expand Down
2 changes: 1 addition & 1 deletion balancer/weightedroundrobin/balancer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -693,7 +693,7 @@ type srvWeight struct {
const rrIterations = 100

// checkWeights does rrIterations RPCs and expects the different backends to be
// routed in a ratio as deterimined by the srvWeights passed in. Allows for
// routed in a ratio as determined by the srvWeights passed in. Allows for
// some variance (+/- 2 RPCs per backend).
func checkWeights(ctx context.Context, t *testing.T, sws ...srvWeight) {
t.Helper()
Expand Down
2 changes: 1 addition & 1 deletion clientconn.go
Original file line number Diff line number Diff line change
Expand Up @@ -1751,7 +1751,7 @@ func encodeAuthority(authority string) string {
return false
case '!', '$', '&', '\'', '(', ')', '*', '+', ',', ';', '=': // Subdelim characters
return false
case ':', '[', ']', '@': // Authority related delimeters
case ':', '[', ']', '@': // Authority related delimiters
return false
}
// Everything else must be escaped.
Expand Down
2 changes: 1 addition & 1 deletion credentials/credentials.go
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ func ClientHandshakeInfoFromContext(ctx context.Context) ClientHandshakeInfo {
}

// CheckSecurityLevel checks if a connection's security level is greater than or equal to the specified one.
// It returns success if 1) the condition is satisified or 2) AuthInfo struct does not implement GetCommonAuthInfo() method
// It returns success if 1) the condition is satisfied or 2) AuthInfo struct does not implement GetCommonAuthInfo() method
// or 3) CommonAuthInfo.SecurityLevel has an invalid zero value. For 2) and 3), it is for the purpose of backward-compatibility.
//
// This API is experimental.
Expand Down
2 changes: 1 addition & 1 deletion credentials/local/local.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

// Package local implements local transport credentials.
// Local credentials reports the security level based on the type
// of connetion. If the connection is local TCP, NoSecurity will be
// of connection. If the connection is local TCP, NoSecurity will be
// reported, and if the connection is UDS, PrivacyAndIntegrity will be
// reported. If local credentials is not used in local connections
// (local TCP or UDS), it will fail.
Expand Down
2 changes: 1 addition & 1 deletion gcp/observability/logging_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1161,7 +1161,7 @@ func (s) TestMetadataTruncationAccountsKey(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout)
defer cancel()

// the set config MaxMetdataBytes is in between len(mdValue) and len("key")
// the set config MaxMetadataBytes is in between len(mdValue) and len("key")
// + len(mdValue), and thus shouldn't log this metadata entry.
md := metadata.MD{
"key": []string{mdValue},
Expand Down
2 changes: 1 addition & 1 deletion gcp/observability/opencensus.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func newStackdriverExporter(config *config) (tracingMetricsExporter, error) {
mr := monitoredresource.Autodetect()
logger.Infof("Detected MonitoredResource:: %+v", mr)
var err error
// Custom labels completly overwrite any labels generated in the OpenCensus
// Custom labels completely overwrite any labels generated in the OpenCensus
// library, including their label that uniquely identifies the process.
// Thus, generate a unique process identifier here to uniquely identify
// process for metrics exporting to function correctly.
Expand Down
2 changes: 1 addition & 1 deletion internal/balancer/gracefulswitch/gracefulswitch_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,7 @@ func (s) TestBalancerClose(t *testing.T) {
BalancerConfig: mockBalancerConfig{},
}
if err := gsb.UpdateClientConnState(ccs); err != errBalancerClosed {
t.Fatalf("gsb.UpdateCLientConnState(%v) returned error %v, want %v", ccs, err, errBalancerClosed)
t.Fatalf("gsb.UpdateClientConnState(%v) returned error %v, want %v", ccs, err, errBalancerClosed)
}

// After the graceful switch load balancer has been closed, any resolver error
Expand Down
4 changes: 2 additions & 2 deletions internal/balancergroup/balancergroup_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ func (s) TestBalancerGroup_locality_caching(t *testing.T) {
}

// Sub-balancers are put in cache when they are shut down. If balancer group is
// closed within close timeout, all subconns should still be rmeoved
// closed within close timeout, all subconns should still be removed
// immediately.
func (s) TestBalancerGroup_locality_caching_close_group(t *testing.T) {
_, bg, cc, addrToSC := initBalancerGroupForCachingTest(t, defaultTestTimeout)
Expand Down Expand Up @@ -388,7 +388,7 @@ func (s) TestBalancerGroup_locality_caching_readd_with_different_builder(t *test
gator, bg, cc, addrToSC := initBalancerGroupForCachingTest(t, defaultTestTimeout)

// Re-add sub-balancer-1, but with a different balancer builder. The
// sub-balancer was still in cache, but cann't be reused. This should cause
// sub-balancer was still in cache, but can't be reused. This should cause
// old sub-balancer's subconns to be shut down immediately, and new
// subconns to be created.
gator.Add(testBalancerIDs[1], 1)
Expand Down
6 changes: 3 additions & 3 deletions internal/binarylog/method_logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ type TruncatingMethodLogger struct {
callID uint64
idWithinCallGen *callIDGenerator

sink Sink // TODO(blog): make this plugable.
sink Sink // TODO(blog): make this pluggable.
}

// NewTruncatingMethodLogger returns a new truncating method logger.
Expand All @@ -80,7 +80,7 @@ func NewTruncatingMethodLogger(h, m uint64) *TruncatingMethodLogger {
callID: idGen.next(),
idWithinCallGen: &callIDGenerator{},

sink: DefaultSink, // TODO(blog): make it plugable.
sink: DefaultSink, // TODO(blog): make it pluggable.
}
}

Expand Down Expand Up @@ -397,7 +397,7 @@ func metadataKeyOmit(key string) bool {
switch key {
case "lb-token", ":path", ":authority", "content-encoding", "content-type", "user-agent", "te":
return true
case "grpc-trace-bin": // grpc-trace-bin is special because it's visiable to users.
case "grpc-trace-bin": // grpc-trace-bin is special because it's visible to users.
return false
}
return strings.HasPrefix(key, "grpc-")
Expand Down
10 changes: 5 additions & 5 deletions internal/channelz/syscall_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,16 +58,16 @@ func (s) TestGetSocketOpt(t *testing.T) {
}

l := &unix.Linger{Onoff: 1, Linger: 5}
recvTimout := &unix.Timeval{Sec: 100}
recvTimeout := &unix.Timeval{Sec: 100}
sendTimeout := &unix.Timeval{Sec: 8888}
raw.Control(func(fd uintptr) {
err := unix.SetsockoptLinger(int(fd), syscall.SOL_SOCKET, syscall.SO_LINGER, l)
if err != nil {
t.Fatalf("failed to SetsockoptLinger(%v,%v,%v,%v) due to %v", int(fd), syscall.SOL_SOCKET, syscall.SO_LINGER, l, err)
}
err = unix.SetsockoptTimeval(int(fd), syscall.SOL_SOCKET, syscall.SO_RCVTIMEO, recvTimout)
err = unix.SetsockoptTimeval(int(fd), syscall.SOL_SOCKET, syscall.SO_RCVTIMEO, recvTimeout)
if err != nil {
t.Fatalf("failed to SetsockoptTimeval(%v,%v,%v,%v) due to %v", int(fd), syscall.SOL_SOCKET, syscall.SO_RCVTIMEO, recvTimout, err)
t.Fatalf("failed to SetsockoptTimeval(%v,%v,%v,%v) due to %v", int(fd), syscall.SOL_SOCKET, syscall.SO_RCVTIMEO, recvTimeout, err)
}
err = unix.SetsockoptTimeval(int(fd), syscall.SOL_SOCKET, syscall.SO_SNDTIMEO, sendTimeout)
if err != nil {
Expand All @@ -78,8 +78,8 @@ func (s) TestGetSocketOpt(t *testing.T) {
if !reflect.DeepEqual(sktopt.Linger, l) {
t.Fatalf("get socket option linger, want: %v, got %v", l, sktopt.Linger)
}
if !reflect.DeepEqual(sktopt.RecvTimeout, recvTimout) {
t.Logf("get socket option recv timeout, want: %v, got %v, may be caused by system allowing non or partial setting of this value", recvTimout, sktopt.RecvTimeout)
if !reflect.DeepEqual(sktopt.RecvTimeout, recvTimeout) {
t.Logf("get socket option recv timeout, want: %v, got %v, may be caused by system allowing non or partial setting of this value", recvTimeout, sktopt.RecvTimeout)
}
if !reflect.DeepEqual(sktopt.SendTimeout, sendTimeout) {
t.Logf("get socket option send timeout, want: %v, got %v, may be caused by system allowing non or partial setting of this value", sendTimeout, sktopt.SendTimeout)
Expand Down
2 changes: 1 addition & 1 deletion internal/grpcsync/callback_serializer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ func (s) TestCallbackSerializer_Schedule_Close(t *testing.T) {
t.Fatal("Scheduled a callback after closing the serializer")
}

// Ensure that the lates callback is executed at this point.
// Ensure that the latest callback is executed at this point.
select {
case <-time.After(defaultTestShortTimeout):
case <-done:
Expand Down
2 changes: 1 addition & 1 deletion internal/resolver/dns/internal/internal.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import (

// NetResolver groups the methods on net.Resolver that are used by the DNS
// resolver implementation. This allows the default net.Resolver instance to be
// overidden from tests.
// overridden from tests.
type NetResolver interface {
LookupHost(ctx context.Context, host string) (addrs []string, err error)
LookupSRV(ctx context.Context, service, proto, name string) (cname string, addrs []*net.SRV, err error)
Expand Down
2 changes: 1 addition & 1 deletion internal/testutils/resolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ type Logger interface {
Errorf(format string, args ...any)
}

// ResolverClientConn is a fake implemetation of the resolver.ClientConn
// ResolverClientConn is a fake implementation of the resolver.ClientConn
// interface to be used in tests.
type ResolverClientConn struct {
resolver.ClientConn // Embedding the interface to avoid implementing deprecated methods.
Expand Down
2 changes: 1 addition & 1 deletion internal/transport/handler_server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ func (s) TestHandlerTransport_NewServerHandlerTransport(t *testing.T) {
}

if !reflect.DeepEqual(ht.headerMD, want) {
return fmt.Errorf("metdata = %#v; want %#v", ht.headerMD, want)
return fmt.Errorf("metadata = %#v; want %#v", ht.headerMD, want)
}
return nil
},
Expand Down
2 changes: 1 addition & 1 deletion internal/transport/transport.go
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ func (s *Stream) isHeaderSent() bool {
}

// updateHeaderSent updates headerSent and returns true
// if it was alreay set. It is valid only on server-side.
// if it was already set. It is valid only on server-side.
func (s *Stream) updateHeaderSent() bool {
return atomic.SwapUint32(&s.headerSent, 1) == 1
}
Expand Down
2 changes: 1 addition & 1 deletion internal/transport/transport_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2160,7 +2160,7 @@ func (s) TestWriteHeaderConnectionError(t *testing.T) {
t.Fatalf("Server has %d connections from the client, want 1", len(server.conns))
}

// Get the server transport for the connecton to the client.
// Get the server transport for the connection to the client.
var serverTransport *http2Server
for k := range server.conns {
serverTransport = k.(*http2Server)
Expand Down
8 changes: 4 additions & 4 deletions service_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ func parseServiceConfig(js string) *serviceconfig.ParseResult {
var rsc jsonSC
err := json.Unmarshal([]byte(js), &rsc)
if err != nil {
logger.Warningf("grpc: unmarshaling service config %s: %v", js, err)
logger.Warningf("grpc: unmarshalling service config %s: %v", js, err)
return &serviceconfig.ParseResult{Err: err}
}
sc := ServiceConfig{
Expand Down Expand Up @@ -219,7 +219,7 @@ func parseServiceConfig(js string) *serviceconfig.ParseResult {
Timeout: (*time.Duration)(m.Timeout),
}
if mc.RetryPolicy, err = convertRetryPolicy(m.RetryPolicy); err != nil {
logger.Warningf("grpc: unmarshaling service config %s: %v", js, err)
logger.Warningf("grpc: unmarshalling service config %s: %v", js, err)
return &serviceconfig.ParseResult{Err: err}
}
if m.MaxRequestMessageBytes != nil {
Expand All @@ -239,13 +239,13 @@ func parseServiceConfig(js string) *serviceconfig.ParseResult {
for i, n := range *m.Name {
path, err := n.generatePath()
if err != nil {
logger.Warningf("grpc: error unmarshaling service config %s due to methodConfig[%d]: %v", js, i, err)
logger.Warningf("grpc: error unmarshalling service config %s due to methodConfig[%d]: %v", js, i, err)
return &serviceconfig.ParseResult{Err: err}
}

if _, ok := paths[path]; ok {
err = errDuplicatedName
logger.Warningf("grpc: error unmarshaling service config %s due to methodConfig[%d]: %v", js, i, err)
logger.Warningf("grpc: error unmarshalling service config %s due to methodConfig[%d]: %v", js, i, err)
return &serviceconfig.ParseResult{Err: err}
}
paths[path] = struct{}{}
Expand Down
6 changes: 3 additions & 3 deletions stats/opencensus/e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ func (vi *viewInformation) Equal(vi2 *viewInformation) bool {
}

// distributionDataLatencyCount checks if the view information contains the
// desired distrubtion latency total count that falls in buckets of 5 seconds or
// desired distribution latency total count that falls in buckets of 5 seconds or
// less. This must be called with non nil view information that is aggregated
// with distribution data. Returns a nil error if correct count information
// found, non nil error if correct information not found.
Expand Down Expand Up @@ -351,7 +351,7 @@ func (s) TestAllMetricsOneFunction(t *testing.T) {
wantMetrics := []struct {
metric *view.View
wantVI *viewInformation
wantTags [][]tag.Tag // for non determinstic (i.e. latency) metrics. First dimension represents rows.
wantTags [][]tag.Tag // for non deterministic (i.e. latency) metrics. First dimension represents rows.
}{
{
metric: ClientStartedRPCsView,
Expand Down Expand Up @@ -1113,7 +1113,7 @@ func (s) TestOpenCensusTags(t *testing.T) {
readerErrCh.Send(fmt.Errorf("no key: %v present in OpenCensus tag map", keyServerMethod.Name()))
}
if val != unaryCallMethodName {
readerErrCh.Send(fmt.Errorf("serverMethod receieved: %v, want server method: %v", val, unaryCallMethodName))
readerErrCh.Send(fmt.Errorf("serverMethod received: %v, want server method: %v", val, unaryCallMethodName))
}
} else {
readerErrCh.Send(fmt.Errorf("error while waiting for a tag map: %v", err))
Expand Down
8 changes: 4 additions & 4 deletions stats/stats_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,7 @@ func checkInPayload(t *testing.T, d *gotData, e *expectedData) {
t.Fatalf("st.Data = %v, want %v", st.Data, b)
}
if st.Length != len(b) {
t.Fatalf("st.Lenght = %v, want %v", st.Length, len(b))
t.Fatalf("st.Length = %v, want %v", st.Length, len(b))
}
} else {
b, err := proto.Marshal(e.requests[e.reqIdx])
Expand All @@ -566,7 +566,7 @@ func checkInPayload(t *testing.T, d *gotData, e *expectedData) {
t.Fatalf("st.Data = %v, want %v", st.Data, b)
}
if st.Length != len(b) {
t.Fatalf("st.Lenght = %v, want %v", st.Length, len(b))
t.Fatalf("st.Length = %v, want %v", st.Length, len(b))
}
}
// Below are sanity checks that WireLength and RecvTime are populated.
Expand Down Expand Up @@ -670,7 +670,7 @@ func checkOutPayload(t *testing.T, d *gotData, e *expectedData) {
t.Fatalf("st.Data = %v, want %v", st.Data, b)
}
if st.Length != len(b) {
t.Fatalf("st.Lenght = %v, want %v", st.Length, len(b))
t.Fatalf("st.Length = %v, want %v", st.Length, len(b))
}
} else {
b, err := proto.Marshal(e.responses[e.respIdx])
Expand All @@ -685,7 +685,7 @@ func checkOutPayload(t *testing.T, d *gotData, e *expectedData) {
t.Fatalf("st.Data = %v, want %v", st.Data, b)
}
if st.Length != len(b) {
t.Fatalf("st.Lenght = %v, want %v", st.Length, len(b))
t.Fatalf("st.Length = %v, want %v", st.Length, len(b))
}
}
// Below are sanity checks that WireLength and SentTime are populated.
Expand Down
2 changes: 1 addition & 1 deletion test/xds/xds_client_federation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ func (s) TestClientSideFederationWithOnlyXDSTPStyleLDS(t *testing.T) {
return []*v3listenerpb.Listener{e2e.DefaultClientListener(ldsName, rdsName)}
}(),
Routes: func() []*v3routepb.RouteConfiguration {
// RouteConfiguration will has one entry in []VirutalHosts that contains the
// RouteConfiguration will has one entry in []VirtualHosts that contains the
// "fully" escaped service name in []Domains. This is to assert that gRPC
// uses the escaped service name to lookup VirtualHosts. RDS is also with
// old style name.
Expand Down
2 changes: 1 addition & 1 deletion test/xds/xds_server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ func (s) TestServingModeChanges(t *testing.T) {
// doesn't get matched, and the Default Filter Chain pointing to RDS B does get
// matched. RDS B is of the wrong route type for server side, so RPC's are
// expected to eventually fail with that information. However, any RPC's on the
// old configration should be allowed to complete due to the transition being
// old configuration should be allowed to complete due to the transition being
// graceful stop.After, it receives an LDS specifying RDS A (which incoming
// RPC's will match to). This configuration should eventually be represented in
// the Server's state, and RPCs should proceed successfully.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -584,7 +584,7 @@ func (s) TestAggregatedClusterSuccess_DiamondDependency(t *testing.T) {
// C]; B->[C, D]). Verifies that the load balancing configuration pushed to the
// cluster_resolver LB policy does not contain duplicates, and that the
// discovery mechanism corresponding to cluster C is of higher priority than the
// discovery mechanism for cluser D. Also verifies that the configuration is
// discovery mechanism for cluster D. Also verifies that the configuration is
// pushed only after all child clusters are resolved.
func (s) TestAggregatedClusterSuccess_IgnoreDups(t *testing.T) {
lbCfgCh, _, _, _ := registerWrappedClusterResolverPolicy(t)
Expand Down
2 changes: 1 addition & 1 deletion xds/internal/balancer/cdsbalancer/cdsbalancer.go
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ type cdsBalancer struct {

// handleSecurityConfig processes the security configuration received from the
// management server, creates appropriate certificate provider plugins, and
// updates the HandhakeInfo which is added as an address attribute in
// updates the HandshakeInfo which is added as an address attribute in
// NewSubConn() calls.
//
// Only executed in the context of a serializer callback.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ func (s) TestNoSecurityConfigWithXDSCreds(t *testing.T) {
t.Fatalf("NewSubConn got handshake info %+v, want %+v", gotHI, wantHI)
}
if !gotHI.UseFallbackCreds() {
t.Fatal("NewSubConn got hanshake info that does not specify the use of fallback creds")
t.Fatal("NewSubConn got handshake info that does not specify the use of fallback creds")
}
}

Expand Down
2 changes: 1 addition & 1 deletion xds/internal/balancer/clusterresolver/clusterresolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ func (bb) ParseConfig(j json.RawMessage) (serviceconfig.LoadBalancingConfig, err
// double validation is present because Unmarshalling and Validating are
// coupled into one json.Unmarshal operation). We will switch this in
// the future to two separate operations.
return nil, fmt.Errorf("error unmarshaling xDS LB Policy: %v", err)
return nil, fmt.Errorf("error unmarshalling xDS LB Policy: %v", err)
}
return cfg, nil
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ func (s) TestErrorFromParentLB_ResourceNotFound(t *testing.T) {
t.Fatalf("EmptyCall() failed: %v", err)
}

// Delete the cluster resource from the mangement server.
// Delete the cluster resource from the management server.
resources.Clusters = nil
if err := managementServer.Update(ctx, resources); err != nil {
t.Fatal(err)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -629,7 +629,7 @@ func (s) TestEDS_ResourceRemoved(t *testing.T) {
t.Fatalf("EmptyCall() failed: %v", err)
}

// Delete the endpoints resource from the mangement server.
// Delete the endpoints resource from the management server.
resources.Endpoints = nil
if err := managementServer.Update(ctx, resources); err != nil {
t.Fatal(err)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ type dnsDiscoveryMechanism struct {
// propagated to the child policy which eventually move the channel to
// transient failure.
//
// The `dnsR` field is unset if we run into erros in this function. Therefore, a
// The `dnsR` field is unset if we run into errors in this function. Therefore, a
// nil check is required wherever we access that field.
func newDNSResolver(target string, topLevelResolver topLevelResolver, logger *grpclog.PrefixLogger) *dnsDiscoveryMechanism {
ret := &dnsDiscoveryMechanism{
Expand Down
Loading