package balancer

import "github.com/ydb-platform/ydb-go-sdk/v3/internal/balancer"

Index

Variables

var ErrNoEndpoints = xerrors.Wrap(fmt.Errorf("no endpoints"))

Functions

func WithEndpoint

func WithEndpoint(ctx context.Context, endpoint Endpoint) context.Context

Types

type Balancer

type Balancer struct {
	// contains filtered or unexported fields
}

func New

func New(
	ctx context.Context,
	driverConfig config.Config,
	pool *conn.Pool,
	opts ...discoveryConfig.Option,
) (b *Balancer, err error)

func (*Balancer) Close

func (b *Balancer) Close(ctx context.Context) (err error)

func (*Balancer) Invoke

func (b *Balancer) Invoke(
	ctx context.Context,
	method string,
	args interface{},
	reply interface{},
	opts ...grpc.CallOption,
) error

func (*Balancer) NewStream

func (b *Balancer) NewStream(
	ctx context.Context,
	desc *grpc.StreamDesc,
	method string,
	opts ...grpc.CallOption,
) (_ grpc.ClientStream, err error)

func (*Balancer) OnUpdate

func (b *Balancer) OnUpdate(onDiscovery func(ctx context.Context, endpoints []endpoint.Info))

type Endpoint

type Endpoint interface {
	NodeID() uint32
}

func ContextEndpoint

func ContextEndpoint(ctx context.Context) (e Endpoint, ok bool)

Source Files

balancer.go connections_state.go ctx.go local_dc.go

Directories

PathSynopsis
internal/balancer/config
Version
v3.42.8
Published
Feb 1, 2023
Platform
linux/amd64
Imports
23 packages
Last checked
4 minutes ago

Tools for package owners.