...

Package stub

import "google.golang.org/grpc/internal/balancer/stub"
Overview
Index

Overview ▾

Package stub implements a balancer for testing purposes.

func Register

func Register(name string, bf BalancerFuncs)

Register registers a stub balancer builder which will call the provided functions. The name used should be unique.

type BalancerData

BalancerData contains data relevant to a stub balancer.

type BalancerData struct {
    // ClientConn is set by the builder.
    ClientConn balancer.ClientConn
    // BuildOptions is set by the builder.
    BuildOptions balancer.BuildOptions
    // Data may be used to store arbitrary user data.
    Data any
}

type BalancerFuncs

BalancerFuncs contains all balancer.Balancer functions with a preceding *BalancerData parameter for passing additional instance information. Any nil functions will never be called.

type BalancerFuncs struct {
    // Init is called after ClientConn and BuildOptions are set in
    // BalancerData.  It may be used to initialize BalancerData.Data.
    Init func(*BalancerData)
    // ParseConfig is used for parsing LB configs, if specified.
    ParseConfig func(json.RawMessage) (serviceconfig.LoadBalancingConfig, error)

    UpdateClientConnState func(*BalancerData, balancer.ClientConnState) error
    ResolverError         func(*BalancerData, error)
    Close                 func(*BalancerData)
    ExitIdle              func(*BalancerData)
}