cache

package
v0.47.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2025 License: GPL-3.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientCache

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

ClientCache is a structure around frostfs-sdk-go/client to reuse already created clients.

func NewSDKClientCache

func NewSDKClientCache(opts ClientCacheOpts) *ClientCache

NewSDKClientCache creates instance of client cache. `opts` are used for new client creation.

func (*ClientCache) CloseAll

func (c *ClientCache) CloseAll()

CloseAll closes underlying connections of all cached clients.

Ignores closing errors.

func (*ClientCache) Get

Get function returns existing client or creates a new one.

type ClientCacheOpts

type ClientCacheOpts struct {
	DialTimeout          time.Duration
	StreamTimeout        time.Duration
	MinReconnectInterval time.Duration
	MaxReconnectInterval time.Duration
	ReconnectIntervalInc time.Duration
	ClientWaitTimeout    time.Duration
	Key                  *ecdsa.PrivateKey
	ResponseCallback     func(client.ResponseMetaInfo) error
	AllowExternal        bool
	DialerSource         *net.DialerSource
	RetryPolicy          *RetryPolicy
	RetryThrottling      *RetryThrottling
}

type RetryPolicy added in v0.46.9

type RetryPolicy struct {
	MaxAttempts       uint64
	InitialBackoff    time.Duration
	MaxBackoff        time.Duration
	BackoffMultiplier float64
}

type RetryThrottling added in v0.46.9

type RetryThrottling struct {
	MaxTokens  int64
	TokenRatio int64
	TokenDec   int64
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL