nodestorage

package
v0.3.26 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

Variables

View Source
var (
	ErrUnknownSpaceId = errors.New("unknown space id")
	ErrNoLastRecordId = errors.New("no last record id")
)
View Source
var (
	ErrLocked         = errors.New("space storage locked")
	ErrSpaceIdIsEmpty = errors.New("space id is empty")
)

Functions

This section is empty.

Types

type Config

type Config struct {
	Path string `yaml:"path"`
}

type DeletionStorage added in v0.3.1

type DeletionStorage interface {
	SpaceStatus(spaceId string) (status SpaceStatus, err error)
	SetSpaceStatus(spaceId string, status SpaceStatus) (err error)
	LastRecordId() (id string, err error)
	SetLastRecordId(id string) (err error)
	Close() (err error)
}

func OpenDeletionStorage added in v0.3.1

func OpenDeletionStorage(rootPath string) (ds DeletionStorage, err error)

type NodeStorage

type NodeStorage interface {
	spacestorage.SpaceStorageProvider
	DeletionStorage() DeletionStorage
	SpaceStorage(spaceId string) (spacestorage.SpaceStorage, error)
	TryLockAndDo(spaceId string, do func() error) (err error)
	AllSpaceIds() (ids []string, err error)
	OnDeleteStorage(onDelete func(ctx context.Context, spaceId string))
	OnWriteHash(onWrite func(ctx context.Context, spaceId, hash string))
	OnWriteOldHash(onWrite func(ctx context.Context, spaceId, hash string))
	StoreDir(spaceId string) (path string)
	DeleteSpaceStorage(ctx context.Context, spaceId string) error
}

func New

func New() NodeStorage

type SpaceStatus added in v0.3.1

type SpaceStatus int
const (
	SpaceStatusOk SpaceStatus = iota
	SpaceStatusRemove
)

Directories

Path Synopsis
Code generated by MockGen.
Code generated by MockGen.

Jump to

Keyboard shortcuts

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