290c006a10
* add monkit stat new_remote_segments_needing_repair, which reports the number of new unhealthy segments in the repair queue since the previous checker iteration Change-Id: I2f10266006fdd6406ece50f4759b91382059dcc3
28 lines
902 B
Go
28 lines
902 B
Go
// Copyright (C) 2019 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package queue
|
|
|
|
import (
|
|
"context"
|
|
|
|
"storj.io/common/pb"
|
|
)
|
|
|
|
// RepairQueue implements queueing for segments that need repairing.
|
|
// Implementation can be found at satellite/satellitedb/repairqueue.go.
|
|
//
|
|
// architecture: Database
|
|
type RepairQueue interface {
|
|
// Insert adds an injured segment.
|
|
Insert(ctx context.Context, s *pb.InjuredSegment, numHealthy int) (alreadyInserted bool, err error)
|
|
// Select gets an injured segment.
|
|
Select(ctx context.Context) (*pb.InjuredSegment, error)
|
|
// Delete removes an injured segment.
|
|
Delete(ctx context.Context, s *pb.InjuredSegment) error
|
|
// SelectN lists limit amount of injured segments.
|
|
SelectN(ctx context.Context, limit int) ([]pb.InjuredSegment, error)
|
|
// Count counts the number of segments in the repair queue.
|
|
Count(ctx context.Context) (count int, err error)
|
|
}
|