audit

package
v0.28.1 Latest Latest
Warning

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

Go to latest
Published: May 5, 2022 License: GPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const ProcessorPoolSize = 1

ProcessorPoolSize limits pool size for audit Processor. Processor manages audit tasks and fills queue for next epoch. This process must not be interrupted by new audit epoch, so we limit pool size for processor to one.

Variables

View Source
var ErrInvalidIRNode = errors.New("node is not in the inner ring list")

Functions

func Select

func Select(ids []*cid.ID, epoch, index, size uint64) []*cid.ID

Types

type Indexer

type Indexer interface {
	InnerRingIndex() int
	InnerRingSize() int
}

Indexer is a callback interface for inner ring global state.

type Params

type Params struct {
	Log              *zap.Logger
	NetmapClient     *nmClient.Client
	ContainerClient  *cntClient.Client
	IRList           Indexer
	SGSource         SGSource
	RPCSearchTimeout time.Duration
	TaskManager      TaskManager
	Reporter         audit.Reporter
	Key              *ecdsa.PrivateKey
}

Params of the processor constructor.

type Processor

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

Processor of events related with data audit.

func New

func New(p *Params) (*Processor, error)

New creates audit processor instance.

func (*Processor) ListenerNotificationHandlers added in v0.25.0

func (ap *Processor) ListenerNotificationHandlers() []event.NotificationHandlerInfo

ListenerNotificationHandlers for the 'event.Listener' event producer.

func (*Processor) ListenerNotificationParsers added in v0.25.0

func (ap *Processor) ListenerNotificationParsers() []event.NotificationParserInfo

ListenerNotificationParsers for the 'event.Listener' event producer.

func (*Processor) StartAuditHandler

func (ap *Processor) StartAuditHandler() event.Handler

StartAuditHandler for the internal event producer.

func (*Processor) TimersHandlers

func (ap *Processor) TimersHandlers() []event.NotificationHandlerInfo

TimersHandlers for the 'Timers' event producer.

type SGSource added in v0.26.1

type SGSource interface {
	// Lists storage group objects in the container. Formed list must be written to destination.
	//
	// Must return any error encountered which did not allow to form the list.
	ListSG(*SearchSGDst, SearchSGPrm) error
}

SGSource is a storage group information source interface.

type SearchSGDst added in v0.26.1

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

SearchSGDst groups target values which Processor expects from SG searching to process.

func (*SearchSGDst) WriteIDList added in v0.26.1

func (x *SearchSGDst) WriteIDList(ids []oidSDK.ID)

WriteIDList writes list of identifiers of storage group objects stored in the container.

type SearchSGPrm added in v0.26.1

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

SearchSGPrm groups the parameters which are formed by Processor to search the storage group objects.

func (SearchSGPrm) CID added in v0.26.1

func (x SearchSGPrm) CID() *cid.ID

CID returns identifier of the container to search SG in.

func (SearchSGPrm) Context added in v0.26.1

func (x SearchSGPrm) Context() context.Context

Context returns context to use for network communication.

func (SearchSGPrm) NodeInfo added in v0.26.1

func (x SearchSGPrm) NodeInfo() client.NodeInfo

NodeInfo returns information about storage node to communicate with.

type Start

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

Start is a event to start new round of data audit.

func NewAuditStartEvent

func NewAuditStartEvent(epoch uint64) Start

func (Start) Epoch

func (a Start) Epoch() uint64

func (Start) MorphEvent

func (a Start) MorphEvent()

MorphEvent implements Event interface.

type TaskManager

type TaskManager interface {
	PushTask(*audit.Task) error

	// Must skip all tasks planned for execution and
	// return their number.
	Reset() int
}

Jump to

Keyboard shortcuts

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