corerepo

package
v0.43.1 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2026 License: Apache-2.0, MIT, Apache-2.0, + 1 more Imports: 13 Imported by: 8

Documentation

Index

Constants

View Source
const NoLimit uint64 = math.MaxUint64

NoLimit represents the value for unlimited storage

Variables

View Source
var ErrMaxStorageExceeded = errors.New("maximum storage limit exceeded. Try to unpin some files")

Functions

func BestEffortRoots added in v0.4.3

func BestEffortRoots(n *core.IpfsNode) ([]cid.Cid, error)

BestEffortRoots returns the CIDs of the live MFS roots GC must keep: the node's FilesRoot plus any extra roots registered via IpfsNode.RegisterMFSRoot (for example the per-key roots of a writable /ipns FUSE mount). Extra roots are walked best-effort: one that cannot be read (e.g. because its mount is unmounting) is logged and skipped rather than failing the whole GC. FilesRoot is required.

func CollectResult added in v0.4.8

func CollectResult(ctx context.Context, gcOut <-chan gc.Result, cb func(cid.Cid)) error

CollectResult collects the output of a garbage collection run and calls the given callback for each object removed. It also collects all errors into a MultiError which is returned after the gc is completed.

func ConditionalGC added in v0.3.10

func ConditionalGC(ctx context.Context, node *core.IpfsNode, offset uint64) error

func GarbageCollect

func GarbageCollect(n *core.IpfsNode, ctx context.Context) error

func GarbageCollectAsync

func GarbageCollectAsync(n *core.IpfsNode, ctx context.Context) <-chan gc.Result

func PeriodicGC added in v0.3.10

func PeriodicGC(ctx context.Context, node *core.IpfsNode) error

Types

type GC added in v0.3.10

type GC struct {
	Node       *core.IpfsNode
	Repo       repo.Repo
	StorageMax uint64
	StorageGC  uint64
	SlackGB    uint64
	Storage    uint64
}

func NewGC added in v0.3.10

func NewGC(n *core.IpfsNode) (*GC, error)

type MultiError added in v0.4.8

type MultiError struct {
	Errors  []error
	Summary error
}

MultiError contains the results of multiple errors.

func NewMultiError added in v0.4.8

func NewMultiError(errs ...error) *MultiError

NewMultiError creates a new MultiError object from a given slice of errors.

func (*MultiError) Error added in v0.4.8

func (e *MultiError) Error() string

type SizeStat added in v0.4.17

type SizeStat struct {
	RepoSize   uint64 // size in bytes
	StorageMax uint64 // size in bytes
}

SizeStat wraps information about the repository size and its limit.

func RepoSize added in v0.4.17

func RepoSize(ctx context.Context, n *core.IpfsNode) (SizeStat, error)

RepoSize returns a *Stat object with the RepoSize and StorageMax fields set.

type Stat added in v0.4.0

type Stat struct {
	SizeStat
	NumObjects uint64
	RepoPath   string
	Version    string
}

Stat wraps information about the objects stored on disk.

func RepoStat added in v0.4.0

func RepoStat(ctx context.Context, n *core.IpfsNode) (Stat, error)

RepoStat returns a *Stat object with all the fields set.

Jump to

Keyboard shortcuts

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