policer

package
v0.0.0-...-0ba0ddf Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2024 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Network

type Network interface {
	// IsLocalNodeInNetmap checks whether the local node belongs to the current
	// network map. If it is impossible to check this fact, IsLocalNodeInNetmap
	// returns false.
	IsLocalNodeInNetmap() bool
}

Network provides information about the NeoFS network to Policer for work.

type Option

type Option func(*cfg)

Option is an option for Policer constructor.

func WithContainerSource

func WithContainerSource(v container.Source) Option

WithContainerSource returns option to set container source of Policer.

func WithHeadTimeout

func WithHeadTimeout(v time.Duration) Option

WithHeadTimeout returns option to set Head timeout of Policer.

func WithLocalStorage

func WithLocalStorage(v *engine.StorageEngine) Option

WithLocalStorage returns option to set local object storage of Policer.

func WithLogger

func WithLogger(v *zap.Logger) Option

WithLogger returns option to set Logger of Policer.

func WithMaxCapacity

func WithMaxCapacity(capacity uint32) Option

WithMaxCapacity returns option to set max capacity that can be set to the pool.

func WithNetmapKeys

func WithNetmapKeys(v netmap.AnnouncedKeys) Option

WithNetmapKeys returns option to set tool to work with announced public keys.

func WithNetwork

func WithNetwork(n Network) Option

WithNetwork provides Network component.

func WithNodeLoader

func WithNodeLoader(l nodeLoader) Option

WithNodeLoader returns option to set NeoFS node load source.

func WithObjectBatchSize

func WithObjectBatchSize(s uint32) Option

WithObjectBatchSize returns option to set maximum objects read from the Storage at once.

func WithPlacementBuilder

func WithPlacementBuilder(v placement.Builder) Option

WithPlacementBuilder returns option to set object placement builder of Policer.

func WithPool

func WithPool(p *ants.Pool) Option

WithPool returns option to set pool for policy and replication operations.

func WithRedundantCopyCallback

func WithRedundantCopyCallback(cb RedundantCopyCallback) Option

WithRedundantCopyCallback returns option to set callback to pass redundant local object copies detected by Policer.

func WithRemoteHeader

func WithRemoteHeader(v *headsvc.RemoteHeader) Option

WithRemoteHeader returns option to set object header receiver of Policer.

func WithReplicationCooldown

func WithReplicationCooldown(d time.Duration) Option

WithReplicationCooldown returns option to set replication cooldown: the Policer will not submit more than one task per a provided time duration.

func WithReplicator

func WithReplicator(v *replicator.Replicator) Option

WithReplicator returns option to set object replicator of Policer.

type Policer

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

Policer represents the utility that verifies compliance with the object storage policy.

func New

func New(opts ...Option) *Policer

New creates, initializes and returns Policer instance.

func (*Policer) Reload

func (p *Policer) Reload(opts ...Option)

Reload allows runtime reconfiguration for the following parameters: - WithHeadTimeout; - [WithObjectCacheTime]; - WithReplicationCooldown; - WithMaxCapacity; - WithObjectBatchSize; - [WithObjectCacheSize].

func (*Policer) Run

func (p *Policer) Run(ctx context.Context)

type RedundantCopyCallback

type RedundantCopyCallback func(oid.Address)

RedundantCopyCallback is a callback to pass the redundant local copy of the object.

Jump to

Keyboard shortcuts

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