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,
	c 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) Discovery

func (b *Balancer) Discovery() discovery.Client

func (*Balancer) Endpoint

func (b *Balancer) Endpoint() string

func (*Balancer) Invoke

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

func (*Balancer) Name

func (b *Balancer) Name() string

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))

func (*Balancer) Secure

func (b *Balancer) Secure() bool

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.38.1
Published
Sep 21, 2022
Platform
linux/amd64
Imports
22 packages
Last checked
4 minutes ago

Tools for package owners.