package balancer

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

Index

Types

type Balancer

type Balancer interface {
	// Next returns next connection for request.
	// Next MUST not return nil if it has at least one connection.
	Next() conn.Conn

	// Insert inserts new connection.
	Insert(conn.Conn) Element

	// Remove removes previously inserted connection.
	Remove(Element) bool

	// Contains returns true if Balancer contains requested element.
	Contains(Element) bool

	// Create makes empty balancer with same implementation
	Create() Balancer
}

Balancer is an interface that implements particular load-balancing algorithm.

Balancer methods called synchronized. That is, implementations must not provide additional goroutine safety.

type Element

type Element interface{}

Element is an empty interface that holds some Balancer specific data.

Source Files

balancer.go

Directories

PathSynopsis
internal/balancer/list
internal/balancer/multi
internal/balancer/rr
internal/balancer/single
internal/balancer/stub
internal/balancer/test
Version
v3.20.1
Published
Apr 12, 2022
Platform
linux/amd64
Imports
1 packages
Last checked
4 minutes ago

Tools for package owners.