package ratelimiter

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

Index

Functions

func WithAcquire

func WithAcquire() options.AcquireOption

func WithOperationCancelAfter

func WithOperationCancelAfter(operationCancelAfter time.Duration) options.AcquireOption

func WithOperationTimeout

func WithOperationTimeout(operationTimeout time.Duration) options.AcquireOption

func WithReport

func WithReport() options.AcquireOption

Types

type AcquireError

type AcquireError interface {
	error

	Amount() uint64
	Unwrap() error
}

type Client

type Client interface {
	closer.Closer

	CreateResource(
		ctx context.Context,
		coordinationNodePath string,
		resource Resource,
	) (err error)
	AlterResource(
		ctx context.Context,
		coordinationNodePath string,
		resource Resource,
	) (err error)
	DropResource(
		ctx context.Context,
		coordinationNodePath string,
		resourcePath string,
	) (err error)
	ListResource(
		ctx context.Context,
		coordinationNodePath string,
		resourcePath string,
		recursive bool,
	) (_ []string, err error)
	DescribeResource(
		ctx context.Context,
		coordinationNodePath string,
		resourcePath string,
	) (_ *Resource, err error)
	AcquireResource(
		ctx context.Context,
		coordinationNodePath string,
		resourcePath string,
		amount uint64,
		opts ...options.AcquireOption,
	) (err error)
}

type HierarchicalDrrSettings

type HierarchicalDrrSettings struct {
	MaxUnitsPerSecond       float64
	MaxBurstSizeCoefficient float64
	PrefetchCoefficient     float64
	PrefetchWatermark       float64
}

type Resource

type Resource struct {
	ResourcePath    string
	HierarchicalDrr HierarchicalDrrSettings
}

Source Files

client.go errors.go resource.go

Directories

PathSynopsis
ratelimiter/config
Version
v3.20.0
Published
Apr 11, 2022
Platform
linux/amd64
Imports
4 packages
Last checked
29 minutes ago

Tools for package owners.