Documentation
¶
Overview ¶
Package corerepo provides pinning and garbage collection for local IPFS block services.
IPFS nodes will keep local copies of any object that have either been added or requested locally. Not all of these objects are worth preserving forever though, so the node adminstrator can pin objects they want to keep and unpin objects that they don't care about.
Garbage collection sweeps iterate through the local block store removing objects that aren't pinned, which frees storage space for new objects.
Index ¶
- Constants
- Variables
- func BestEffortRoots(filesRoot *mfs.Root) ([]*cid.Cid, error)
- func CollectResult(ctx context.Context, gcOut <-chan gc.Result, cb func(*cid.Cid)) error
- func ConditionalGC(ctx context.Context, node *core.IpfsNode, offset uint64) error
- func GarbageCollect(n *core.IpfsNode, ctx context.Context) error
- func GarbageCollectAsync(n *core.IpfsNode, ctx context.Context) <-chan gc.Result
- func PeriodicGC(ctx context.Context, node *core.IpfsNode) error
- func Pin(n *core.IpfsNode, ctx context.Context, paths []string, recursive bool) ([]*cid.Cid, error)
- func Unpin(n *core.IpfsNode, ctx context.Context, paths []string, recursive bool) ([]*cid.Cid, error)
- type GC
- type MultiError
- type Stat
Constants ¶
const NoLimit uint64 = math.MaxUint64
NoLimit represents the value for unlimited storage
Variables ¶
var ErrMaxStorageExceeded = errors.New("Maximum storage limit exceeded. Maybe unpin some files?")
Functions ¶
func BestEffortRoots ¶ added in v0.4.3
func BestEffortRoots(filesRoot *mfs.Root) ([]*cid.Cid, error)
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
}
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.